Fix bad list management in audit_inotify_unregister().

Al, please fold in with latest filesystem auditing patch
46c438b705c31284f31c64a0d18bf3bd6c62cde3.

Signed-off-by: Amy Griffis <[EMAIL PROTECTED]>

diff --git a/kernel/auditfilter.c b/kernel/auditfilter.c
index f993842..7609694 100644
--- a/kernel/auditfilter.c
+++ b/kernel/auditfilter.c
@@ -822,9 +822,10 @@ static inline void audit_remove_parent_w
  * Generates an IN_IGNORED event. */
 static void audit_inotify_unregister(struct list_head *in_list)
 {
-       struct audit_parent *p;
+       struct audit_parent *p, *n;
 
-       list_for_each_entry(p, in_list, ilist) {
+       list_for_each_entry_safe(p, n, in_list, ilist) {
+               list_del(&p->ilist);
                inotify_rm_watch(audit_ih, &p->wdata);
                /* the put matching the get in audit_do_del_rule() */
                put_inotify_watch(&p->wdata);

--
Linux-audit mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/linux-audit

Reply via email to