Bug 231051

Summary: [IXL] driver assert when locks checks are enabled
Product: Base System Reporter: Alexandre martins <alexandre.martins>
Component: kernAssignee: freebsd-net (Nobody) <net>
Status: Closed Not Accepted    
Severity: Affects Only Me CC: alexandre.martins, erj, sbruno
Priority: --- Keywords: IntelNetworking
Version: CURRENT   
Hardware: amd64   
OS: Any   

Description Alexandre martins 2018-08-31 07:43:47 UTC
The IXL driver fails to load due to an assertion on an unlocked mutex.

The attach routine doesn't take the mutex before calling some initialisations functions.


There is the backtrace:

KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2e/frame 0xfffffe0f7af339f0
kdb_backtrace() at kdb_backtrace+0x52/frame 0xfffffe0f7af33a10
vpanic() at vpanic+0x1df/frame 0xfffffe0f7af33a80
kproc_shutdown() at kproc_shutdown/frame 0xfffffe0f7af33ae0
__mtx_assert() at __mtx_assert+0x102/frame 0xfffffe0f7af33b50
ixl_add_hw_filters() at ixl_add_hw_filters+0x63/frame 0xfffffe0f7af33bb0
ixl_add_filter() at ixl_add_filter+0x1a2/frame 0xfffffe0f7af33c00
ixl_init_filters() at ixl_init_filters+0x44/frame 0xfffffe0f7af33c20
ixl_attach() at ixl_attach+0xb48/frame 0xfffffe0f7af33d60
DEVICE_ATTACH() at DEVICE_ATTACH+0x87/frame 0xfffffe0f7af33da0
device_attach() at device_attach+0xbc/frame 0xfffffe0f7af33df0
device_probe_and_attach() at device_probe_and_attach+0x74/frame 0xfffffe0f7af33e20
pci_driver_added() at pci_driver_added+0x105/frame 0xfffffe0f7af33e70
BUS_DRIVER_ADDED() at BUS_DRIVER_ADDED+0x8f/frame 0xfffffe0f7af33eb0
devclass_driver_added() at devclass_driver_added+0x7a/frame 0xfffffe0f7af33ee0
devclass_add_driver() at devclass_add_driver+0x172/frame 0xfffffe0f7af33f30
driver_module_handler() at driver_module_handler+0xc9/frame 0xfffffe0f7af33f90
module_register_init() at module_register_init+0xc0/frame 0xfffffe0f7af33ff0
linker_file_sysinit() at linker_file_sysinit+0x1b4/frame 0xfffffe0f7af34050
linker_load_file() at linker_load_file+0x14d/frame 0xfffffe0f7af340c0
linker_load_module() at linker_load_module+0x191/frame 0xfffffe0f7af34130
kern_kldload() at kern_kldload+0xf9/frame 0xfffffe0f7af34190
sys_kldload() at sys_kldload+0x7b/frame 0xfffffe0f7af341c0
syscallenter() at syscallenter+0x4af/frame 0xfffffe0f7af34230
amd64_syscall() at amd64_syscall+0x1f/frame 0xfffffe0f7af34330
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfffffe0f7af34330
--- syscall (304, FreeBSD ELF64, sys_kldload), rip = 0x80086673a, rsp = 0x7fffffffe798, rbp = 0x7fffffffecb0 
---
KDB: enter: panic
Comment 1 Sean Bruno freebsd_committer freebsd_triage 2018-09-01 00:38:43 UTC
How are you making this happen? (kldload?  Just using GENERIC?)

What version of FreeBSD are you using?  (12-CURRENT, 12-ALPHA?  What svn revision?)
Comment 2 Alexandre martins 2018-09-03 07:27:00 UTC
I'm sorry, I forget that we manually upgrade our kernel module to the Intel version 1.9.12 on a FreeBSD 11.2.

So, I close this ticket.