10-CURRENT r244183 amd64 multiple lock order reversals

Gleb Smirnoff glebius at FreeBSD.org
Fri Dec 14 13:02:12 UTC 2012


On Fri, Dec 14, 2012 at 11:56:19AM +0100, Fleuriot Damien wrote:
F> First LOR, apparently in PF:
F> 
F> altq: emulate 256000000Hz cpu clock
F> lock order reversal: (sleepable after non-sleepable)
F>  1st 0xffffffff81390418 pf rulesets (pf rulesets) @ /data/freebsd/src/head/sys/modules/pf/../../netpfil/pf/pf_ioctl.c:1153
F>  2nd 0xffffffff80e5e298 ifnet_sx (ifnet_sx) @ /data/freebsd/src/head/sys/modules/pf/../../netpfil/pf/pf_if.c:481
F> KDB: stack backtrace:
F> db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xffffff80f6e4a9d0
F> kdb_backtrace() at kdb_backtrace+0x39/frame 0xffffff80f6e4aa80
F> witness_checkorder() at witness_checkorder+0xc47/frame 0xffffff80f6e4ab00
F> _sx_slock() at _sx_slock+0x69/frame 0xffffff80f6e4ab40
F> pfi_kif_update() at pfi_kif_update+0x10d/frame 0xffffff80f6e4abb0
F> pfi_dynaddr_setup() at pfi_dynaddr_setup+0x2d1/frame 0xffffff80f6e4ac20
F> pfioctl() at pfioctl+0x4a61/frame 0xffffff80f6e4b9a0
F> devfs_ioctl_f() at devfs_ioctl_f+0xf0/frame 0xffffff80f6e4ba00
F> kern_ioctl() at kern_ioctl+0x1ce/frame 0xffffff80f6e4ba50
F> sys_ioctl() at sys_ioctl+0x11f/frame 0xffffff80f6e4baa0
F> amd64_syscall() at amd64_syscall+0x265/frame 0xffffff80f6e4bbb0
F> Xfast_syscall() at Xfast_syscall+0xfb/frame 0xffffff80f6e4bbb0
F> --- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x800d923ea, rsp = 0x7fffffffbde8, rbp = 0x7fffffffc9e0 ---

Strange that it wasn't noticed or reported before.

Fixed. Thanks for submission.

-- 
Totus tuus, Glebius.


More information about the freebsd-current mailing list