NetBSD-Bugs archive

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

kern/46118: pppoe(4) via axe(4) triggers locking-related panic

>Number:         46118
>Category:       kern
>Synopsis:       pppoe(4) via axe(4) triggers locking-related panic
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Mar 01 10:35:00 +0000 2012
>Originator:     Holger Weiss
>Release:        NetBSD 6.0_BETA (2012-02-29)
Individual Network Berlin e.V.
System: NetBSD 6.0_BETA NetBSD 6.0_BETA (GENERIC) #0: 
Wed Feb 29 17:02:14 CET 2012
Architecture: x86_64
Machine: amd64
Initiating a pppoe(4) connection using an axe(4) interface quickly
triggers a "KERNEL_LOCKED_P()" assertion failure in sys/dev/usb/usbdi.c:

| panic: kernel diagnostic assertion "KERNEL_LOCKED_P()" failed: file 
"/src/netbsd/base/sys/dev/usb/usbdi.c", line 264
| cpu0: Begin traceback...
| kern_assert() at netbsd:kern_assert+0x48
| usbd_transfer() at netbsd:usbd_transfer+0x202
| axe_start() at netbsd:axe_start+0x131
| ifq_enqueue() at netbsd:ifq_enqueue+0x9b
| ether_output() at netbsd:ether_output+0x5ad
| pppoe_output() at netbsd:pppoe_output+0x83
| pppoe_start() at netbsd:pppoe_start+0xd4
| sppp_output() at netbsd:sppp_output+0x3fc
| fr_fastroute() at netbsd:fr_fastroute+0x202
| fr_send_ip() at netbsd:fr_send_ip+0x16f
| fr_send_reset() at netbsd:fr_send_reset+0x199
| fr_check() at netbsd:fr_check+0xca0
| fr_check_wrapper() at netbsd:fr_check_wrapper+0x8f
| pfil_run_hooks() at netbsd:pfil_run_hooks+0x9f
| ip_input() at netbsd:ip_input+0x1ab
| ipintr() at netbsd:ipintr+0x112
| softint_dispatch() at netbsd:softint_dispatch+0xe0
| DDB lost frame for netbsd:Xsoftintr+0x4f, trying 0xfffffe810e68ed70
| Xsoftintr() at netbsd:Xsoftintr+0x4f
| --- interrupt ---
| 0:
| cpu0: End traceback...

Using the axe(4) adapter as a normal LAN interface seems to work just
fine on the same system, and so does using pppoe(4) via wm(4).
Initiate a pppoe(4) connection with an axe(4) interface, e.g.:

        ifconfig axe0 up
        ifconfig pppoe0 create
        pppoectl -e axe0 pppoe0
        pppoectl -f /etc/pppoe/configuration pppoe0
        ifconfig pppoe0 up
Unknwon.  Grab the kernel lock at the appropriate place, I guess?

Home | Main Index | Thread Index | Old Index