Bug 230785 - Page fault when if_ath module is unloaded
Summary: Page fault when if_ath module is unloaded
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: wireless (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-wireless mailing list
URL:
Keywords: panic
Depends on:
Blocks:
 
Reported: 2018-08-20 21:02 UTC by Ali Abdallah
Modified: 2019-02-02 00:07 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ali Abdallah 2018-08-20 21:02:32 UTC
When compiling if_ath as a module. kldload if_ath followed by kldunload if_ath causes a page fault. The chip is AR9380.

[ath] unloaded
[ar5210] unloaded
[ar5211] unloaded
[ar5416] unloaded
[ar5212] unloaded
[ar9300] unloaded
Kernel page fault with the following non-sleepable locks held:
exclusive sleep mutex ath0 (ath0) r = 0 (0xfffffe004eea0190) locked @ /usr/src/sys/dev/ath/if_ath.c:1423
stack backtrace:
#0 0xffffffff8044a2b3 at witness_debugger+0x73
#1 0xffffffff8044b691 at witness_warn+0x461
#2 0xffffffff806ce093 at trap_pfault+0x53
#3 0xffffffff806cd6aa at trap+0x2ba
#4 0xffffffff806a84a5 at calltrap+0x8
#5 0xffffffff81d4c745 at ath_pci_detach+0x95
#6 0xffffffff80416d27 at device_detach+0x167
#7 0xffffffff8041629f at devclass_driver_deleted+0x4f
#8 0xffffffff804161ad at devclass_delete_driver+0x8d
#9 0xffffffff8041bc9f at driver_module_handler+0x10f
#10 0xffffffff803c3c52 at module_unload+0x32
#11 0xffffffff803b65cb at linker_file_unload+0x23b
#12 0xffffffff803b695c at linker_file_unload+0x5cc
#13 0xffffffff803b782d at kern_kldunload+0xcd
#14 0xffffffff806ce9c1 at amd64_syscall+0x281
#15 0xffffffff806a8d8d at fast_syscall_common+0x101


Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address	= 0xffffffff81cb3180
fault code		= supervisor read instruction, page not present
instruction pointer	= 0x20:0xffffffff81cb3180
stack pointer	        = 0x28:0xfffffe004e249708
frame pointer	        = 0x28:0xfffffe004e249730
code segment		= base rx0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 701 (kldunload)