HomeFreeBSD

devfs: add integrity asserts for cdevp_list

Description

devfs: add integrity asserts for cdevp_list

It's possible for misuse of cdev KPIs or for bugs in devfs itself to
result in e.g. a cdev object's container being freed while still on the
global list used to populate each devfs mount; see PR 273418 for a
recent example.

Since a node may be marked inactive well before it is reaped from the
list, add a new flag solely to track list membership, and employ it in
some basic list integrity assertions to catch bad actors.

Discussed with: kib, mjg

(cherry picked from commit 67864268da53b792836f13be10299de8cd62997e)

Details

Provenance
jahAuthored on Sep 19 2023, 1:44 PM
Parents
rG49c1b353390c: dtrace: Fix a kernel panic in printm()
Branches
Unknown
Tags
Unknown