VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / kernel / auditsc.c
index 342b571..e688c73 100644 (file)
@@ -177,9 +177,10 @@ static inline int audit_add_rule(struct audit_entry *entry,
        return 0;
 }
 
-static void audit_free_rule(void *arg)
+static void audit_free_rule(struct rcu_head *head)
 {
-       kfree(arg);
+       struct audit_entry *e = container_of(head, struct audit_entry, rcu);
+       kfree(e);
 }
 
 /* Note that audit_add_rule and audit_del_rule are called via
@@ -195,7 +196,7 @@ static inline int audit_del_rule(struct audit_rule *rule,
        list_for_each_entry(e, list, list) {
                if (!audit_compare_rule(rule, &e->rule)) {
                        list_del_rcu(&e->list);
-                       call_rcu(&e->rcu, audit_free_rule, e);
+                       call_rcu(&e->rcu, audit_free_rule);
                        return 0;
                }
        }