Re: crashme on ARM - unkillable processes

From: Linus Torvalds
Date: Sun Nov 09 2003 - 12:44:26 EST



On Sun, 9 Nov 2003, Russell King wrote:
>
> Looking at next_signal(), the kernel treats signals 1-8 as having higher
> priority than signal 9. Since we only ever dequeue one signal on return
> to user space, we always find the SIGILL before SIGKILL, and the kill
> signal remains indefinitely queued.

Interesting. I wonder why it shows up only now. We've run crashme as a
sanity-test before, and I don't think this is a new thing..

[ Duh dumm.. ]

Ok, I know... I think we used to queue up _all_ the signals onto the stack
frame before. We don't do that any more, and back when we did it we'd
notice that one of the signals was deadly, and just kill the process.

We can't do that any more, because with thread-shared signals one thread
should _not_ try to hog all pending signals.

This is definitely a bug. I'd be inclined to just special-case SIGKILL in
next_signal(). Better ideas?

Linus

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