The situation: 32-bit debugger, 32-bit child, 64-bit kernel
The debugger sends an RT signal to the child. (to stop it, with
a queue and siginfo so that non-debugger signals don't get lost)
To do this, the debugger uses tgkill().
Later, the debugger checks the child's siginfo_t before discarding
it. This is to be sure that the child didn't get the RT signal from
some other source. The debugger fills a siginfo_t with 0xff, then
fetches siginfo data via ptrace. The data is corrupt:
FIELD 32-ON-64 NORMAL
si_pid -1 getpid()
si_uid getpid() getuid()
The "getpid" and "getuid" above are done in the debugger, not in
the child. The si_code values are SI_TKILL.
Probably the other ports with 32-on-64 support ought to verify
that this stuff works right.
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]
[Video 4 Linux]
[Linux for the blind]