[DF4919] loaded: sysctl hw.df4919_test=1|2|3 (needs drm.ko loaded first: kldload drm) [DF4919] test=2 mode=cancel_work_sync panic_on_hit=1: feeder+2 cancellers (or feeder+flusher) hammering one work; probing the unlocked flag reads at _cancel_work():364 / flush_work():331 against the worker transition (:74->:87) and the queue_work() insert publication (:138->:141) panic: DF-4919: work executed AFTER cancel_work_sync()/flush_work() returned — process_all_work called func on work the caller was told is dead (linux_workqueue.c:74 vs :364) cpuid = 1 wk_func() at wk_func+0x6e 0xffffffff831dd76e wk_func() at wk_func+0x6e 0xffffffff831dd76e wq_worker_thread() at wq_worker_thread+0xb0 0xffffffff82649930 Debugger("panic") Stopped at Debugger+0x7c: movb $0,0xbdaf09(%rip)