[PATCH RFC 23/48] Audit: netfilter: Log xt table replace behavior in proper user namespace

Gao feng gaofeng at cn.fujitsu.com
Tue May 7 02:20:44 UTC 2013


Log the audit message in the user namespace which
current task belongs to.

Signed-off-by: Gao feng <gaofeng at cn.fujitsu.com>
---
 net/netfilter/x_tables.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/net/netfilter/x_tables.c b/net/netfilter/x_tables.c
index 8b03028..ba90a1b 100644
--- a/net/netfilter/x_tables.c
+++ b/net/netfilter/x_tables.c
@@ -824,6 +824,7 @@ xt_replace_table(struct xt_table *table,
 	      int *error)
 {
 	struct xt_table_info *private;
+	struct user_namespace *ns = current_user_ns();
 	int ret;
 
 	ret = xt_jumpstack_alloc(newinfo);
@@ -857,16 +858,16 @@ xt_replace_table(struct xt_table *table,
 	local_bh_enable();
 
 #ifdef CONFIG_AUDIT
-	if (audit_enabled) {
+	if (audit_enabled_ns(ns)) {
 		struct audit_buffer *ab;
 
-		ab = audit_log_start(current->audit_context, GFP_KERNEL,
-				     AUDIT_NETFILTER_CFG);
+		ab = audit_log_start_ns(ns, current->audit_context,
+					GFP_KERNEL, AUDIT_NETFILTER_CFG);
 		if (ab) {
 			audit_log_format(ab, "table=%s family=%u entries=%u",
 					 table->name, table->af,
 					 private->number);
-			audit_log_end(ab);
+			audit_log_end_ns(ns, ab);
 		}
 	}
 #endif
-- 
1.8.1.4



More information about the Containers mailing list