⬢ DragonFlyBSD Kernel Audit
DF-5169 / run.dmesg.log
← back to finding ↓ download raw
SELFFREE: loaded; use sysctl debug.selffree=1
SELFFREE: struct work_struct size=32 worker=16 on_queue=24 running=25 canceled=26; selffree size=96
SELFFREE[0]: freed+reclaimed @0xfffff8004f1ae100; running byte=00 (poison=41) worker qword=0000000000000000 (poison=4141414141414141)  <== UAF WRITE running=false  <== UAF WRITE worker=NULL
SELFFREE[1]: freed+reclaimed @0xfffff8004f1ae160; running byte=00 (poison=41) worker qword=0000000000000000 (poison=4141414141414141)  <== UAF WRITE running=false  <== UAF WRITE worker=NULL
SELFFREE[2]: freed+reclaimed @0xfffff8004f1ae1c0; running byte=00 (poison=41) worker qword=0000000000000000 (poison=4141414141414141)  <== UAF WRITE running=false  <== UAF WRITE worker=NULL
SELFFREE[3]: freed+reclaimed @0xfffff8004f1ae220; running byte=00 (poison=41) worker qword=0000000000000000 (poison=4141414141414141)  <== UAF WRITE running=false  <== UAF WRITE worker=NULL
SELFFREE[4]: freed+reclaimed @0xfffff8004f1ae280; running byte=00 (poison=41) worker qword=0000000000000000 (poison=4141414141414141)  <== UAF WRITE running=false  <== UAF WRITE worker=NULL
SELFFREE[5]: freed+reclaimed @0xfffff8004f1ae2e0; running byte=00 (poison=41) worker qword=0000000000000000 (poison=4141414141414141)  <== UAF WRITE running=false  <== UAF WRITE worker=NULL
SELFFREE[6]: freed+reclaimed @0xfffff8004f1ae340; running byte=00 (poison=41) worker qword=0000000000000000 (poison=4141414141414141)  <== UAF WRITE running=false  <== UAF WRITE worker=NULL
SELFFREE[7]: freed+reclaimed @0xfffff8004f1ae3a0; running byte=00 (poison=41) worker qword=0000000000000000 (poison=4141414141414141)  <== UAF WRITE running=false  <== UAF WRITE worker=NULL
SELFFREE: SUMMARY freed=8 reclaimed=8 uaf_running_write=8 uaf_worker_null_write=8
SELFFREE: VERDICT UAF-WRITE REPRODUCED - process_all_work touched the freed work item after func() returned (see linux_workqueue.c:92-98)