On 15/01/2021 13:05:47+0200, Vladimir Oltean wrote:
quoted
-static void ocelot_set_aggr_pgids(struct ocelot *ocelot)
+static int ocelot_set_aggr_pgids(struct ocelot *ocelot)
{
+ struct net_device **bonds;
int i, port, lag;
+ bonds = kcalloc(ocelot->num_phys_ports, sizeof(struct net_device *),
+ GFP_KERNEL);
+ if (!bonds)
+ return -ENOMEM;
+
I remember somebody complaining about the temporary memory allocation
done here, but I can't seem to find that email for some reason.
Is it ok if I still keep the dynamic allocation there, though? Felix has
up to 5 user ports, Seville has up to 9, Ocelot up to 11. I would like
to not hardcode anything, in case (who knows!) more switches get added.
I was probably the one, the main reason being that this make this
function able to fail. Removing the dynamic allocation would ensure it
never fails. However, I didn't suggest any other solution so I'm fine if
you keep it.
--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com