ipv4: ip_ptr cleanups
dev->ip_ptr is protected by rtnl and rcu. Yet some places dont use appropriate primitives and/or locking rules. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
9e0064a545
commit
95ae6b228f
@@ -191,7 +191,8 @@ static int cisco_rx(struct sk_buff *skb)
|
||||
|
||||
switch (ntohl (cisco_data->type)) {
|
||||
case CISCO_ADDR_REQ: /* Stolen from syncppp.c :-) */
|
||||
in_dev = dev->ip_ptr;
|
||||
rcu_read_lock();
|
||||
in_dev = __in_dev_get_rcu(dev);
|
||||
addr = 0;
|
||||
mask = ~cpu_to_be32(0); /* is the mask correct? */
|
||||
|
||||
@@ -211,6 +212,7 @@ static int cisco_rx(struct sk_buff *skb)
|
||||
cisco_keepalive_send(dev, CISCO_ADDR_REPLY,
|
||||
addr, mask);
|
||||
}
|
||||
rcu_read_unlock();
|
||||
dev_kfree_skb_any(skb);
|
||||
return NET_RX_SUCCESS;
|
||||
|
||||
|
Reference in New Issue
Block a user