aboutsummaryrefslogtreecommitdiff
path: root/net/netlabel
diff options
context:
space:
mode:
authorGravatar Sabrina Dubroca <sd@queasysnail.net> 2018-08-28 13:40:53 +0200
committerGravatar David S. Miller <davem@davemloft.net> 2018-08-29 19:28:55 -0700
commitf707ef61e17261f2bb18c3e4871c6f135ab3aba9 (patch)
tree45c00ac0e6e8a7daaf4f47761d6f6f355271d815 /net/netlabel
parentipv6: fix cleanup ordering for pingv6 registration (diff)
downloadlinux-f707ef61e17261f2bb18c3e4871c6f135ab3aba9.tar.gz
linux-f707ef61e17261f2bb18c3e4871c6f135ab3aba9.tar.bz2
linux-f707ef61e17261f2bb18c3e4871c6f135ab3aba9.zip
net: rtnl: return early from rtnl_unregister_all when protocol isn't registered
rtnl_unregister_all(PF_INET6) gets called from inet6_init in cases when no handler has been registered for PF_INET6 yet, for example if ip6_mr_init() fails. Abort and avoid a NULL pointer deref in that case. Example of panic (triggered by faking a failure of register_pernet_subsys): general protection fault: 0000 [#1] PREEMPT SMP KASAN PTI [...] RIP: 0010:rtnl_unregister_all+0x17e/0x2a0 [...] Call Trace: ? rtnetlink_net_init+0x250/0x250 ? sock_unregister+0x103/0x160 ? kernel_getsockopt+0x200/0x200 inet6_init+0x197/0x20d Fixes: e2fddf5e96df ("[IPV6]: Make af_inet6 to check ip6_route_init return value.") Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netlabel')
0 files changed, 0 insertions, 0 deletions