summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjurij@wooyd.org <jurij@wooyd.org>2005-04-29 18:04:37 -0700
committerGreg KH <gregkh@suse.de>2005-05-12 10:00:22 -0700
commitf94f30de06786fbe86b9f2d03de346a5273a7ed4 (patch)
tree755e50c18b37118cb8e83e4ea0e71c3631fab5c6
parent12ca665cce7f63eac7064a7aabd71afe53b70be7 (diff)
downloadlinux-stable-f94f30de06786fbe86b9f2d03de346a5273a7ed4.tar.gz
linux-stable-f94f30de06786fbe86b9f2d03de346a5273a7ed4.tar.bz2
linux-stable-f94f30de06786fbe86b9f2d03de346a5273a7ed4.zip
[PATCH] sparc64: Fix copy_sigingo_to_user32()
Because this routine was not filling in the siginfo values for si_band and si_fd, this broke applications trying to actually get at this data. This makes the sparc64 code in line with PowerPC64's implementation, which already gets it right. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--arch/sparc64/kernel/signal32.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/signal32.c b/arch/sparc64/kernel/signal32.c
index 4b060cacf995..7f8853213d8a 100644
--- a/arch/sparc64/kernel/signal32.c
+++ b/arch/sparc64/kernel/signal32.c
@@ -192,10 +192,13 @@ int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from)
err |= __put_user(from->si_uid, &to->si_uid);
break;
case __SI_FAULT >> 16:
- case __SI_POLL >> 16:
err |= __put_user(from->si_trapno, &to->si_trapno);
err |= __put_user((unsigned long)from->si_addr, &to->si_addr);
break;
+ case __SI_POLL >> 16:
+ err |= __put_user(from->si_band, &to->si_band);
+ err |= __put_user(from->si_fd, &to->si_fd);
+ break;
case __SI_RT >> 16: /* This is not generated by the kernel as of now. */
case __SI_MESGQ >> 16:
err |= __put_user(from->si_pid, &to->si_pid);