net: net_assign_generic() fix
memcpy() should take into account size of pointers, not only number of pointers to copy. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Acked-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
446e72f30e
commit
144586301f
@@ -488,7 +488,7 @@ int net_assign_generic(struct net *net, int id, void *data)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ng->len = id;
|
ng->len = id;
|
||||||
memcpy(&ng->ptr, &old_ng->ptr, old_ng->len);
|
memcpy(&ng->ptr, &old_ng->ptr, old_ng->len * sizeof(void*));
|
||||||
|
|
||||||
rcu_assign_pointer(net->gen, ng);
|
rcu_assign_pointer(net->gen, ng);
|
||||||
call_rcu(&old_ng->rcu, net_generic_release);
|
call_rcu(&old_ng->rcu, net_generic_release);
|
||||||
|
Reference in New Issue
Block a user