Date: Sun, 16 Apr 2006 13:08:20 +0200 From: Ulrich Spoerlein <spoerlein@googlemail.com> To: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net> Cc: stable@freebsd.org Subject: [LOR] bpf vs. USB (perhaps #147?) Message-ID: <20060416110820.GB60812@roadrunner.aventurien.local>
next in thread | raw e-mail | index | archive | help
--YiEDa0DAkWCtVeE4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello again, found some other LORs on 6.1-PRERELEASE while running kismet and tcpdump on ural0 at the same time. They all look very similar, though one is in usb_read, the other in usb_write. Sleeping on "usbsyn" with the following non-sleepable locks held: exclusive sleep mutex bpf global lock r =3D 0 (0xc079c280) locked @ /usr/sr= c/sys/net/bpf.c:425 KDB: stack backtrace: kdb_backtrace(1,c5a8ac48,c5a8c300,2,ef53f894) at kdb_backtrace+0x29 witness_warn(5,0,c06d7bd4,c06cf607) at witness_warn+0x18e msleep(c5c49c00,0,4c,c06cf607,0) at msleep+0x42 usbd_transfer(c5c49c00,ef53f8f4,c04d6b05,c5c49c00,278940c2) at usbd_transfe= r+0x121 usbd_sync_transfer(c5c49c00,278940c2,c5a8acf0,c5a8c300,c4c26000) at usbd_sy= nc_transfer+0x11 usbd_do_request_flags_pipe(c4bf7580,c4bf7500,ef53f950,ef53f94e,0) at usbd_d= o_request_flags_pipe+0x5d usbd_do_request_flags(c4bf7580,ef53f950,ef53f94e,0,0) at usbd_do_request_fl= ags+0x20 usbd_do_request(c4bf7580,ef53f950,ef53f94e) at usbd_do_request+0x1a ural_read(c4c26000,444,c4c26000,0,ef53f990) at ural_read+0x42 ural_update_promisc(c4c26000) at ural_update_promisc+0x16 ural_ioctl(c4c1bc00,80206910,ef53f9ac,1,108903) at ural_ioctl+0x55 if_setflag(c4c1bc00,100,20000,c4c1bc44,0) at if_setflag+0x120 ifpromisc(c4c1bc00,0) at ifpromisc+0x23 bpf_detachd(c52b6a00) at bpf_detachd+0xae bpfclose(c5c49100,7,2000,c5a8c300,c07502c0) at bpfclose+0x83 giant_close(c5c49100,7,2000,c5a8c300,c5c49100) at giant_close+0x30 devfs_close(ef53fab4) at devfs_close+0x2db VOP_CLOSE_APV(c071cd40,ef53fab4) at VOP_CLOSE_APV+0x7e vn_close(c5ef6dd0,7,c52d2e00,c5a8c300,0) at vn_close+0x8b vn_closefile(c5c83cf0,c5a8c300,ef53fb6c,c0508328,c5c83cf0) at vn_closefile+= 0xca devfs_close_f(c5c83cf0,c5a8c300) at devfs_close_f+0xf fdrop_locked(c5c83cf0,c5a8c300,c4ae9640,0,c06d3ea7) at fdrop_locked+0x88 fdrop(c5c83cf0,c5a8c300,6b2,c07555c0,0) at fdrop+0x24 closef(c5c83cf0,c5a8c300) at closef+0x367 fdfree(c5a8c300) at fdfree+0x4a3 exit1(c5a8c300,0,ef53fd30,c069a577,c5a8c300) at exit1+0x438 exit1(c5a8c300,ef53fd04,1,6d,292) at exit1 syscall(3b,3b,3b,bfbf8f90,1) at syscall+0x22f Xint0x80_syscall() at Xint0x80_syscall+0x1f --- syscall (1, FreeBSD ELF32, sys_exit), eip =3D 0x482d4027, esp =3D 0xbfb= f8f5c, ebp =3D 0xbfbf8f78 --- lock order reversal: (Giant after non-sleepable) 1st 0xc079c280 bpf global lock (bpf global lock) @ /usr/src/sys/net/bpf.c:= 425 2nd 0xc07502c0 Giant (Giant) @ /usr/src/sys/kern/kern_synch.c:216 KDB: stack backtrace: kdb_backtrace(0,ffffffff,c075f100,c075f588,c0724364) at kdb_backtrace+0x29 witness_checkorder(c07502c0,9,c06d7c0d,d8) at witness_checkorder+0x578 _mtx_lock_flags(c07502c0,0,c06d7c0d,d8) at _mtx_lock_flags+0x5b msleep(c5c49c00,0,4c,c06cf607,0) at msleep+0x2d2 usbd_transfer(c5c49c00,ef53f8f4,c04d6b05,c5c49c00,278940c2) at usbd_transfe= r+0x121 usbd_sync_transfer(c5c49c00,278940c2,c5a8acf0,c5a8c300,c4c26000) at usbd_sy= nc_transfer+0x11 usbd_do_request_flags_pipe(c4bf7580,c4bf7500,ef53f950,ef53f94e,0) at usbd_d= o_request_flags_pipe+0x5d usbd_do_request_flags(c4bf7580,ef53f950,ef53f94e,0,0) at usbd_do_request_fl= ags+0x20 usbd_do_request(c4bf7580,ef53f950,ef53f94e) at usbd_do_request+0x1a ural_read(c4c26000,444,c4c26000,0,ef53f990) at ural_read+0x42 ural_update_promisc(c4c26000) at ural_update_promisc+0x16 ural_ioctl(c4c1bc00,80206910,ef53f9ac,1,108903) at ural_ioctl+0x55 if_setflag(c4c1bc00,100,20000,c4c1bc44,0) at if_setflag+0x120 ifpromisc(c4c1bc00,0) at ifpromisc+0x23 bpf_detachd(c52b6a00) at bpf_detachd+0xae bpfclose(c5c49100,7,2000,c5a8c300,c07502c0) at bpfclose+0x83 giant_close(c5c49100,7,2000,c5a8c300,c5c49100) at giant_close+0x30 devfs_close(ef53fab4) at devfs_close+0x2db VOP_CLOSE_APV(c071cd40,ef53fab4) at VOP_CLOSE_APV+0x7e vn_close(c5ef6dd0,7,c52d2e00,c5a8c300,0) at vn_close+0x8b vn_closefile(c5c83cf0,c5a8c300,ef53fb6c,c0508328,c5c83cf0) at vn_closefile+= 0xca devfs_close_f(c5c83cf0,c5a8c300) at devfs_close_f+0xf fdrop_locked(c5c83cf0,c5a8c300,c4ae9640,0,c06d3ea7) at fdrop_locked+0x88 fdrop(c5c83cf0,c5a8c300,6b2,c07555c0,0) at fdrop+0x24 closef(c5c83cf0,c5a8c300) at closef+0x367 fdfree(c5a8c300) at fdfree+0x4a3 exit1(c5a8c300,0,ef53fd30,c069a577,c5a8c300) at exit1+0x438 exit1(c5a8c300,ef53fd04,1,6d,292) at exit1 syscall(3b,3b,3b,bfbf8f90,1) at syscall+0x22f Xint0x80_syscall() at Xint0x80_syscall+0x1f --- syscall (1, FreeBSD ELF32, sys_exit), eip =3D 0x482d4027, esp =3D 0xbfb= f8f5c, ebp =3D 0xbfbf8f78 --- Sleeping on "usbsyn" with the following non-sleepable locks held: exclusive sleep mutex bpf global lock r =3D 0 (0xc079c280) locked @ /usr/sr= c/sys/net/bpf.c:425 KDB: stack backtrace: kdb_backtrace(1,c5a8ac48,c5a8c300,0,ef53f894) at kdb_backtrace+0x29 witness_warn(5,0,c06d7bd4,c06cf607) at witness_warn+0x18e msleep(c5c49c00,0,4c,c06cf607,0) at msleep+0x42 usbd_transfer(c5c49c00,ef53f8f4,c04d6b05,c5c49c00,278940c2) at usbd_transfe= r+0x121 usbd_sync_transfer(c5c49c00,278940c2,c5a8acf0,c5a8c300,c4c26000) at usbd_sy= nc_transfer+0x11 usbd_do_request_flags_pipe(c4bf7580,c4bf7500,ef53f94c,0,0) at usbd_do_reque= st_flags_pipe+0x5d usbd_do_request_flags(c4bf7580,ef53f94c,0,0,0) at usbd_do_request_flags+0x20 usbd_do_request(c4bf7580,ef53f94c,0) at usbd_do_request+0x1a ural_write(c4c26000,444,7e,c4c26000,0) at ural_write+0x45 ural_update_promisc(c4c26000) at ural_update_promisc+0x36 ural_ioctl(c4c1bc00,80206910,ef53f9ac,1,108903) at ural_ioctl+0x55 if_setflag(c4c1bc00,100,20000,c4c1bc44,0) at if_setflag+0x120 ifpromisc(c4c1bc00,0) at ifpromisc+0x23 bpf_detachd(c52b6a00) at bpf_detachd+0xae bpfclose(c5c49100,7,2000,c5a8c300,c07502c0) at bpfclose+0x83 giant_close(c5c49100,7,2000,c5a8c300,c5c49100) at giant_close+0x30 devfs_close(ef53fab4) at devfs_close+0x2db VOP_CLOSE_APV(c071cd40,ef53fab4) at VOP_CLOSE_APV+0x7e vn_close(c5ef6dd0,7,c52d2e00,c5a8c300,0) at vn_close+0x8b vn_closefile(c5c83cf0,c5a8c300,ef53fb6c,c0508328,c5c83cf0) at vn_closefile+= 0xca devfs_close_f(c5c83cf0,c5a8c300) at devfs_close_f+0xf fdrop_locked(c5c83cf0,c5a8c300,c4ae9640,0,c06d3ea7) at fdrop_locked+0x88 fdrop(c5c83cf0,c5a8c300,6b2,c07555c0,0) at fdrop+0x24 closef(c5c83cf0,c5a8c300) at closef+0x367 fdfree(c5a8c300) at fdfree+0x4a3 exit1(c5a8c300,0,ef53fd30,c069a577,c5a8c300) at exit1+0x438 exit1(c5a8c300,ef53fd04,1,6d,292) at exit1 syscall(3b,3b,3b,bfbf8f90,1) at syscall+0x22f Xint0x80_syscall() at Xint0x80_syscall+0x1f --- syscall (1, FreeBSD ELF32, sys_exit), eip =3D 0x482d4027, esp =3D 0xbfb= f8f5c, ebp =3D 0xbfbf8f78 --- ural0: promiscuous mode disabled Ulrich Spoerlein --=20 PGP Key ID: 20FEE9DD Encrypted mail welcome! Fingerprint: AEC9 AF5E 01AC 4EE1 8F70 6CBD E76E 2227 20FE E9DD Which is worse: ignorance or apathy? Don't know. Don't care. --YiEDa0DAkWCtVeE4 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (FreeBSD) iD8DBQFEQiWk524iJyD+6d0RAt3FAJ0YJ/liLJu+tdDspjAg2eNTE2Ke5ACfQjnL Ly1m3DfZlAHLa9UhBqzzjp4= =SDod -----END PGP SIGNATURE----- --YiEDa0DAkWCtVeE4--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060416110820.GB60812>