From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932394AbZHUP5h (ORCPT ); Fri, 21 Aug 2009 11:57:37 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755447AbZHUP5g (ORCPT ); Fri, 21 Aug 2009 11:57:36 -0400 Received: from e3.ny.us.ibm.com ([32.97.182.143]:43718 "EHLO e3.ny.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754651AbZHUP5f (ORCPT ); Fri, 21 Aug 2009 11:57:35 -0400 Date: Fri, 21 Aug 2009 10:57:42 -0500 From: "Serge E. Hallyn" To: linux-kernel@vger.kernel.org Cc: mm-commits@vger.kernel.org, mschmidt@redhat.com, dhowells@redhat.com, jmorris@namei.org, sds@tycho.nsa.gov Subject: Re: + bsdacct-switch-credentials-for-writing-to-the-accounting-file.patch added to -mm tree Message-ID: <20090821155742.GA16842@us.ibm.com> References: <200908202139.n7KLdq6D006632@imap1.linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200908202139.n7KLdq6D006632@imap1.linux-foundation.org> User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting akpm@linux-foundation.org (akpm@linux-foundation.org): > > The patch titled > bsdacct: switch credentials for writing to the accounting file > has been added to the -mm tree. Its filename is > bsdacct-switch-credentials-for-writing-to-the-accounting-file.patch > > Before you just go and hit "reply", please: > a) Consider who else should be cc'ed > b) Prefer to cc a suitable mailing list as well > c) Ideally: find the original patch on the mailing list and do a > reply-to-all to that, adding suitable additional cc's > > *** Remember to use Documentation/SubmitChecklist when testing your code *** > > See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find > out what to do about this > > The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ > > ------------------------------------------------------ > Subject: bsdacct: switch credentials for writing to the accounting file > From: Michal Schmidt > > When process accounting is enabled, every exiting process writes a log to > the account file. In addition, every once in a while one of the exiting > processes checks whether there's enough free space for the log. > > SELinux policy may or may not allow the exiting process to stat the fs. > So unsuspecting processes start generating AVC denials just because > someone enabled process accounting. > > For these filesystem operations, the exiting process's credentials should > be temporarily switched to that of the process which enabled accounting, > because it's really that process which wanted to have the accounting > information logged. > > Signed-off-by: Michal Schmidt > Acked-by: David Howells Acked-by: Serge Hallyn > Cc: James Morris > Cc: Serge Hallyn > Cc: Stephen Smalley > Signed-off-by: Andrew Morton > --- > > kernel/acct.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff -puN kernel/acct.c~bsdacct-switch-credentials-for-writing-to-the-accounting-file kernel/acct.c > --- a/kernel/acct.c~bsdacct-switch-credentials-for-writing-to-the-accounting-file > +++ a/kernel/acct.c > @@ -491,13 +491,17 @@ static void do_acct_process(struct bsd_a > u64 run_time; > struct timespec uptime; > struct tty_struct *tty; > + const struct cred *orig_cred; > + > + /* Perform file operations on behalf of whoever enabled accounting */ > + orig_cred = override_creds(file->f_cred); > > /* > * First check to see if there is enough free_space to continue > * the process accounting system. > */ > if (!check_free_space(acct, file)) > - return; > + goto out; > > /* > * Fill the accounting struct with the needed info as recorded > @@ -578,6 +582,8 @@ static void do_acct_process(struct bsd_a > sizeof(acct_t), &file->f_pos); > current->signal->rlim[RLIMIT_FSIZE].rlim_cur = flim; > set_fs(fs); > +out: > + revert_creds(orig_cred); > } > > /** > _ > > Patches currently in -mm which might be from mschmidt@redhat.com are > > bsdacct-switch-credentials-for-writing-to-the-accounting-file.patch > > -- > To unsubscribe from this list: send the line "unsubscribe mm-commits" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html