From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1031234AbbKFBXS (ORCPT ); Thu, 5 Nov 2015 20:23:18 -0500 Received: from mail-yk0-f174.google.com ([209.85.160.174]:36698 "EHLO mail-yk0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1030248AbbKFBXR (ORCPT ); Thu, 5 Nov 2015 20:23:17 -0500 From: Paul Moore To: Richard Guy Briggs Cc: linux-audit@redhat.com, linux-kernel@vger.kernel.org, v.rathor@gmail.com Subject: Re: [RFC PATCH 7/7] audit: wake up kauditd_thread after auditd registers Date: Thu, 05 Nov 2015 20:23:15 -0500 Message-ID: <4312251.yAvT2B0k4f@sifl> User-Agent: KMail/4.14.10 (Linux/4.2.3-gentoo; KDE/4.14.13; x86_64; ; ) In-Reply-To: <0561e1479db8d7ac6d58e6b7d37647dc1cb62fb0.1445539473.git.rgb@redhat.com> References: <0561e1479db8d7ac6d58e6b7d37647dc1cb62fb0.1445539473.git.rgb@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thursday, October 22, 2015 02:53:20 PM Richard Guy Briggs wrote: > When auditd is restarted, even though the kauditd_thread is present, it > remains dormant until the next audit log message is queued. > > Wake up the kauditd_thread in the kauditd_wait queue immediately when > auditd registers its availability to drain the queue. > > Signed-off-by: Richard Guy Briggs > --- > kernel/audit.c | 2 ++ > 1 files changed, 2 insertions(+), 0 deletions(-) See my 6/7 comment ... this could/should go in the auditd_register() function. > diff --git a/kernel/audit.c b/kernel/audit.c > index 688fa1e..369cfcc 100644 > --- a/kernel/audit.c > +++ b/kernel/audit.c > @@ -885,6 +885,8 @@ static int audit_receive_msg(struct sk_buff *skb, struct > nlmsghdr *nlh) audit_sock = skb->sk; > if (!audit_pid) > wake_up(&audit_backlog_wait); > + if (audit_pid) > + wake_up_interruptible(&kauditd_wait); > } > if (s.mask & AUDIT_STATUS_RATE_LIMIT) { > err = audit_set_rate_limit(s.rate_limit); -- paul moore www.paul-moore.com