This commit was manufactured by cvs2svn to create branch 'vserver'.
[linux-2.6.git] / kernel / auditsc.c
index 342b571..0962944 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;
                }
        }
@@ -856,6 +857,7 @@ void audit_putname(const char *name)
        }
 #endif
 }
+EXPORT_SYMBOL(audit_putname);
 
 /* Store the inode and device from a lookup.  Called from
  * fs/namei.c:path_lookup(). */
@@ -912,11 +914,3 @@ int audit_set_loginuid(struct audit_context *ctx, uid_t loginuid)
        }
        return 0;
 }
-
-EXPORT_SYMBOL_GPL(audit_alloc);
-EXPORT_SYMBOL_GPL(audit_free);
-EXPORT_SYMBOL_GPL(audit_syscall_entry);
-EXPORT_SYMBOL_GPL(audit_syscall_exit);
-EXPORT_SYMBOL_GPL(audit_getname);
-EXPORT_SYMBOL_GPL(audit_putname);
-EXPORT_SYMBOL_GPL(audit_inode);