Messages in this thread Patch in this message | | | Date | Sat, 5 Dec 2009 15:04:22 -0500 (EST) | From | Miloslav Trmac <> | Subject | Re: [PATCH v2 4/4] copy_signal cleanup: clean tty_audit_fork() |
| |
----- "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. Mirek
| |