[PATCH 0/2] audit: fix recursive locking deadlock and dangling rule removal
Ricardo Robaina <[email protected]> Tue, 14 Apr 2026 17:00:46 -0300
| Newsgroups | org.kernel.vger.audit,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
This patch series fixes a recursive locking deadlock in audit_dupe_exe() code path, as well as, a bug that prevents the deletion of dangling audit rules. The first patch fixes the deadlock in audit_dupe_exe() by introducing the audit_watch_ctx struct to pass the fsnotify event context down the call chain. This safely bypasses the need for kern_path_parent() during move events, avoiding a double acquisition of the I_MUTEX_PARENT lock. The second one, simply removes the d_really_is_negative() check in audit_alloc_mark() to allow dummy mark allocation, fixing the -ENOENT failure when deleting dangling rules for unlinked executables. Acked-by: Waiman Long <[email protected]> Signed-off-by: Ricardo Robaina <[email protected]> --- Ricardo Robaina (2): audit: fix recursive locking deadlock in audit_dupe_exe() audit: fix removal of dangling executable rules kernel/audit.h | 13 ++++++++++--- kernel/audit_fsnotify.c | 29 ++++++++++++++++++----------- kernel/audit_watch.c | 25 +++++++++++++++++-------- kernel/auditfilter.c | 9 +++++---- 4 files changed, 50 insertions(+), 26 deletions(-) -- 2.53.0