audit: hand taken context to audit_kill_trees for syscall logging
Since the context is derived from the task parameter handed to __audit_free(), hand the context to audit_kill_trees() so it can be used to associate with a syscall record. This requires adding the context parameter to kill_rules() rather than using the current audit_context. The callers of trim_marked() and evict_chunk() still have their context. The EOE record was being issued prior to the pruning of the killed_tree list. Move the kill_trees call before the audit_log_exit call in __audit_free() and __audit_syscall_exit() so that any pruned trees CONFIG_CHANGE records are included with the associated syscall event by the user library due to the EOE record flagging the end of the event. See: https://github.com/linux-audit/audit-kernel/issues/50 See: https://github.com/linux-audit/audit-kernel/issues/59 Signed-off-by: Richard Guy Briggs <rgb@redhat.com> [PM: fixed merge fuzz in kernel/audit_tree.c] Signed-off-by: Paul Moore <paul@paul-moore.com>
This commit is contained in:

committed by
Paul Moore

parent
53fc7a01df
commit
9e36a5d49c
@@ -314,7 +314,7 @@ extern void audit_trim_trees(void);
|
||||
extern int audit_tag_tree(char *old, char *new);
|
||||
extern const char *audit_tree_path(struct audit_tree *tree);
|
||||
extern void audit_put_tree(struct audit_tree *tree);
|
||||
extern void audit_kill_trees(struct list_head *list);
|
||||
extern void audit_kill_trees(struct audit_context *context);
|
||||
#else
|
||||
#define audit_remove_tree_rule(rule) BUG()
|
||||
#define audit_add_tree_rule(rule) -EINVAL
|
||||
@@ -323,7 +323,7 @@ extern void audit_kill_trees(struct list_head *list);
|
||||
#define audit_put_tree(tree) (void)0
|
||||
#define audit_tag_tree(old, new) -EINVAL
|
||||
#define audit_tree_path(rule) "" /* never called */
|
||||
#define audit_kill_trees(list) BUG()
|
||||
#define audit_kill_trees(context) BUG()
|
||||
#endif
|
||||
|
||||
extern char *audit_unpack_string(void **bufp, size_t *remain, size_t len);
|
||||
|
Reference in New Issue
Block a user