• R
    audit: prevent an older auditd shutdown from orphaning a newer auditd startup · 34eab0a7
    Richard Guy Briggs 提交于
    There have been reports of auditd restarts resulting in kaudit not being able
    to find a newly registered auditd.  It results in reports such as:
    	kernel: [ 2077.233573] audit: *NO* daemon at audit_pid=1614
    	kernel: [ 2077.234712] audit: audit_lost=97 audit_rate_limit=0 audit_backlog_limit=320
    	kernel: [ 2077.234718] audit: auditd disappeared
    		(previously mis-spelled "dissapeared")
    
    One possible cause is a race between the shutdown of an older auditd and a
    newer one.  If the newer one sets the daemon pid to itself in kauditd before
    the older one has cleared the daemon pid, the newer daemon pid will be erased.
    This could be caused by an automated system, or by manual intervention, but in
    either case, there is no use in having the older daemon clear the daemon pid
    reference since its old pid is no longer being referenced.  This patch will
    prevent that specific case, returning an error of EACCES.
    
    The case for preventing a newer auditd from registering itself if there is an
    existing auditd is a more difficult case that is beyond the scope of this
    patch.
    Signed-off-by: NRichard Guy Briggs <rgb@redhat.com>
    Signed-off-by: NEric Paris <eparis@redhat.com>
    34eab0a7
audit.c 50.8 KB