Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 04ee1a3b authored by Richard Guy Briggs's avatar Richard Guy Briggs Committed by Eric Paris
Browse files

audit: get rid of *NO* daemon at audit_pid=0 message



kauditd_send_skb is called after audit_pid was checked to be non-zero.

However, it can be set to 0 due to auditd exiting while kauditd_send_skb
is still executed and this can result in a spurious warning about missing
auditd.

Re-check audit_pid before printing the message.

Signed-off-by: default avatarMateusz Guzik <mguzik@redhat.com>
Cc: Eric Paris <eparis@redhat.com>
Cc: linux-kernel@vger.kernel.org
Acked-by: default avatarEric Paris <eparis@redhat.com>
Signed-off-by: default avatarRichard Guy Briggs <rgb@redhat.com>
Signed-off-by: default avatarEric Paris <eparis@redhat.com>
parent 61c0ee87
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -410,10 +410,12 @@ static void kauditd_send_skb(struct sk_buff *skb)
	err = netlink_unicast(audit_sock, skb, audit_nlk_portid, 0);
	if (err < 0) {
		BUG_ON(err != -ECONNREFUSED); /* Shouldn't happen */
		if (audit_pid) {
			printk(KERN_ERR "audit: *NO* daemon at audit_pid=%d\n", audit_pid);
			audit_log_lost("auditd disappeared\n");
			audit_pid = 0;
			audit_sock = NULL;
		}
		/* we might get lucky and get this in the next auditd */
		audit_hold_skb(skb);
	} else