⬢ DragonFlyBSD Kernel Audit
DF-2423 / run.log
← back to finding ↓ download raw
=== DF-2423 decisive runtime output (consolidated) ===

--- phase 1 CONTROL (baseline harness kernel, free CCB) ---
DFX2423: phase1 CONTROL: free CCB available
DFX2423: pm_read(15, EINFO) rv=0 data=ddccbbaa (expect rv=0 data=ddccbbaa)
DFX2423: read  fis: type=27 flags=8f cmd=e4 feat=20 dev=4f scnt=00 lba=00,00,00 ctl=08
DFX2423: pm_write(3, SCTL, a1b2c3d4) rv=0 (expect 0)
DFX2423: write fis: type=27 flags=8f cmd=e8 feat=02 dev=43 scnt=d4 lba=c3,b2,a1 ctl=08
DFX2423: counters get=2 cmd=2 done=2 put=2 (expect 2/2/2/2)

--- phase 2 EXHAUSTED pool + real ahci_pm_read (baseline kernel) ---
$ timeout 90 dfbsd-qemu/vm.sh run_root 'sysctl hw.dfx2423_phase=2'
RUN_RC=124   (ssh hung; vm.sh status => down immediately after)
--- serial console (full: serial.phase2.log / panic.txt) ---
DFX2423: phase2: CCB pool EXHAUSTED, calling REAL ahci_pm_read (ahci_pm.c:976) - expect NULL deref of xa->fis at offset 0
DFX2423: get_xfer: CCB pool EXHAUSTED -> NULL (models ahci.c:3675-3678)
Fatal user address access from kernel mode from sysctl at ffffffff80a800cb


Fatal trap 12: page fault while in kernel mode
cpuid = 1; lapic id = 1
fault virtual address	= 0x0
fault code		= supervisor read data, page not present
instruction pointer	= 0x8:0xffffffff80a800cb
stack pointer	        = 0x10:0xfffff801183c7748
frame pointer	        = 0x10:0xfffff801183c7768
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, long 0, def32 0, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 838
current thread          = pri 6 
trap number		= 12
panic: page fault
cpuid = 1
Trace beginning at frame 0xfffff801183c7538
Trace beginning at frame 0xfffff801183c7538
trap_fatal() at trap_fatal+0x301 0xffffffff80bd6c61 
trap_fatal() at trap_fatal+0x301 0xffffffff80bd6c61 
dfx_pm_read() at dfx_pm_read+0x2b 0xffffffff80a800cb 

--- phase 3 EXHAUSTED pool + real ahci_pm_write (baseline kernel) ---
RUN_RC=124; vm.sh status => down
login: DFX2423: phase3: CCB pool EXHAUSTED, calling REAL ahci_pm_write (ahci_pm.c:1013) - expect NULL deref of xa->fis at offset 0
fault virtual address	= 0x0
dfx_pm_write() at dfx_pm_write+0x2c 0xffffffff80a8018c 

--- FIXED kernel (fix.diff applied, same harness): phases 1+2+3, guest stays up ---
 ->  ->  -> ALL_PHASES_RETURNED
HAMMER2: INITIATE SPANs
swap low/high-water marks set to 41940/62910
DFX2423: phase1 CONTROL: free CCB available
DFX2423: pm_read(15, EINFO) rv=0 data=ddccbbaa (expect rv=0 data=ddccbbaa)
DFX2423: read  fis: type=27 flags=8f cmd=e4 feat=20 dev=4f scnt=00 lba=00,00,00 ctl=08
DFX2423: pm_write(3, SCTL, a1b2c3d4) rv=0 (expect 0)
DFX2423: write fis: type=27 flags=8f cmd=e8 feat=02 dev=43 scnt=d4 lba=c3,b2,a1 ctl=08
DFX2423: counters get=2 cmd=2 done=2 put=2 (expect 2/2/2/2)
DFX2423: phase2: CCB pool EXHAUSTED, calling REAL ahci_pm_read (ahci_pm.c:976) - expect NULL deref of xa->fis at offset 0
DFX2423: get_xfer: CCB pool EXHAUSTED -> NULL (models ahci.c:3675-3678)
fakep0: pm_read: no ccb available
DFX2423: pm_read returned 16 - NO CRASH
DFX2423: phase3: CCB pool EXHAUSTED, calling REAL ahci_pm_write (ahci_pm.c:1013) - expect NULL deref of xa->fis at offset 0
DFX2423: get_xfer: CCB pool EXHAUSTED -> NULL (models ahci.c:3675-3678)
fakep0: pm_write: no ccb available
DFX2423: pm_write returned 16 - NO CRASH
11:37AM  up 58 secs, 0 users, load averages: 0.10, 0.04, 0.01