ipv6: Move ipv6 proc file registration to end of init order
authorThomas Graf <tgraf@suug.ch>
Mon, 18 Jun 2012 12:08:33 +0000 (12:08 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 16 Jul 2012 16:03:46 +0000 (09:03 -0700)
commitf9909f77764c6e7d9f6067ac58bf3f68a02ed266
tree325ca736f5bcb12807ab37719f86f41b6d064c9a
parent8ec2c824f3773dcc31316535acd8c725c22a7341
ipv6: Move ipv6 proc file registration to end of init order

[ Upstream commit d189634ecab947c10f6f832258b103d0bbfe73cc ]

/proc/net/ipv6_route reflects the contents of fib_table_hash. The proc
handler is installed in ip6_route_net_init() whereas fib_table_hash is
allocated in fib6_net_init() _after_ the proc handler has been installed.

This opens up a short time frame to access fib_table_hash with its pants
down.

Move the registration of the proc files to a later point in the init
order to avoid the race.

Tested :-)

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv6/route.c