diff options
Diffstat (limited to 'kernel/audit.c')
-rw-r--r-- | kernel/audit.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/audit.c b/kernel/audit.c index a8a91bd2b2a9..f1ca11613379 100644 --- a/kernel/audit.c +++ b/kernel/audit.c | |||
@@ -877,6 +877,12 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | |||
877 | return err; | 877 | return err; |
878 | } | 878 | } |
879 | if (s.mask & AUDIT_STATUS_PID) { | 879 | if (s.mask & AUDIT_STATUS_PID) { |
880 | /* NOTE: we are using task_tgid_vnr() below because | ||
881 | * the s.pid value is relative to the namespace | ||
882 | * of the caller; at present this doesn't matter | ||
883 | * much since you can really only run auditd | ||
884 | * from the initial pid namespace, but something | ||
885 | * to keep in mind if this changes */ | ||
880 | int new_pid = s.pid; | 886 | int new_pid = s.pid; |
881 | pid_t requesting_pid = task_tgid_vnr(current); | 887 | pid_t requesting_pid = task_tgid_vnr(current); |
882 | 888 | ||
@@ -1917,7 +1923,7 @@ void audit_log_task_info(struct audit_buffer *ab, struct task_struct *tsk) | |||
1917 | " euid=%u suid=%u fsuid=%u" | 1923 | " euid=%u suid=%u fsuid=%u" |
1918 | " egid=%u sgid=%u fsgid=%u tty=%s ses=%u", | 1924 | " egid=%u sgid=%u fsgid=%u tty=%s ses=%u", |
1919 | task_ppid_nr(tsk), | 1925 | task_ppid_nr(tsk), |
1920 | task_pid_nr(tsk), | 1926 | task_tgid_nr(tsk), |
1921 | from_kuid(&init_user_ns, audit_get_loginuid(tsk)), | 1927 | from_kuid(&init_user_ns, audit_get_loginuid(tsk)), |
1922 | from_kuid(&init_user_ns, cred->uid), | 1928 | from_kuid(&init_user_ns, cred->uid), |
1923 | from_kgid(&init_user_ns, cred->gid), | 1929 | from_kgid(&init_user_ns, cred->gid), |