Merge tag 'audit-pr-20210830' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit
Pull audit updates from Paul Moore:
"Two patches in the audit pull request for v5.15; one is trivial
("header protection") but the second is a real patch that fixes a
refcounting problem.
The refcount fix normally would have been sent up during the -rcX
cycle, but since we merged it less than a week before v5.14 proper I
felt it was better to wait for the merge window to open; the patch is
marked with the usual -stable markings"
* tag 'audit-pr-20210830' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
audit: move put_tree() to avoid trim_trees refcount underflow and UAF
audit: add header protection to kernel/audit.h
This commit is contained in:
@@ -6,6 +6,9 @@
|
|||||||
* Copyright 2005 IBM Corporation
|
* Copyright 2005 IBM Corporation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef _KERNEL_AUDIT_H_
|
||||||
|
#define _KERNEL_AUDIT_H_
|
||||||
|
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
#include <linux/audit.h>
|
#include <linux/audit.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
@@ -331,3 +334,5 @@ extern int audit_filter(int msgtype, unsigned int listtype);
|
|||||||
|
|
||||||
extern void audit_ctl_lock(void);
|
extern void audit_ctl_lock(void);
|
||||||
extern void audit_ctl_unlock(void);
|
extern void audit_ctl_unlock(void);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -593,7 +593,6 @@ static void prune_tree_chunks(struct audit_tree *victim, bool tagged)
|
|||||||
spin_lock(&hash_lock);
|
spin_lock(&hash_lock);
|
||||||
}
|
}
|
||||||
spin_unlock(&hash_lock);
|
spin_unlock(&hash_lock);
|
||||||
put_tree(victim);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -602,6 +601,7 @@ static void prune_tree_chunks(struct audit_tree *victim, bool tagged)
|
|||||||
static void prune_one(struct audit_tree *victim)
|
static void prune_one(struct audit_tree *victim)
|
||||||
{
|
{
|
||||||
prune_tree_chunks(victim, false);
|
prune_tree_chunks(victim, false);
|
||||||
|
put_tree(victim);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* trim the uncommitted chunks from tree */
|
/* trim the uncommitted chunks from tree */
|
||||||
|
|||||||
Reference in New Issue
Block a user