aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorRichard Guy Briggs <rgb@redhat.com>2013-08-16 00:04:46 -0400
committerEric Paris <eparis@redhat.com>2014-03-20 10:11:56 -0400
commit5a3cb3b6c3a07904bb66baf055b2eaf01198b1f9 (patch)
treea6c8ab18c24ac035da29ef7b7cbc291cf864a451 /kernel
parentf1dc4867ff41b7bcca57fa19449d1fe7ad517ac1 (diff)
audit: allow user processes to log from another PID namespace
Still only permit the audit logging daemon and control to operate from the initial PID namespace, but allow processes to log from another PID namespace. Cc: "Eric W. Biederman" <ebiederm@xmission.com> (informed by ebiederman's c776b5d2) Signed-off-by: Richard Guy Briggs <rgb@redhat.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/audit.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/kernel/audit.c b/kernel/audit.c
index 5a096f8e28cb..72c6e1cd6ef5 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -607,9 +607,8 @@ static int audit_netlink_ok(struct sk_buff *skb, u16 msg_type)
607{ 607{
608 int err = 0; 608 int err = 0;
609 609
610 /* Only support the initial namespaces for now. */ 610 /* Only support initial user namespace for now. */
611 if ((current_user_ns() != &init_user_ns) || 611 if ((current_user_ns() != &init_user_ns))
612 (task_active_pid_ns(current) != &init_pid_ns))
613 return -EPERM; 612 return -EPERM;
614 613
615 switch (msg_type) { 614 switch (msg_type) {
@@ -629,6 +628,11 @@ static int audit_netlink_ok(struct sk_buff *skb, u16 msg_type)
629 case AUDIT_TTY_SET: 628 case AUDIT_TTY_SET:
630 case AUDIT_TRIM: 629 case AUDIT_TRIM:
631 case AUDIT_MAKE_EQUIV: 630 case AUDIT_MAKE_EQUIV:
631 /* Only support auditd and auditctl in initial pid namespace
632 * for now. */
633 if ((task_active_pid_ns(current) != &init_pid_ns))
634 return -EPERM;
635
632 if (!capable(CAP_AUDIT_CONTROL)) 636 if (!capable(CAP_AUDIT_CONTROL))
633 err = -EPERM; 637 err = -EPERM;
634 break; 638 break;