DragonFlyBSD Kernel Audit
← dashboard
DF-0212

lwkt_serialize_handler_try omits post-acquire re-check of handler-enabled bit

Summary

handler_call(:169,:174) double-checks handler-enabled bit (before+after acquire). handler_try(:197) checks before only, NOT after(:199). Race: handler_disable sets bit 30 between check and acquire -> func() runs after disable. Mitigated: in-tree callers mask HW interrupts or hold serializer. Contract gap.