kern/124471: lock order reversal on kldload/kldunload dtraceall
kevin
kevinxlinuz at 163.com
Wed Jun 11 10:10:02 UTC 2008
>Number: 124471
>Category: kern
>Synopsis: lock order reversal on kldload/kldunload dtraceall
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed Jun 11 10:10:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: kevin
>Release: 8.0current
>Organization:
163.org
>Environment:
FreeBSD xxx-laptop.people.163.org 8.0-CURRENT FreeBSD 8.0-CURRENT #7: Wed Jun 11 14:49:40 CST 2008 root at xxx-laptop.people.163.org:/usr/obj/usr/src/sys/G8laptop amd64
>Description:
lock order reversal:
1st 0xffffff001be3c448 ufs (ufs) @ /usr/src/sys/kern/vfs_subr.c:2044
2nd 0xffffffff806cd120 kernel linker (kernel linker) @ /usr/src/sys/kern/kern_linker.c:693
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
witness_checkorder() at witness_checkorder+0x5f3
_sx_xlock() at _sx_xlock+0x41
linker_file_lookup_set() at linker_file_lookup_set+0xcf
linker_file_register_sysctls() at linker_file_register_sysctls+0x20
linker_load_module() at linker_load_module+0x963
linker_load_dependencies() at linker_load_dependencies+0x1b4
link_elf_load_file() at link_elf_load_file+0x9ca
linker_load_module() at linker_load_module+0x919
linker_load_dependencies() at linker_load_dependencies+0x1b4
link_elf_load_file() at link_elf_load_file+0x9ca
linker_load_module() at linker_load_module+0x919
kern_kldload() at kern_kldload+0x92
kldload() at kldload+0x7a
syscall() at syscall+0x1dd
Xfast_syscall() at Xfast_syscall+0xab
--- syscall (304, FreeBSD ELF64, kldload), rip = 0x8006810cc, rsp = 0x7fffffffeaf8, rbp = 0 ---
lock order reversal:
1st 0xffffffff806cd120 kernel linker (kernel linker) @ /usr/src/sys/kern/kern_linker.c:1024
2nd 0xffffffffd7d788e0 dtrace_provider_lock (dtrace_provider_lock) @ /usr/src/sys/modules/dtrace/dtrace/../../../cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c:7450
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
witness_checkorder() at witness_checkorder+0x5f3
_sx_xlock() at _sx_xlock+0x41
dtrace_unregister() at dtrace_unregister+0x3b2
profile_unload() at profile_unload+0x15
linker_file_unload() at linker_file_unload+0x366
linker_file_unload() at linker_file_unload+0x1f9
kern_kldunload() at kern_kldunload+0xcc
syscall() at syscall+0x1dd
Xfast_syscall() at Xfast_syscall+0xab
--- syscall (444, FreeBSD ELF64, kldunloadf), rip = 0x8006803ac, rsp = 0x7fffffffe368, rbp = 0x12 ---
>How-To-Repeat:
kldload dtraceall after bootup, then kldunload dtraceall
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list