Re: ERESTART_RESTARTBLOCK and ptrace()

From: Kirill A. Shutemov
Date: Fri Jun 12 2009 - 07:10:54 EST


On Thu, Jun 11, 2009 at 5:27 PM, Daniel Jacobowitz<dan@xxxxxxxxxx> wrote:
> On Wed, Jun 10, 2009 at 01:25:34PM +0300, Kirill A. Shutemov wrote:
>> I've got bug in handling ERESTART_RESTARTBLOCK. Kernel version is 2.6.28.
>>
>> Steps to reproduce:
>> 1. Attach using ptrace() to process while it's in a syscall which use
>> ERESTART_RESTARTBLOCK
>> on interrupt. The easiest way is to attach to process which is in nanosleep().
>> 2. Run a syscall in context of the process like it does gdb.
>> 3. Continue the process.
>>
>> Results:
>> Syscall(nanosleep) return error code 516(ERESTART_RESTARTBLOCK). It's
>> kernel's internal error
>> code and should never appear at userspace.
>>
>> It seems ARM-related since I can't reproduce it on x86.
>
> That's because GDB has code to do the right thing on x86. ÂConsider
> filing a GDB bug please.

http://sourceware.org/bugzilla/show_bug.cgi?id=10267
--
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/