DF-2729 / manifest.json
{ "finding_id": "DF-2729", "title": "_lwkt_schedule() KKASSERT(TDF_MIGRATING == 0) contradicts _lwkt_enqueue()'s by-design TDF_MIGRATING swallow during push/pull migration windows (INVARIANTS panic)", "verdict": "reproduced", "impact": "panic", "reproduce": { "build": "cd /tmp/df2728 && make obj && make (kmod.mk against /usr/src/sys, INVARIANTS X86_64_GENERIC kernel)", "run": "usched :1 kldload /usr/obj/tmp/df2728/df2728.ko; usched :1 sysctl -n debug.df2728=2", "expected": "panic: assertion \"(td->td_flags & TDF_MIGRATING) == 0\" failed in _lwkt_schedule at /usr/src/sys/kern/lwkt_thread.c:1293 (observed at sender-side entry of the same inlined check, cpuid=0; the IPI-side re-entry executes the identical check)" }, "kernel_refs": [ "sys/kern/lwkt_thread.c:1293", "sys/kern/lwkt_thread.c:188", "sys/kern/lwkt_thread.c:1562-1594", "sys/kern/lwkt_thread.c:862-868", "sys/kern/lwkt_thread.c:1363-1420", "sys/kern/lwkt_thread.c:1616-1629" ], "artifacts": [ "df2728.c", "Makefile", "build.sh", "run.sh", "build.log", "run.log", "panic.txt", "env.txt", "VERDICT.md", "fix.diff", "manifest.json", "verdict.json" ] } |