audit: fix oops removing watch if audit disabled
Removing a watched file will oops if audit is disabled (auditctl -e 0). To reproduce: - auditctl -e 1 - touch /tmp/foo - auditctl -w /tmp/foo - auditctl -e 0 - rm /tmp/foo (or mv) Signed-off-by: Tony Jones <tonyj@suse.de> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
266f5aa097
Коммит
7b018b2888
|
@ -947,7 +947,7 @@ static void audit_update_watch(struct audit_parent *parent,
|
||||||
|
|
||||||
/* If the update involves invalidating rules, do the inode-based
|
/* If the update involves invalidating rules, do the inode-based
|
||||||
* filtering now, so we don't omit records. */
|
* filtering now, so we don't omit records. */
|
||||||
if (invalidating &&
|
if (invalidating && current->audit_context &&
|
||||||
audit_filter_inodes(current, current->audit_context) == AUDIT_RECORD_CONTEXT)
|
audit_filter_inodes(current, current->audit_context) == AUDIT_RECORD_CONTEXT)
|
||||||
audit_set_auditable(current->audit_context);
|
audit_set_auditable(current->audit_context);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче