Eric Dumazet wrote:
Patrick McHardy a écrit :
quoted
quoted
+{
+ LIST_HEAD(list);
+ int i;
+ struct net_device *vlandev;
+ struct vlan_group save;
+
+ memcpy(&save, grp, sizeof(save));
+ memset(&grp->vlan_devices_arrays, 0, sizeof(grp->vlan_devices_arrays));
This shouldn't be necessary since the lower device is already in the
process of being unregistered. If it was necessary, it could cause
crashes since the individual pointers are not set to zero atomically.
Or maybe I'm misunderstanding the purpose entirely :)
Very good point indeed, even if in practice memset() use long word transferts
I'll make a cleanup patch, or do you want to do it ?
I can take care of this, patch will follow shortly.