NetBSD-Bugs archive

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

kern/50602: removing ethernet cable panics the kernel



>Number:         50602
>Category:       kern
>Synopsis:       removing ethernet cable panics the kernel
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Dec 30 15:25:00 +0000 2015
>Originator:     Michael van Elst
>Release:        NetBSD 7.99.25
>Organization:
	
>Environment:
	
	
System: NetBSD tazz 7.99.25 NetBSD 7.99.25 (TAZZ) #1: Wed Dec 30 13:05:01 CET 2015 mlelstv@gossam:/home/netbsd-current/obj.amd64/home/netbsd-current/src/sys/arch/amd64/compile/TAZZ amd64
Architecture: x86_64
Machine: amd64
>Description:
The recent changes to the arp/llinfo code causes a kernel panic
because llinfo code is protected by rwlocks but can be called
from interrupt.

Unplugging the ethernet cable (on a wm device) calls in6_if_link_down()
in the driver interrupt which calls rt_newaddrmsg() which ends in

nd6_rtrequest()
...
      IF_AFDATA_RLOCK(ifp);
      ln = lla_lookup(LLTABLE6(ifp), flags, rt_getkey(rt));
      IF_AFDATA_RUNLOCK(ifp);

which panics with a lockdebug message that rw_enter is called
from interrupt.

>How-To-Repeat:

Boot -current, unplug ethernet cable.


>Fix:
	

>Unformatted:
 	
 	


Home | Main Index | Thread Index | Old Index