From mboxrd@z Thu Jan 1 00:00:00 1970 From: Amy Griffis Subject: [PATCH git] revert audit_netlink_mutex change in filesystem audit patch Date: Wed, 26 Apr 2006 19:49:02 -0400 Message-ID: <20060426234902.GA31862@zk3.dec.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mx1.redhat.com (mx1.redhat.com [172.16.48.31]) by int-mx1.corp.redhat.com (8.12.11.20060308/8.11.6) with ESMTP id k3QNnGTF016312 for ; Wed, 26 Apr 2006 19:49:16 -0400 Received: from tayrelbas04.tay.hp.com (tayrelbas04.tay.hp.com [161.114.80.247]) by mx1.redhat.com (8.12.11.20060308/8.12.11) with ESMTP id k3QNnDRs008762 for ; Wed, 26 Apr 2006 19:49:13 -0400 Received: from tayrelint01.nz-tay.cpqcorp.net (tayrelint01.nz-tay.cpqcorp.net [16.47.5.6]) by tayrelbas04.tay.hp.com (Postfix) with ESMTP id E30AA341DB for ; Wed, 26 Apr 2006 19:49:02 -0400 (EDT) Received: from dill.zko.hp.com (dill.zko.hp.com [16.116.96.242]) by tayrelint01.nz-tay.cpqcorp.net (Postfix) with ESMTP id CA34234008 for ; Wed, 26 Apr 2006 19:49:02 -0400 (EDT) Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-audit-bounces@redhat.com Errors-To: linux-audit-bounces@redhat.com To: linux-audit@redhat.com List-Id: linux-audit@redhat.com Replacing the audit_netlink_mutex with audit_add_rm_mutex wasn't a good idea, so put it back. While we're at it, use a more descriptive name. Please fold in with lspp.b8 d4bae8540266d609990e7c60acaca488c9ee45c2. Signed-off-by: Amy Griffis -- audit.c | 6 ++++++ auditfilter.c | 12 ------------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/kernel/audit.c b/kernel/audit.c index 7addbf9..0246f44 100644 --- a/kernel/audit.c +++ b/kernel/audit.c @@ -118,6 +118,9 @@ static struct task_struct *kauditd_task; static DECLARE_WAIT_QUEUE_HEAD(kauditd_wait); static DECLARE_WAIT_QUEUE_HEAD(audit_backlog_wait); +/* Serialize requests from userspace. */ +DEFINE_MUTEX(audit_cmd_mutex); + /* AUDIT_BUFSIZ is the size of the temporary buffer used for formatting * audit records. Since printk uses a 1024 byte buffer, this buffer * should be at least that large. */ @@ -628,11 +631,14 @@ static void audit_receive(struct sock *s struct sk_buff *skb; unsigned int qlen; + mutex_lock(&audit_cmd_mutex); + for (qlen = skb_queue_len(&sk->sk_receive_queue); qlen; qlen--) { skb = skb_dequeue(&sk->sk_receive_queue); audit_receive_skb(skb); kfree_skb(skb); } + mutex_unlock(&audit_cmd_mutex); } diff --git a/kernel/auditfilter.c b/kernel/auditfilter.c index eb102ff..d056173 100644 --- a/kernel/auditfilter.c +++ b/kernel/auditfilter.c @@ -41,13 +41,6 @@ #include "audit.h" * must be copied and replace their counterparts in the filterlist. * An audit_parent struct is not accessed during filtering, so may * be written directly provided audit_filter_mutex is held. - * - * audit_add_rm_mutex: - * Prevents a removal request for a rule that is currently being - * added. The audit_filter_mutex must be dropped to do some parts - * of add/remove processing, so may not be used for this purpose. - * This situation could be mitigated by referencing rules by id - * numbers. */ /* @@ -99,7 +92,6 @@ #endif }; DEFINE_MUTEX(audit_filter_mutex); -DEFINE_MUTEX(audit_add_rm_mutex); /* Inotify handle */ extern struct inotify_handle *audit_ih; @@ -1193,10 +1185,8 @@ int audit_receive_filter(int type, int p if (IS_ERR(entry)) return PTR_ERR(entry); - mutex_lock(&audit_add_rm_mutex); err = audit_add_rule(entry, &audit_filter_list[entry->rule.listnr]); - mutex_unlock(&audit_add_rm_mutex); if (sid) { char *ctx = NULL; @@ -1228,10 +1218,8 @@ int audit_receive_filter(int type, int p if (IS_ERR(entry)) return PTR_ERR(entry); - mutex_lock(&audit_add_rm_mutex); err = audit_del_rule(entry, &audit_filter_list[entry->rule.listnr]); - mutex_unlock(&audit_add_rm_mutex); if (sid) { char *ctx = NULL;