Re: [maybe fixed.. i hope i hope i hope] Re: snipe hunt

From: Manfred Spraul (manfreds@colorfullife.com)
Date: Fri May 05 2000 - 10:33:11 EST


Linus Torvalds wrote:
>
> I'd prefer an approach something like this:
>
> lock_task(current);
> fs = current->fs;
> mm = current->mm;
> files = current->files;
> signal = current->signal;
> current->fs = NULL;
> current->mm = NULL;
> current->files = NULL;
> current->signal = NULL;

I assume "current->sig".
lock_task can't protect ->sig, it's dereferenced in ignored_signal(),
called by send_sig_info() --> within interrupts.

        spin_lock_irq(&current->sigmask_lock)
        signal = current->sig;
        current->sig = NULL; /* already checked by ignored_signal */
        spin_unlock_irq(&current->sigmask_lock)

Btw, it seems that a few

        spin_lock(&current->sig->siglock);

are missing in kernel/signal.c

--
	Manfred

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun May 07 2000 - 21:00:17 EST