提交 e359bce3 编写于 作者: L Linus Torvalds

Merge tag 'audit-pr-20210426' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit

Pull audit updates from Paul Moore:
 "Another small pull request for audit, most of the patches are
  documentation updates with only two real code changes: one to fix a
  compiler warning for a dummy function/macro, and one to cleanup some
  code since we removed the AUDIT_FILTER_ENTRY ages ago (v4.17)"

* tag 'audit-pr-20210426' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
  audit: drop /proc/PID/loginuid documentation Format field
  audit: avoid -Wempty-body warning
  audit: document /proc/PID/sessionid
  audit: document /proc/PID/loginuid
  MAINTAINERS: update audit files
  audit: further cleanup of AUDIT_FILTER_ENTRY deprecation
What: Audit Login UID
Date: 2005-02-01
KernelVersion: 2.6.11-rc2 1e2d1492e178 ("[PATCH] audit: handle loginuid through proc")
Contact: linux-audit@redhat.com
Users: audit and login applications
Description:
The /proc/$pid/loginuid pseudofile is written to set and
read to get the audit login UID of process $pid as a
decimal unsigned int (%u, u32). If it is unset,
permissions are not needed to set it. The accessor must
have CAP_AUDIT_CONTROL in the initial user namespace to
write it if it has been set. It cannot be written again
if AUDIT_FEATURE_LOGINUID_IMMUTABLE is enabled. It
cannot be unset if AUDIT_FEATURE_ONLY_UNSET_LOGINUID is
enabled.
What: Audit Login Session ID
Date: 2008-03-13
KernelVersion: 2.6.25-rc7 1e0bd7550ea9 ("[PATCH] export sessionid alongside the loginuid in procfs")
Contact: linux-audit@redhat.com
Users: audit and login applications
Description:
The /proc/$pid/sessionid pseudofile is read to get the
audit login session ID of process $pid as a decimal
unsigned int (%u, u32). It is set automatically,
serially assigned with each new login.
...@@ -3018,9 +3018,11 @@ L: linux-audit@redhat.com (moderated for non-subscribers) ...@@ -3018,9 +3018,11 @@ L: linux-audit@redhat.com (moderated for non-subscribers)
S: Supported S: Supported
W: https://github.com/linux-audit W: https://github.com/linux-audit
T: git git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git
F: include/asm-generic/audit_*.h
F: include/linux/audit.h F: include/linux/audit.h
F: include/uapi/linux/audit.h F: include/uapi/linux/audit.h
F: kernel/audit* F: kernel/audit*
F: lib/*audit.c
AUXILIARY DISPLAY DRIVERS AUXILIARY DISPLAY DRIVERS
M: Miguel Ojeda <ojeda@kernel.org> M: Miguel Ojeda <ojeda@kernel.org>
......
...@@ -292,8 +292,8 @@ extern void audit_filter_inodes(struct task_struct *tsk, ...@@ -292,8 +292,8 @@ extern void audit_filter_inodes(struct task_struct *tsk,
extern struct list_head *audit_killed_trees(void); extern struct list_head *audit_killed_trees(void);
#else /* CONFIG_AUDITSYSCALL */ #else /* CONFIG_AUDITSYSCALL */
#define auditsc_get_stamp(c, t, s) 0 #define auditsc_get_stamp(c, t, s) 0
#define audit_put_watch(w) {} #define audit_put_watch(w) do { } while (0)
#define audit_get_watch(w) {} #define audit_get_watch(w) do { } while (0)
#define audit_to_watch(k, p, l, o) (-EINVAL) #define audit_to_watch(k, p, l, o) (-EINVAL)
#define audit_add_watch(k, l) (-EINVAL) #define audit_add_watch(k, l) (-EINVAL)
#define audit_remove_watch_rule(k) BUG() #define audit_remove_watch_rule(k) BUG()
...@@ -302,8 +302,8 @@ extern struct list_head *audit_killed_trees(void); ...@@ -302,8 +302,8 @@ extern struct list_head *audit_killed_trees(void);
#define audit_alloc_mark(k, p, l) (ERR_PTR(-EINVAL)) #define audit_alloc_mark(k, p, l) (ERR_PTR(-EINVAL))
#define audit_mark_path(m) "" #define audit_mark_path(m) ""
#define audit_remove_mark(m) #define audit_remove_mark(m) do { } while (0)
#define audit_remove_mark_rule(k) #define audit_remove_mark_rule(k) do { } while (0)
#define audit_mark_compare(m, i, d) 0 #define audit_mark_compare(m, i, d) 0
#define audit_exe_compare(t, m) (-EINVAL) #define audit_exe_compare(t, m) (-EINVAL)
#define audit_dupe_exe(n, o) (-EINVAL) #define audit_dupe_exe(n, o) (-EINVAL)
...@@ -311,8 +311,8 @@ extern struct list_head *audit_killed_trees(void); ...@@ -311,8 +311,8 @@ extern struct list_head *audit_killed_trees(void);
#define audit_remove_tree_rule(rule) BUG() #define audit_remove_tree_rule(rule) BUG()
#define audit_add_tree_rule(rule) -EINVAL #define audit_add_tree_rule(rule) -EINVAL
#define audit_make_tree(rule, str, op) -EINVAL #define audit_make_tree(rule, str, op) -EINVAL
#define audit_trim_trees() (void)0 #define audit_trim_trees() do { } while (0)
#define audit_put_tree(tree) (void)0 #define audit_put_tree(tree) do { } while (0)
#define audit_tag_tree(old, new) -EINVAL #define audit_tag_tree(old, new) -EINVAL
#define audit_tree_path(rule) "" /* never called */ #define audit_tree_path(rule) "" /* never called */
#define audit_kill_trees(context) BUG() #define audit_kill_trees(context) BUG()
......
...@@ -805,8 +805,7 @@ static int audit_in_mask(const struct audit_krule *rule, unsigned long val) ...@@ -805,8 +805,7 @@ static int audit_in_mask(const struct audit_krule *rule, unsigned long val)
* (i.e., the state is AUDIT_SETUP_CONTEXT or AUDIT_BUILD_CONTEXT). * (i.e., the state is AUDIT_SETUP_CONTEXT or AUDIT_BUILD_CONTEXT).
*/ */
static void audit_filter_syscall(struct task_struct *tsk, static void audit_filter_syscall(struct task_struct *tsk,
struct audit_context *ctx, struct audit_context *ctx)
struct list_head *list)
{ {
struct audit_entry *e; struct audit_entry *e;
enum audit_state state; enum audit_state state;
...@@ -815,7 +814,7 @@ static void audit_filter_syscall(struct task_struct *tsk, ...@@ -815,7 +814,7 @@ static void audit_filter_syscall(struct task_struct *tsk,
return; return;
rcu_read_lock(); rcu_read_lock();
list_for_each_entry_rcu(e, list, list) { list_for_each_entry_rcu(e, &audit_filter_list[AUDIT_FILTER_EXIT], list) {
if (audit_in_mask(&e->rule, ctx->major) && if (audit_in_mask(&e->rule, ctx->major) &&
audit_filter_rules(tsk, &e->rule, ctx, NULL, audit_filter_rules(tsk, &e->rule, ctx, NULL,
&state, false)) { &state, false)) {
...@@ -1627,8 +1626,7 @@ void __audit_free(struct task_struct *tsk) ...@@ -1627,8 +1626,7 @@ void __audit_free(struct task_struct *tsk)
context->return_valid = AUDITSC_INVALID; context->return_valid = AUDITSC_INVALID;
context->return_code = 0; context->return_code = 0;
audit_filter_syscall(tsk, context, audit_filter_syscall(tsk, context);
&audit_filter_list[AUDIT_FILTER_EXIT]);
audit_filter_inodes(tsk, context); audit_filter_inodes(tsk, context);
if (context->current_state == AUDIT_RECORD_CONTEXT) if (context->current_state == AUDIT_RECORD_CONTEXT)
audit_log_exit(); audit_log_exit();
...@@ -1735,8 +1733,7 @@ void __audit_syscall_exit(int success, long return_code) ...@@ -1735,8 +1733,7 @@ void __audit_syscall_exit(int success, long return_code)
else else
context->return_code = return_code; context->return_code = return_code;
audit_filter_syscall(current, context, audit_filter_syscall(current, context);
&audit_filter_list[AUDIT_FILTER_EXIT]);
audit_filter_inodes(current, context); audit_filter_inodes(current, context);
if (context->current_state == AUDIT_RECORD_CONTEXT) if (context->current_state == AUDIT_RECORD_CONTEXT)
audit_log_exit(); audit_log_exit();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册