diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2011-01-24 13:16:16 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-01-24 13:16:16 -0800 |
commit | c506653d35249bb4738bb139c24362e1ae724bc1 (patch) | |
tree | 24fdcd4d25b8e0fd14c4074f3ef3673d3c7f6eb3 /net/core/dev.c | |
parent | 0a0b7a5f7a043d86a95990d3227cf7e823ae52ac (diff) | |
download | op-kernel-dev-c506653d35249bb4738bb139c24362e1ae724bc1.zip op-kernel-dev-c506653d35249bb4738bb139c24362e1ae724bc1.tar.gz |
net: arp_ioctl() must hold RTNL
Commit 941666c2e3e0 "net: RCU conversion of dev_getbyhwaddr() and
arp_ioctl()" introduced a regression, reported by Jamie Heilman.
"arp -Ds 192.168.2.41 eth0 pub" triggered the ASSERT_RTNL() assert
in pneigh_lookup()
Removing RTNL requirement from arp_ioctl() was a mistake, just revert
that part.
Reported-by: Jamie Heilman <jamie@audible.transient.net>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 8393ec40..1e5077d 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -749,7 +749,8 @@ EXPORT_SYMBOL(dev_get_by_index); * @ha: hardware address * * Search for an interface by MAC address. Returns NULL if the device - * is not found or a pointer to the device. The caller must hold RCU + * is not found or a pointer to the device. + * The caller must hold RCU or RTNL. * The returned device has not had its ref count increased * and the caller must therefore be careful about locking * |