β¬’ DragonFlyBSD Kernel Audit
← triage Β· dashboard
DF-4427

acpi_hp_notify / acpi_hp_evaluate_auto_on_off run without the hp serial lock, racing sysctl handlers on softc state

Summary

Notify is dispatched after the acpi_wmi lock is released and never takes ACPI_SERIAL(hp); evaluate_auto_on_off reads/writes was_wlan/bt/wwan_on_air unsynchronized while every sysctl handler mutates the same fields under the lock. DF-2383 covers lifetime; this is the distinct serialization defect - lost/duplicated radio on-air notifications, benign int races, no memory-safety consequence. Lock-bracket fix.

Discussion (0)

No comments yet.

PoC verification

Evidence pack

findings/poc/DF-4427 Β· 1 files
FileTypeDescriptionSize
verdict.json file 1.2 KB view raw

Fix verification

not_testable
baseline no→ patch + rebuild →patched clean

not_testable

three-line ACPI_SERIAL(hp) bracket around evaluate_auto_on_off call in acpi_hp_notify (in finding markdown)
per-fix-DF-4427

Confirmed kernel references

Detail

Exploit chain

[]

Evidence (decisive lines)

Info-level lock-protocol omission; source trace in finding (notify dispatched after acpi_wmi release, evaluate_auto_on_off mutates was_*_on_air unsynchronized vs sysctl handlers under ACPI_SERIAL(hp)). No PoC beyond kernel-instrumented race demo - skipped per Info.

Verdict

not_run: Info hardening finding, serialization-only