DF-5672 / manifest.json
{ "finding_id": "DF-5672", "verdict": "reproduced", "impact": "none", "confidence": "certain", "twin_of": "DF-5671 (sys/platform/vkernel64/platform/ipl_funcs.c)", "reproduce": { "build": "none — pure objdump/nm inspection of the running guest kernel image", "run": "findings/poc/DF-5672/run.sh", "expected": "Every setsoft*/schedsofttty/setdelayed shows an UNLOCKED 'orl $bit,0x42cc(%rax)' (gd_spending) or 'orl $0x1,0x42d0(%rax)' (gd_sdelayed), followed by a LOCKED 'lock orl $0x2,0x18(%rax)' (gd_reqflags RQF_INTPEND) — contradicting the comment at ipl_funcs.c:42 ('setbits uses a locked or, making simple cases MP safe'). splz entry shows 'incl 0xd4(%rbx)' (TD_CRITCOUNT self-guard)." }, "kernel_refs": [ "sys/platform/pc64/x86_64/ipl_funcs.c:37-43", "sys/platform/pc64/x86_64/ipl_funcs.c:44-51", "sys/cpu/x86_64/include/atomic.h:72-74", "sys/cpu/x86_64/include/atomic.h:110-115", "sys/platform/pc64/include/globaldata.h:76-77", "sys/platform/pc64/x86_64/ipl.s:275", "sys/platform/pc64/x86_64/ipl.s:431", "sys/kern/lwkt_ipiq.c:308-315" ], "artifacts": [ "README.md", "VERDICT.md", "disasm_live.sh", "run.sh", "run.log", "env.txt", "fix.diff", "manifest.json", "verdict.json" ] } |