forked from Minki/linux
audit: move audit_signal_info() into kernel/auditsc.c
Commit 5b52330bbf
("audit: fix auditd/kernel connection state
tracking") made inlining audit_signal_info() a bit pointless as
it was always calling into auditd_test_task() so let's remove the
inline function in kernel/audit.h and convert __audit_signal_info()
in kernel/auditsc.c into audit_signal_info().
Reviewed-by: Richard Guy Briggs <rgb@redhat.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
This commit is contained in:
parent
5b52330bbf
commit
ab6434a137
@ -333,13 +333,7 @@ extern u32 audit_sig_sid;
|
||||
extern int audit_filter(int msgtype, unsigned int listtype);
|
||||
|
||||
#ifdef CONFIG_AUDITSYSCALL
|
||||
extern int __audit_signal_info(int sig, struct task_struct *t);
|
||||
static inline int audit_signal_info(int sig, struct task_struct *t)
|
||||
{
|
||||
if (auditd_test_task(t) || (audit_signals && !audit_dummy_context()))
|
||||
return __audit_signal_info(sig, t);
|
||||
return 0;
|
||||
}
|
||||
extern int audit_signal_info(int sig, struct task_struct *t);
|
||||
extern void audit_filter_inodes(struct task_struct *, struct audit_context *);
|
||||
extern struct list_head *audit_killed_trees(void);
|
||||
#else
|
||||
|
@ -2249,26 +2249,27 @@ void __audit_ptrace(struct task_struct *t)
|
||||
* If the audit subsystem is being terminated, record the task (pid)
|
||||
* and uid that is doing that.
|
||||
*/
|
||||
int __audit_signal_info(int sig, struct task_struct *t)
|
||||
int audit_signal_info(int sig, struct task_struct *t)
|
||||
{
|
||||
struct audit_aux_data_pids *axp;
|
||||
struct task_struct *tsk = current;
|
||||
struct audit_context *ctx = tsk->audit_context;
|
||||
kuid_t uid = current_uid(), t_uid = task_uid(t);
|
||||
|
||||
if (auditd_test_task(t)) {
|
||||
if (sig == SIGTERM || sig == SIGHUP || sig == SIGUSR1 || sig == SIGUSR2) {
|
||||
audit_sig_pid = task_tgid_nr(tsk);
|
||||
if (uid_valid(tsk->loginuid))
|
||||
audit_sig_uid = tsk->loginuid;
|
||||
else
|
||||
audit_sig_uid = uid;
|
||||
security_task_getsecid(tsk, &audit_sig_sid);
|
||||
}
|
||||
if (!audit_signals || audit_dummy_context())
|
||||
return 0;
|
||||
if (auditd_test_task(t) &&
|
||||
(sig == SIGTERM || sig == SIGHUP ||
|
||||
sig == SIGUSR1 || sig == SIGUSR2)) {
|
||||
audit_sig_pid = task_tgid_nr(tsk);
|
||||
if (uid_valid(tsk->loginuid))
|
||||
audit_sig_uid = tsk->loginuid;
|
||||
else
|
||||
audit_sig_uid = uid;
|
||||
security_task_getsecid(tsk, &audit_sig_sid);
|
||||
}
|
||||
|
||||
if (!audit_signals || audit_dummy_context())
|
||||
return 0;
|
||||
|
||||
/* optimize the common case by putting first signal recipient directly
|
||||
* in audit_context */
|
||||
if (!ctx->target_pid) {
|
||||
|
Loading…
Reference in New Issue
Block a user