diff options
| author | Luxiao Xu <rakukuip@gmail.com> | 2026-07-21 23:37:41 +0800 |
|---|---|---|
| committer | Paul Moore <paul@paul-moore.com> | 2026-07-29 16:19:06 -0400 |
| commit | 246df90b5f1a8a6e6abbd2f058b029558720adec (patch) | |
| tree | f16a08d548bbddc16f86ba3644964631cc9e004a /tools/perf/scripts/python | |
| parent | f865c143629d4094866a811dba5f329250bad486 (diff) | |
audit: fix potential use-after-free in audit_del_rule()
`audit_del_rule()` destroys `e->rule.exe` via `audit_remove_mark_rule()`
before unlinking the rule from RCU-visible filter lists and waiting for a
grace period. Concurrent readers in `audit_filter()` and
`audit_filter_rules()` still dereference `e->rule.exe`, while the fsnotify
mark can be freed on an independent lifetime path. This creates a
use-after-free window during rule deletion.
Fix this by unlinking the rule from the RCU-visible lists and invoking
`synchronize_rcu()` before calling `audit_remove_mark_rule()` (and other
rule removal helpers). This ensures that all existing RCU readers have
exited the critical section before any underlying resources are destroyed.
Cc: stable@vger.kernel.org
Fixes: 34d99af52ad4 ("audit: implement audit by executable")
Reported-by: Vega <vega@nebusec.ai>
Assisted-by: Codex:gpt-5.4
Signed-off-by: Luxiao Xu <rakukuip@gmail.com>
Signed-off-by: Ren Wei <enjou1224z@gmail.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
