Eric W. Biederman
d90a909e1f
net: Fix userspace RTM_NEWLINK notifications.
...
I received some bug reports about userspace programs having problems
because after RTM_NEWLINK was received they could not immediate access
files under /proc/sys/net/ because they had not been registered yet.
The original problem was trivially fixed by moving the userspace
notification from rtnetlink_event() to the end of
register_netdevice().
When testing that change I discovered I was still getting RTM_NEWLINK
events before I could access proc and I was also getting RTM_NEWLINK
events after I was seeing RTM_DELLINK. Things practically guaranteed
to confuse userspace.
After a little more investigation these extra notifications proved to
be from the new notifiers NETDEV_POST_INIT and NETDEV_UNREGISTER_BATCH
hitting the default case in rtnetlink_event, and triggering
unnecessary RTM_NEWLINK messages.
rtnetlink_event now explicitly handles NETDEV_UNREGISTER_BATCH and
NETDEV_POST_INIT to avoid sending the incorrect userspace
notifications.
Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-12-13 19:45:22 -08:00
..
9p
net: Move && and || to end of previous line
2009-11-29 16:55:45 -08:00
802
sysctl net: Remove unused binary sysctl code
2009-11-12 02:05:06 -08:00
8021q
netdevice: provide common routine for macvlan and vlan operstate management
2009-12-03 15:59:22 -08:00
appletalk
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
atm
atm: [br2684] allow routed mode operation again
2009-12-08 20:22:31 -08:00
ax25
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
bluetooth
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
bridge
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
can
net: Move && and || to end of previous line
2009-11-29 16:55:45 -08:00
core
net: Fix userspace RTM_NEWLINK notifications.
2009-12-13 19:45:22 -08:00
dcb
net: Move && and || to end of previous line
2009-11-29 16:55:45 -08:00
dccp
tcp: Fix a connect() race with timewait sockets
2009-12-08 20:17:51 -08:00
decnet
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
dsa
netdev: convert pseudo-devices to netdev_tx_t
2009-09-01 01:13:07 -07:00
econet
net: use net_eq to compare nets
2009-11-25 15:14:13 -08:00
ethernet
remove deprecated and not used: print_mac()
2009-11-15 22:21:34 -08:00
ieee802154
net: use net_eq to compare nets
2009-11-25 15:14:13 -08:00
ipv4
udp: udp_lib_get_port() fix
2009-12-13 19:32:39 -08:00
ipv6
tcp: Fix a connect() race with timewait sockets
2009-12-08 20:17:51 -08:00
ipx
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
irda
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
iucv
iucv: add work_queue cleanup for suspend
2009-11-13 20:46:58 -08:00
key
xfrm: Fix truncation length of authentication algorithms installed via PF_KEY
2009-12-11 15:07:57 -08:00
lapb
net: remove NET_RX_BAD and NET_RX_CN* defines
2009-07-05 19:15:35 -07:00
llc
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
mac80211
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
2009-12-11 17:12:17 -08:00
netfilter
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
netlabel
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
netlink
net: use net_eq to compare nets
2009-11-25 15:14:13 -08:00
netrom
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
packet
net: Move && and || to end of previous line
2009-11-29 16:55:45 -08:00
phonet
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
rds
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
rfkill
net/rfkill/core.c: work around gcc-4.0.2 silliness
2009-12-07 16:51:23 -05:00
rose
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
rxrpc
net: use net_eq to compare nets
2009-11-25 15:14:13 -08:00
sched
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
sctp
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
sunrpc
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
tipc
net: Move && and || to end of previous line
2009-11-29 16:55:45 -08:00
unix
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
wanrouter
headers: smp_lock.h redux
2009-07-12 12:22:34 -07:00
wimax
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2009-12-09 19:43:33 -08:00
wireless
wireless: update old static regulatory domain rules
2009-12-10 16:21:51 -05:00
x25
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
xfrm
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
compat.c
net: use compat helper functions in compat_sys_recvmmsg
2009-12-11 15:07:57 -08:00
Kconfig
net/compat/wext: send different messages to compat tasks
2009-07-15 08:53:39 -07:00
Makefile
net: remove redundant sched/ in net/Makefile
2009-07-12 20:11:14 -07:00
nonet.c
socket.c
net: compat_mmsghdr must be used in sys_recvmmsg
2009-12-02 01:23:23 -08:00
sysctl_net.c
net: sysctl_net - use net_eq to compare nets
2009-03-16 16:23:30 +01:00
TUNABLE