linux-um archives
 help / color / mirror / Atom feed
* [uml-devel] [RFC PATCH 1/12] SKAS4 - Work around compat PTRACE_GETSIGINFO bug
@ 2008-05-15 20:11 Jeff Dike
  0 siblings, 0 replies; only message in thread
From: Jeff Dike @ 2008-05-15 20:11 UTC (permalink / raw)
  To: uml-user, uml-devel

copy_siginfo_to_user correctly strips off the high bits of si->si_code
before copying it to userspace.
    
Unfortunately, ptrace32_siginfo calls copy_siginfo_to_user to put the
siginfo into a temporary userspace buffer and counts on the high bits
still being present so that it may initialize the union in the final
32-bit siginfo.
    
This patch works around this problem by having copy_siginfo_to_user
copy si->si_code intact to userspace.  This introduces a bug in native
64-bit PTRACE_GETSIGINFO, but I haven't noticed anything being
bothered by it.

diff --git a/kernel/signal.c b/kernel/signal.c
index 6af1210..e023d4a 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -2106,7 +2106,7 @@ int copy_siginfo_to_user(siginfo_t __user *to, siginfo_t *from)
 	 */
 	err = __put_user(from->si_signo, &to->si_signo);
 	err |= __put_user(from->si_errno, &to->si_errno);
-	err |= __put_user((short)from->si_code, &to->si_code);
+	err |= __put_user(from->si_code, &to->si_code);
 	switch (from->si_code & __SI_MASK) {
 	case __SI_KILL:
 		err |= __put_user(from->si_pid, &to->si_pid);

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2008-05-15 20:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-15 20:11 [uml-devel] [RFC PATCH 1/12] SKAS4 - Work around compat PTRACE_GETSIGINFO bug Jeff Dike

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox