You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Fix rule eviction order for AUDIT_DIR
If syscall removes the root of subtree being watched, we definitely do not want the rules refering that subtree to be destroyed without the syscall in question having a chance to match them. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
+1
-16
@@ -133,7 +133,7 @@ static DECLARE_WAIT_QUEUE_HEAD(kauditd_wait);
|
||||
static DECLARE_WAIT_QUEUE_HEAD(audit_backlog_wait);
|
||||
|
||||
/* Serialize requests from userspace. */
|
||||
static DEFINE_MUTEX(audit_cmd_mutex);
|
||||
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
|
||||
@@ -505,21 +505,6 @@ int audit_send_list(void *_dest)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_AUDIT_TREE
|
||||
static int prune_tree_thread(void *unused)
|
||||
{
|
||||
mutex_lock(&audit_cmd_mutex);
|
||||
audit_prune_trees();
|
||||
mutex_unlock(&audit_cmd_mutex);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void audit_schedule_prune(void)
|
||||
{
|
||||
kthread_run(prune_tree_thread, NULL, "audit_prune_tree");
|
||||
}
|
||||
#endif
|
||||
|
||||
struct sk_buff *audit_make_reply(int pid, int seq, int type, int done,
|
||||
int multi, void *payload, int size)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user