From: Oleg Nesterov <oleg@redhat.com>
To: Miloslav Trmac <mitr@redhat.com>
Cc: linux-kernel@vger.kernel.org, Greg Kroah-Hartman <gregkh@suse.de>,
Al Viro <viro@zeniv.linux.org.uk>,
James Morris <jmorris@namei.org>, Alan Cox <alan@linux.intel.com>,
Ingo Molnar <mingo@elte.hu>,
Peter Zijlstra <peterz@infradead.org>,
Andrew Morton <akpm@linux-foundation.org>,
Balbir Singh <balbir@linux.vnet.ibm.com>,
Alexey Dobriyan <adobriyan@gmail.com>,
Heiko Carstens <heiko.carstens@de.ibm.com>,
Renaud Lottiaux <renaud.lottiaux@kerlabs.com>,
Louis Rilling <louis.rilling@kerlabs.com>,
David Howells <dhowells@redhat.com>,
Stanislaw Gruszka <sgruszka@redhat.com>,
Veaceslav Falico <vfalico@redhat.com>
Subject: Re: [PATCH v2 4/4] copy_signal cleanup: clean tty_audit_fork()
Date: Sun, 6 Dec 2009 15:49:34 +0100 [thread overview]
Message-ID: <20091206144934.GA3637@redhat.com> (raw)
In-Reply-To: <1166728910.1204311260043462476.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
On 12/05, Miloslav Trmac wrote:
>
> ----- "Oleg Nesterov" <oleg@redhat.com> wrote:
> > On 12/04, Veaceslav Falico wrote:
> > > diff --git a/drivers/char/tty_audit.c b/drivers/char/tty_audit.c
> > > index ac16fbe..283a15b 100644
> > > --- a/drivers/char/tty_audit.c
> > > +++ b/drivers/char/tty_audit.c
> > > @@ -148,7 +148,6 @@ void tty_audit_fork(struct signal_struct *sig)
> > > spin_lock_irq(¤t->sighand->siglock);
> > > sig->audit_tty = current->signal->audit_tty;
> > > spin_unlock_irq(¤t->sighand->siglock);
> > > - sig->tty_audit_buf = NULL;
> > > }
> >
> > Off-topic question to this who understands this code.
> >
> > But afaics we can also remove ->siglock from this helper and make
> > it really trivial for being inline. ->siglock buys nothing, we just
> > read a boolean. In fact, after the quick grep I do not understand
> > how ->siglock is connected to ->audit_tty. OK, it protects
> > tty_audit_buf,
> > but why we always take ->siglock to access ->audit_tty ?
> AFAIK there is no explicit documentation of the atomicity semantics
> expected by the Linux kernel (both from the hardware and from the compiler),
> so every access to the boolean is protected by a lock, to be on the safe side.
Not sure I understand, but the kernel relies on fact it is always safe
to load/store a word.
What atomicity semantics do you mean and how ->siglock can help? Sure,
we can race with AUDIT_TTY_SET, but this can happen with or without
this lock. This "race" is unavoidable and harmless.
I believe every spin_lock(siglock) around ->audit_tty is bogus.
Oleg.
next prev parent reply other threads:[~2009-12-06 14:56 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-01 22:10 [PATCH 1/4] copy_signal cleanup: use zalloc and remove initializations Veaceslav Falico
2009-12-02 13:57 ` Oleg Nesterov
2009-12-02 18:27 ` Veaceslav Falico
2009-12-04 14:28 ` [PATCH v2 " Veaceslav Falico
2009-12-05 16:25 ` Oleg Nesterov
2009-12-07 7:34 ` Balbir Singh
2009-12-07 20:36 ` Andrew Morton
2009-12-08 12:37 ` Veaceslav Falico
2009-12-15 10:18 ` [PATCH v3 0/4 -mmotm] copy_signal() cleanup Veaceslav Falico
2009-12-15 10:19 ` [PATCH v3 1/4 -mmotm] copy_signal() cleanup: use zalloc and remove initializations Veaceslav Falico
2009-12-15 10:19 ` [PATCH v3 2/4 -mmotm] copy_signal() cleanup: kill taskstats_tgid_init() and acct_init_pacct() Veaceslav Falico
2009-12-15 10:19 ` [PATCH v3 3/4 -mmotm] copy_signal() cleanup: clean thread_group_cputime_init() Veaceslav Falico
2009-12-15 10:20 ` [PATCH v3 4/4 -mmotm] copy_signal() cleanup: clean tty_audit_fork() Veaceslav Falico
2009-12-04 14:29 ` [PATCH v2 2/4] copy_signal cleanup: clean acct_init_pacct() and taskstats_tgid_init() Veaceslav Falico
2009-12-05 16:33 ` Oleg Nesterov
2009-12-07 19:45 ` [PATCH] kill taskstats_tgid_init() and acct_init_pacct() and cleanup copy_signal() Veaceslav Falico
2009-12-07 7:39 ` [PATCH v2 2/4] copy_signal cleanup: clean acct_init_pacct() and taskstats_tgid_init() Balbir Singh
2009-12-04 14:29 ` [PATCH v2 3/4] copy_signal cleanup: clean thread_group_cputime_init() Veaceslav Falico
2009-12-05 16:39 ` Oleg Nesterov
2009-12-04 14:30 ` [PATCH v2 4/4] copy_signal cleanup: clean tty_audit_fork() Veaceslav Falico
2009-12-05 16:58 ` Oleg Nesterov
2009-12-05 20:04 ` Miloslav Trmac
2009-12-06 14:49 ` Oleg Nesterov [this message]
[not found] <1536386836.1223191260112270565.JavaMail.root@zmail07.collab.prod.int.phx2.redhat.com>
2009-12-06 15:17 ` Miloslav Trmac
2009-12-07 12:54 ` Oleg Nesterov
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=20091206144934.GA3637@redhat.com \
--to=oleg@redhat.com \
--cc=adobriyan@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=alan@linux.intel.com \
--cc=balbir@linux.vnet.ibm.com \
--cc=dhowells@redhat.com \
--cc=gregkh@suse.de \
--cc=heiko.carstens@de.ibm.com \
--cc=jmorris@namei.org \
--cc=linux-kernel@vger.kernel.org \
--cc=louis.rilling@kerlabs.com \
--cc=mingo@elte.hu \
--cc=mitr@redhat.com \
--cc=peterz@infradead.org \
--cc=renaud.lottiaux@kerlabs.com \
--cc=sgruszka@redhat.com \
--cc=vfalico@redhat.com \
--cc=viro@zeniv.linux.org.uk \
/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: link
Be 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.