"Zhang, Yanmin" <[email protected]> writes:
> The test case at
> http://cvs.sourceforge.net/viewcvs.py/posixtest/posixtestsuite/conforman
> ce/interfaces/clock_nanosleep/1-5.c fails if it runs as a 32bit process
> on x86_86 machines.
>
> The root cause is the sub 32bit process fails to restart the syscall
> after it is interrupted
> by a signal.
>
> The syscall number of sys_restart_syscall in table sys_call_table is
> __NR_restart_syscall (219) while it's __NR_ia32_restart_syscall (0) in
> ia32_sys_call_table. When regs->rax==(unsigned
> long)-ERESTART_RESTARTBLOCK,
> function do_signal doesn't distinguish if the process is 64bit or 32bit,
> and always sets
> restart syscall number as __NR_restart_syscall (219).
Thanks for tracking this down. Queued.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]