diff options
| author | WANG Cong <xiyou.wangcong@gmail.com> | 2017-05-03 22:07:31 -0700 |
|---|---|---|
| committer | Sasha Levin <alexander.levin@verizon.com> | 2017-06-13 09:29:21 -0400 |
| commit | 4aaeda7f5c4f34bb2746cc3b10a7ee605571c539 (patch) | |
| tree | 97f8129d45960d1ecd40a8237b87ca9d4a40e9b9 /kernel/sysctl_binary.c | |
| parent | 1d9afaa5c0a8ae28b54afee5651fb0308ac69160 (diff) | |
ipv6: initialize route null entry in addrconf_init()
[ Upstream commit 2f460933f58eee3393aba64f0f6d14acb08d1724 ]
Andrey reported a crash on init_net.ipv6.ip6_null_entry->rt6i_idev
since it is always NULL.
This is clearly wrong, we have code to initialize it to loopback_dev,
unfortunately the order is still not correct.
loopback_dev is registered very early during boot, we lose a chance
to re-initialize it in notifier. addrconf_init() is called after
ip6_route_init(), which means we have no chance to correct it.
Fix it by moving this initialization explicitly after
ipv6_add_dev(init_net.loopback_dev) in addrconf_init().
Reported-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Tested-by: Andrey Konovalov <andreyknvl@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Diffstat (limited to 'kernel/sysctl_binary.c')
0 files changed, 0 insertions, 0 deletions
