From: Antonio Quartulli antonio@open-mesh.com
Introduced by e4ff5c153dab054a6cd1c4132f87bc5e77127456 ("batman-adv: add sysfs framework for VLAN")
Signed-off-by: Antonio Quartulli antonio@open-mesh.com --- soft-interface.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/soft-interface.c b/soft-interface.c index 7cd23f5..f813bd5 100644 --- a/soft-interface.c +++ b/soft-interface.c @@ -466,8 +466,10 @@ int batadv_softif_create_vlan(struct batadv_priv *bat_priv, unsigned short vid) atomic_set(&vlan->ap_isolation, 0);
err = batadv_sysfs_add_vlan(bat_priv->soft_iface, vlan); - if (err) + if (err) { + kfree(vlan); return err; + }
spin_lock_bh(&bat_priv->softif_vlan_list_lock); hlist_add_head_rcu(&vlan->list, &bat_priv->softif_vlan_list);
On Thursday, August 08, 2013 07:07:28 Antonio Quartulli wrote:
--- a/soft-interface.c +++ b/soft-interface.c @@ -466,8 +466,10 @@ int batadv_softif_create_vlan(struct batadv_priv *bat_priv, unsigned short vid) atomic_set(&vlan->ap_isolation, 0);
err = batadv_sysfs_add_vlan(bat_priv->soft_iface, vlan);
if (err)
if (err) {
kfree(vlan); return err;
}
You raise a valid point here but what about the local entry that is added right above ? Does it require cleanup as well ?
Cheers, Marek
On Thu, Aug 08, 2013 at 12:55:22PM +0800, Marek Lindner wrote:
On Thursday, August 08, 2013 07:07:28 Antonio Quartulli wrote:
--- a/soft-interface.c +++ b/soft-interface.c @@ -466,8 +466,10 @@ int batadv_softif_create_vlan(struct batadv_priv *bat_priv, unsigned short vid) atomic_set(&vlan->ap_isolation, 0);
err = batadv_sysfs_add_vlan(bat_priv->soft_iface, vlan);
if (err)
if (err) {
kfree(vlan); return err;
}
You raise a valid point here but what about the local entry that is added right above ? Does it require cleanup as well ?
Good point! Thanks!
I think I will move the tt_local_add right below this if loop. v2 is coming.
Cheers,
b.a.t.m.a.n@lists.open-mesh.org