From: Richard Guy Briggs <rgb@redhat.com> To: containers@lists.linux-foundation.org, linux-api@vger.kernel.org, Linux-Audit Mailing List <linux-audit@redhat.com>, linux-fsdevel@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>, netdev@vger.kernel.org, netfilter-devel@vger.kernel.org Cc: Paul Moore <paul@paul-moore.com>, sgrubb@redhat.com, omosnace@redhat.com, dhowells@redhat.com, simo@redhat.com, eparis@parisplace.org, serge@hallyn.com, ebiederm@xmission.com, nhorman@tuxdriver.com, dwalsh@redhat.com, mpatel@redhat.com, Richard Guy Briggs <rgb@redhat.com> Subject: [PATCH ghak90 V9 04/13] audit: log drop of contid on exit of last task Date: Sat, 27 Jun 2020 09:20:37 -0400 [thread overview] Message-ID: <e9310d6d9d909f4ac7ef1b688fbb0263711f9a24.1593198710.git.rgb@redhat.com> (raw) In-Reply-To: <cover.1593198710.git.rgb@redhat.com> In-Reply-To: <cover.1593198710.git.rgb@redhat.com> Since we are tracking the life of each audit container indentifier, we can match the creation event with the destruction event. Log the destruction of the audit container identifier when the last process in that container exits. Signed-off-by: Richard Guy Briggs <rgb@redhat.com> --- kernel/audit.c | 20 ++++++++++++++++++++ kernel/audit.h | 2 ++ kernel/auditsc.c | 2 ++ 3 files changed, 24 insertions(+) diff --git a/kernel/audit.c b/kernel/audit.c index 6d387793f702..9e0b38ce1ead 100644 --- a/kernel/audit.c +++ b/kernel/audit.c @@ -2558,6 +2558,26 @@ int audit_set_contid(struct task_struct *task, u64 contid) return rc; } +void audit_log_container_drop(void) +{ + struct audit_buffer *ab; + struct audit_contobj *cont; + + rcu_read_lock(); + cont = _audit_contobj_get(current); + _audit_contobj_put(cont); + if (!cont || refcount_read(&cont->refcount) > 1) + goto out; + ab = audit_log_start(audit_context(), GFP_KERNEL, AUDIT_CONTAINER_OP); + if (!ab) + goto out; + audit_log_format(ab, "op=drop opid=%d contid=%llu old-contid=%llu", + task_tgid_nr(current), cont->id, cont->id); + audit_log_end(ab); +out: + rcu_read_unlock(); +} + /** * audit_log_end - end one audit record * @ab: the audit_buffer diff --git a/kernel/audit.h b/kernel/audit.h index 182fc76ea276..d07093903008 100644 --- a/kernel/audit.h +++ b/kernel/audit.h @@ -254,6 +254,8 @@ extern void audit_log_d_path_exe(struct audit_buffer *ab, extern struct tty_struct *audit_get_tty(void); extern void audit_put_tty(struct tty_struct *tty); +extern void audit_log_container_drop(void); + /* audit watch/mark/tree functions */ #ifdef CONFIG_AUDITSYSCALL extern unsigned int audit_serial(void); diff --git a/kernel/auditsc.c b/kernel/auditsc.c index f00c1da587ea..f03d3eb0752c 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c @@ -1575,6 +1575,8 @@ static void audit_log_exit(void) audit_log_proctitle(); + audit_log_container_drop(); + /* Send end of event record to help user space know we are finished */ ab = audit_log_start(context, GFP_KERNEL, AUDIT_EOE); if (ab) -- 1.8.3.1
WARNING: multiple messages have this Message-ID (diff)
From: Richard Guy Briggs <rgb@redhat.com> To: containers@lists.linux-foundation.org, linux-api@vger.kernel.org, Linux-Audit Mailing List <linux-audit@redhat.com>, linux-fsdevel@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>, netdev@vger.kernel.org, netfilter-devel@vger.kernel.org Cc: nhorman@tuxdriver.com, Richard Guy Briggs <rgb@redhat.com>, dhowells@redhat.com, ebiederm@xmission.com, simo@redhat.com, eparis@parisplace.org, mpatel@redhat.com, serge@hallyn.com Subject: [PATCH ghak90 V9 04/13] audit: log drop of contid on exit of last task Date: Sat, 27 Jun 2020 09:20:37 -0400 [thread overview] Message-ID: <e9310d6d9d909f4ac7ef1b688fbb0263711f9a24.1593198710.git.rgb@redhat.com> (raw) In-Reply-To: <cover.1593198710.git.rgb@redhat.com> In-Reply-To: <cover.1593198710.git.rgb@redhat.com> Since we are tracking the life of each audit container indentifier, we can match the creation event with the destruction event. Log the destruction of the audit container identifier when the last process in that container exits. Signed-off-by: Richard Guy Briggs <rgb@redhat.com> --- kernel/audit.c | 20 ++++++++++++++++++++ kernel/audit.h | 2 ++ kernel/auditsc.c | 2 ++ 3 files changed, 24 insertions(+) diff --git a/kernel/audit.c b/kernel/audit.c index 6d387793f702..9e0b38ce1ead 100644 --- a/kernel/audit.c +++ b/kernel/audit.c @@ -2558,6 +2558,26 @@ int audit_set_contid(struct task_struct *task, u64 contid) return rc; } +void audit_log_container_drop(void) +{ + struct audit_buffer *ab; + struct audit_contobj *cont; + + rcu_read_lock(); + cont = _audit_contobj_get(current); + _audit_contobj_put(cont); + if (!cont || refcount_read(&cont->refcount) > 1) + goto out; + ab = audit_log_start(audit_context(), GFP_KERNEL, AUDIT_CONTAINER_OP); + if (!ab) + goto out; + audit_log_format(ab, "op=drop opid=%d contid=%llu old-contid=%llu", + task_tgid_nr(current), cont->id, cont->id); + audit_log_end(ab); +out: + rcu_read_unlock(); +} + /** * audit_log_end - end one audit record * @ab: the audit_buffer diff --git a/kernel/audit.h b/kernel/audit.h index 182fc76ea276..d07093903008 100644 --- a/kernel/audit.h +++ b/kernel/audit.h @@ -254,6 +254,8 @@ extern void audit_log_d_path_exe(struct audit_buffer *ab, extern struct tty_struct *audit_get_tty(void); extern void audit_put_tty(struct tty_struct *tty); +extern void audit_log_container_drop(void); + /* audit watch/mark/tree functions */ #ifdef CONFIG_AUDITSYSCALL extern unsigned int audit_serial(void); diff --git a/kernel/auditsc.c b/kernel/auditsc.c index f00c1da587ea..f03d3eb0752c 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c @@ -1575,6 +1575,8 @@ static void audit_log_exit(void) audit_log_proctitle(); + audit_log_container_drop(); + /* Send end of event record to help user space know we are finished */ ab = audit_log_start(context, GFP_KERNEL, AUDIT_EOE); if (ab) -- 1.8.3.1 -- Linux-audit mailing list Linux-audit@redhat.com https://www.redhat.com/mailman/listinfo/linux-audit
next prev parent reply other threads:[~2020-06-27 13:22 UTC|newest] Thread overview: 111+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-06-27 13:20 [PATCH ghak90 V9 00/13] audit: implement container identifier Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs 2020-06-27 13:20 ` [PATCH ghak90 V9 01/13] audit: collect audit task parameters Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs 2020-07-05 15:09 ` Paul Moore 2020-07-05 15:09 ` Paul Moore 2020-07-07 2:50 ` Richard Guy Briggs 2020-07-07 2:50 ` Richard Guy Briggs 2020-07-08 1:42 ` Paul Moore 2020-07-08 1:42 ` Paul Moore 2020-07-13 20:29 ` Richard Guy Briggs 2020-07-13 20:29 ` Richard Guy Briggs 2020-07-14 0:44 ` Paul Moore 2020-07-14 0:44 ` Paul Moore 2020-06-27 13:20 ` [PATCH ghak90 V9 02/13] audit: add container id Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs 2020-07-04 13:29 ` Paul Moore 2020-07-04 13:29 ` Paul Moore 2020-07-04 13:30 ` Paul Moore 2020-07-04 13:30 ` Paul Moore 2020-07-05 15:09 ` Paul Moore 2020-07-05 15:09 ` Paul Moore 2020-07-29 20:05 ` Richard Guy Briggs 2020-07-29 20:05 ` Richard Guy Briggs 2020-08-21 19:36 ` Paul Moore 2020-08-21 19:36 ` Paul Moore 2020-06-27 13:20 ` [PATCH ghak90 V9 03/13] audit: read container ID of a process Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs [this message] 2020-06-27 13:20 ` [PATCH ghak90 V9 04/13] audit: log drop of contid on exit of last task Richard Guy Briggs 2020-07-05 15:10 ` Paul Moore 2020-07-05 15:10 ` Paul Moore 2020-06-27 13:20 ` [PATCH ghak90 V9 05/13] audit: log container info of syscalls Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs 2020-07-05 15:10 ` Paul Moore 2020-07-05 15:10 ` Paul Moore 2020-07-29 19:40 ` Richard Guy Briggs 2020-07-29 19:40 ` Richard Guy Briggs 2020-08-21 19:15 ` Paul Moore 2020-08-21 19:15 ` Paul Moore 2020-10-02 19:52 ` Richard Guy Briggs 2020-10-02 19:52 ` Richard Guy Briggs 2020-10-02 19:52 ` Richard Guy Briggs 2020-10-21 16:39 ` Richard Guy Briggs 2020-10-21 16:39 ` Richard Guy Briggs 2020-10-21 16:39 ` Richard Guy Briggs 2020-10-21 16:49 ` Steve Grubb 2020-10-21 16:49 ` Steve Grubb 2020-10-21 16:49 ` Steve Grubb 2020-10-21 17:53 ` Richard Guy Briggs 2020-10-21 17:53 ` Richard Guy Briggs 2020-10-21 17:53 ` Richard Guy Briggs 2020-10-23 1:21 ` Paul Moore 2020-10-23 1:21 ` Paul Moore 2020-10-23 1:21 ` Paul Moore 2020-10-23 20:40 ` Richard Guy Briggs 2020-10-23 20:40 ` Richard Guy Briggs 2020-10-23 20:40 ` Richard Guy Briggs 2020-10-28 1:35 ` Paul Moore 2020-10-28 1:35 ` Paul Moore 2020-10-28 1:35 ` Paul Moore 2020-06-27 13:20 ` [PATCH ghak90 V9 06/13] audit: add contid support for signalling the audit daemon Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs 2020-07-05 15:10 ` Paul Moore 2020-07-05 15:10 ` Paul Moore 2020-07-29 19:00 ` Richard Guy Briggs 2020-07-29 19:00 ` Richard Guy Briggs 2020-08-21 18:48 ` Paul Moore 2020-08-21 18:48 ` Paul Moore 2020-10-02 19:25 ` Richard Guy Briggs 2020-10-02 19:25 ` Richard Guy Briggs 2020-10-02 19:25 ` Richard Guy Briggs 2020-06-27 13:20 ` [PATCH ghak90 V9 07/13] audit: add support for non-syscall auxiliary records Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs 2020-07-05 15:11 ` Paul Moore 2020-07-05 15:11 ` Paul Moore 2020-06-27 13:20 ` [PATCH ghak90 V9 08/13] audit: add containerid support for user records Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs 2020-07-05 15:11 ` Paul Moore 2020-07-05 15:11 ` Paul Moore 2020-07-18 0:43 ` Richard Guy Briggs 2020-07-18 0:43 ` Richard Guy Briggs 2020-08-21 18:34 ` Paul Moore 2020-08-21 18:34 ` Paul Moore 2020-06-27 13:20 ` [PATCH ghak90 V9 09/13] audit: add containerid filtering Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs 2020-06-27 13:20 ` [PATCH ghak90 V9 10/13] audit: add support for containerid to network namespaces Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs 2020-07-05 15:11 ` Paul Moore 2020-07-05 15:11 ` Paul Moore 2020-07-21 22:05 ` Richard Guy Briggs 2020-07-21 22:05 ` Richard Guy Briggs 2020-06-27 13:20 ` [PATCH ghak90 V9 11/13] audit: contid check descendancy and nesting Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs 2020-07-05 15:11 ` Paul Moore 2020-07-05 15:11 ` Paul Moore 2020-08-07 17:10 ` Richard Guy Briggs 2020-08-07 17:10 ` Richard Guy Briggs 2020-08-21 20:13 ` Paul Moore 2020-08-21 20:13 ` Paul Moore 2020-10-06 20:03 ` Richard Guy Briggs 2020-10-06 20:03 ` Richard Guy Briggs 2020-10-06 20:03 ` Richard Guy Briggs 2020-06-27 13:20 ` [PATCH ghak90 V9 12/13] audit: track container nesting Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs 2020-07-05 15:11 ` Paul Moore 2020-07-05 15:11 ` Paul Moore 2020-06-27 13:20 ` [PATCH ghak90 V9 13/13] audit: add capcontid to set contid outside init_user_ns Richard Guy Briggs 2020-06-27 13:20 ` Richard Guy Briggs 2020-07-05 15:11 ` Paul Moore 2020-07-05 15:11 ` Paul Moore
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=e9310d6d9d909f4ac7ef1b688fbb0263711f9a24.1593198710.git.rgb@redhat.com \ --to=rgb@redhat.com \ --cc=containers@lists.linux-foundation.org \ --cc=dhowells@redhat.com \ --cc=dwalsh@redhat.com \ --cc=ebiederm@xmission.com \ --cc=eparis@parisplace.org \ --cc=linux-api@vger.kernel.org \ --cc=linux-audit@redhat.com \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mpatel@redhat.com \ --cc=netdev@vger.kernel.org \ --cc=netfilter-devel@vger.kernel.org \ --cc=nhorman@tuxdriver.com \ --cc=omosnace@redhat.com \ --cc=paul@paul-moore.com \ --cc=serge@hallyn.com \ --cc=sgrubb@redhat.com \ --cc=simo@redhat.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.