On Thu, 29 Oct 2020 04:27:37 +0200 Vladimir Oltean wrote: > + mc = devm_kzalloc(ocelot->dev, sizeof(*mc), GFP_KERNEL); > + if (!mc) > + return -ENOMEM; > + > + mc->entry_type = ocelot_classify_mdb(mdb->addr); > + ether_addr_copy(mc->addr, mdb->addr); > + mc->vid = vid; > + > + pgid = ocelot_mdb_get_pgid(ocelot, mc); > > if (pgid < 0) { > dev_err(ocelot->dev, > @@ -1038,24 +1044,19 @@ int ocelot_port_mdb_add(struct ocelot *ocelot, int > port, > return -ENOSPC; > }
Transitionally leaking mc here on pgid < 0