⬢ DragonFlyBSD Kernel Audit
DF-5381 / run.log
← back to finding ↓ download raw
===== RUN 1 =====
[DF5381] engine-allocated 32 x 200-byte DMA objects (page_offset_end=1936)
[DF5381] neighbours pcA=0xfffff80116f36600 pcB=0xfffff80116f36800 chunk_gap=512 (object extent=200)
[DF5381] T1 PASS cross-object OOB READ (read pcB's bytes via pcA offset 512)
[DF5381] T2 PASS cross-object OOB WRITE (planted 16 bytes into pcB via pcA offset 512)
[DF5381] T2b PASS write past object extent offset=200 accepted (page_offset_end=1936)
[DF5381] T3 PASS cross-object OOB ZERO via usbd_frame_zero
[DF5381] T4 stale kernel-heap bytes (chunk tail of pcB): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[DF5381] T4 INCONCLUSIVE zero bytes
[DF5381] T4b kernel-heap bytes behind freed chunk (kfree zeroed): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[DF5381] T5 get_page(offset=0xFFFFFF00) -> buffer=pcA0 length=0xffffffff (no bound)
[DF5381] T5 PASS engine hands out wild KVA +4GB-256 and length=UINT32_MAX
[DF5381] T6 get_page(multiseg, offset=49152) -> physaddr=0xdeadbeef0000 (loaded extent=8192 bytes) length=4096
[DF5381] T6 PASS page-array walked 12 pages past a 2-page load; stale physaddr returned verbatim
[DF5381] T7 SKIP foreign-page read (unguarded variant = kernel panic, see panic.txt)
[DF5381] RESULT 6/7 primitive tests passed
EXIT=0
===== RUN 2 =====
[DF5381] engine-allocated 32 x 200-byte DMA objects (page_offset_end=1424)
[DF5381] neighbours pcA=0xfffff80116f36600 pcB=0xfffff80116f36800 chunk_gap=512 (object extent=200)
[DF5381] T1 PASS cross-object OOB READ (read pcB's bytes via pcA offset 512)
[DF5381] T2 PASS cross-object OOB WRITE (planted 16 bytes into pcB via pcA offset 512)
[DF5381] T2b PASS write past object extent offset=200 accepted (page_offset_end=1424)
[DF5381] T3 PASS cross-object OOB ZERO via usbd_frame_zero
[DF5381] T4 stale kernel-heap bytes (chunk tail of pcB): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[DF5381] T4 INCONCLUSIVE zero bytes
[DF5381] T4b kernel-heap bytes behind freed chunk (kfree zeroed): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[DF5381] T5 get_page(offset=0xFFFFFF00) -> buffer=pcA0 length=0xffffffff (no bound)
[DF5381] T5 PASS engine hands out wild KVA +4GB-256 and length=UINT32_MAX
[DF5381] T6 get_page(multiseg, offset=49152) -> physaddr=0xdeadbeef0000 (loaded extent=8192 bytes) length=4096
[DF5381] T6 PASS page-array walked 12 pages past a 2-page load; stale physaddr returned verbatim
[DF5381] T7 SKIP foreign-page read (unguarded variant = kernel panic, see panic.txt)
[DF5381] RESULT 6/7 primitive tests passed
EXIT=0
===== RUN 3 =====
[DF5381] engine-allocated 32 x 200-byte DMA objects (page_offset_end=1936)
[DF5381] neighbours pcA=0xfffff80116f36600 pcB=0xfffff80116f36800 chunk_gap=512 (object extent=200)
[DF5381] T1 PASS cross-object OOB READ (read pcB's bytes via pcA offset 512)
[DF5381] T2 PASS cross-object OOB WRITE (planted 16 bytes into pcB via pcA offset 512)
[DF5381] T2b PASS write past object extent offset=200 accepted (page_offset_end=1936)
[DF5381] T3 PASS cross-object OOB ZERO via usbd_frame_zero
[DF5381] T4 stale kernel-heap bytes (chunk tail of pcB): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[DF5381] T4 INCONCLUSIVE zero bytes
[DF5381] T4b kernel-heap bytes behind freed chunk (kfree zeroed): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[DF5381] T5 get_page(offset=0xFFFFFF00) -> buffer=pcA0 length=0xffffffff (no bound)
[DF5381] T5 PASS engine hands out wild KVA +4GB-256 and length=UINT32_MAX
[DF5381] T6 get_page(multiseg, offset=49152) -> physaddr=0xdeadbeef0000 (loaded extent=8192 bytes) length=4096
[DF5381] T6 PASS page-array walked 12 pages past a 2-page load; stale physaddr returned verbatim
[DF5381] T7 SKIP foreign-page read (unguarded variant = kernel panic, see panic.txt)
[DF5381] RESULT 6/7 primitive tests passed
EXIT=0