Martin Schwidefsky wrote:
Each time when the kernel is entered again and a signal is pending,
do_signal() will be called on return to user with regs->trap setup
freshly. So, I still believe the patch doesn't have *any* effect.
Oh, the patch does have an effect for the debugger. If the debugger
stopped on the sys_sig_return system call and does e.g. an inferior
function call, then the kernel might want to restart a system call
that isn't there because the debugger did a "jump" but could not
change regs->trap.
AFAICS, it not even has an effect for the debugger.
do_signal() is the only routine, that examines regs->trap. On each
kernel-entry, regs->trap is set freshly. What will be the effect of
changing it *after* it had been examined?
The only exceptions are sys_(rt_)sigsuspend. Here do_signal() might
be called twice, while *and* after processing the syscall. But even
here the patch has no effect, as regs->gprs[2] contains -EINTR, if
so_signal is called by sys_(rt_)sigreturn.
Regards
Bodo
blue skies,
Martin
Martin Schwidefsky
Linux for zSeries Development & Services
IBM Deutschland Entwicklung GmbH
-
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]