]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
[PATCH] sparc64: Fix copy_sigingo_to_user32()
authorjurij@wooyd.org <jurij@wooyd.org>
Sat, 30 Apr 2005 01:04:37 +0000 (18:04 -0700)
committerGreg KH <gregkh@suse.de>
Thu, 12 May 2005 17:00:22 +0000 (10:00 -0700)
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>
arch/sparc64/kernel/signal32.c

index 4b060cacf9959739963fc1053a6d726727a937ee..7f8853213d8a0f0a50c4ccfe3d07025932600672 100644 (file)
@@ -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);