Re: [PATCH 4/6] vlan: Optimize multiple unregistration
From: Patrick McHardy <hidden>
Date: 2009-10-29 14:33:17
From: Patrick McHardy <hidden>
Date: 2009-10-29 14:33:17
Eric Dumazet wrote:
Patrick McHardy a écrit :quoted
How about this? I moved the code back into vlan_device_event() since its now only a very minimal change to the original code. vlan-orig.diff contains the diff between the original code and the code after this patch for reference.I have no problem with this solution, but I wonder why you re-added the curious /* unregistration of last vlan destroys group, abort * afterwards */ if (grp->nr_vlans == 1) i = VLAN_GROUP_ARRAY_LEN; unregister_vlan_dev(vlandev, &list); while doing unregister_vlan_dev(vlandev, &list); if (grp->nr_vlans == 0) break; seems more natural :)
Indeed, but unregister_vlan_dev() destroys the group once the count has reached zero, so we must not access it after that.