Re: avr32: handle_signal() bug?

From: Håvard Skinnemoen
Date: Wed Aug 17 2011 - 01:14:22 EST


On Tue, Aug 16, 2011 at 8:39 AM, Oleg Nesterov <oleg@xxxxxxxxxx> wrote:
> On 08/16, Matt Fleming wrote:
>> Maybe try
>> adding a clear_thread_flag(TIF_RESTORE_SIGMASK); to the success path in
>> handle_signal() and see if you get better results?
>
> I will be surprised if this helps with this particular test-case,
> but I agree this should be fixed anyway.

Yeah, we should get that fixed.

>> > Your patch doesn't appear to do any harm though, and it looks correct
>> > to me. Perhaps there's another bug lurking somewhere as well. Some
>> > preliminary debugging makes me suspicious about libc, but I can't tell
>> > for sure yet.
>>
>> Which libc is this by the way?
>
> may be you can run the test-case under strace? On my machine
> strace -f -e rt_sigprocmask ./test shows
>
>        [pid 25610] --- SIGUSR1 (User defined signal 1) @ 0 (0) ---
>        [pid 25610] rt_sigprocmask(SIG_BLOCK, NULL, [USR2 TERM], 8) = 0

Hmm, doing that makes my board reboot. I guess we're having trouble
with ptrace() as well...somehow the pid parameter to kill() gets
turned into 1 when running under strace, and it just so happens that
busybox's init interprets SIGUSR1 as "halt".

kill(1, SIGUSR1) = 0

Oh well, perhaps it's time to finally get those tracehooks implemented.

For now, please feel free to add

Acked-by: Havard Skinnemoen <hskinnemoen@xxxxxxxxx>

to the two patches Matt sent earlier. I think they move things in the
right direction even though there are other issues that need to be
fixed as well.

Havard
--
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/