Bugzilla – Bug 132894
ipv6 doesn't call sock_unregister() if initialization fails
Last modified: 2005-12-12 10:35:50 UTC
If ipv6 initialization fails (e.g. if CAP_NET_RAW is disabled using the LSM framework), the fail path in inet6_init() doesn't call sock_unregister(). This leaves the AF_INET6 entry in the net_families[] array pointing at outer space and causes any ipv6-aware applications to oops when __sock_create() tries to access net_families[family]->owner. This was found on 2.6.13-15-default, but the mainline 2.6.14 kernel has the same problem so we should push the fix upstream also.
Created attachment 56952 [details] Proposed patch This should do the trick. Please test
Patches applied to HEAD and 10.0 trees.
The attached patch worked on my SLES9 SP3 test box and the corresponding 2.6.14 patch I grabbed using a "getpac kernel-default" worked on my SUSE Linux 10.0 box.
Fine, thanks! I also submitted this upstream.