Re: 2.6.0-test9: Kernel OOPS in /sbin/nameif

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In article <200311051703.hA5H38nQ007123@turing-police.cc.vt.edu> (at Wed, 05 Nov 2003 12:03:08 -0500), Valdis.Kletnieks@vt.edu says:

> Basic summary - when /sbin/nameif goes to rename an interface, things
> go totally pear-shaped.  nameif itself croaks, and apparently leaves
> data structures corrupted - on a subsequent 'ifup lo' or 'shutdown -r'
> the system locks up solid.
> 
> Unable to handle kernel NULL pointer dereference at virtual address 000000d8
>  printing eip:
> c033eb32
:
> EIP is at addrconf_sysctl_unregister+0x7/0x3a
:
> Call Trace:
>  [<c033cdda>] addrconf_notify+0xc4/0xfb
>  [<c012673d>] notifier_call_chain+0x1c/0x37
:

Please try this.

===== net/ipv6/addrconf.c 1.74 vs edited =====
--- 1.74/net/ipv6/addrconf.c	Tue Oct 28 20:10:47 2003
+++ edited/net/ipv6/addrconf.c	Thu Nov  6 02:30:03 2003
@@ -1877,10 +1877,12 @@
 		break;
 	case NETDEV_CHANGENAME:
 #ifdef CONFIG_SYSCTL
-		addrconf_sysctl_unregister(&idev->cnf);
-		neigh_sysctl_unregister(idev->nd_parms);
-		neigh_sysctl_register(dev, idev->nd_parms, NET_IPV6, NET_IPV6_NEIGH, "ipv6");
-		addrconf_sysctl_register(idev, &idev->cnf);
+		if (idev) {
+			addrconf_sysctl_unregister(&idev->cnf);
+			neigh_sysctl_unregister(idev->nd_parms);
+			neigh_sysctl_register(dev, idev->nd_parms, NET_IPV6, NET_IPV6_NEIGH, "ipv6");
+			addrconf_sysctl_register(idev, &idev->cnf);
+		}
 #endif
 		break;
 	};

-- 
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@linux-ipv6.org>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux