Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1262780
| From | Amanieu d'Antras <amanieu@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH v2 18/20] sparc: Use generic copy_siginfo_{to,from}_user32 |
| Date | 2015-11-05 02:00 +0100 |
| Message-ID | <qrh4f-7PW-31@gated-at.bofh.it> (permalink) |
| References | <qrh4d-7PW-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Signed-off-by: Amanieu d'Antras <amanieu@gmail.com>
---
arch/sparc/include/asm/compat.h | 3 --
arch/sparc/kernel/signal32.c | 69 -----------------------------------------
2 files changed, 72 deletions(-)
diff --git a/arch/sparc/include/asm/compat.h b/arch/sparc/include/asm/compat.h
index 8f85fcd..1b4edd1 100644
--- a/arch/sparc/include/asm/compat.h
+++ b/arch/sparc/include/asm/compat.h
@@ -153,9 +153,6 @@ typedef union compat_sigval {
compat_uptr_t sival_ptr;
} compat_sigval_t;
-#define HAVE_ARCH_COPY_SIGINFO_TO_USER32
-#define HAVE_ARCH_COPY_SIGINFO_FROM_USER32
-
#define COMPAT_OFF_T_MAX 0x7fffffff
#define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL
diff --git a/arch/sparc/kernel/signal32.c b/arch/sparc/kernel/signal32.c
index 4eed773..d62f60a 100644
--- a/arch/sparc/kernel/signal32.c
+++ b/arch/sparc/kernel/signal32.c
@@ -69,75 +69,6 @@ struct rt_signal_frame32 {
/* __siginfo_rwin_t * */u32 rwin_save;
} __attribute__((aligned(8)));
-int copy_siginfo_to_user32(compat_siginfo_t __user *to, const siginfo_t *from)
-{
- int err;
-
- if (!access_ok(VERIFY_WRITE, to, sizeof(compat_siginfo_t)))
- return -EFAULT;
-
- /* If you change siginfo_t structure, please be sure
- this code is fixed accordingly.
- It should never copy any pad contained in the structure
- to avoid security leaks, but must copy the generic
- 3 ints plus the relevant union member.
- This routine must convert siginfo from 64bit to 32bit as well
- at the same time. */
- 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);
- if (from->si_code < 0)
- err |= __copy_to_user(&to->_sifields._pad, &from->_sifields._pad, SI_PAD_SIZE);
- else {
- switch (from->si_code >> 16) {
- case __SI_TIMER >> 16:
- err |= __put_user(from->si_tid, &to->si_tid);
- err |= __put_user(from->si_overrun, &to->si_overrun);
- err |= __put_user(from->si_int, &to->si_int);
- break;
- case __SI_CHLD >> 16:
- err |= __put_user(from->si_utime, &to->si_utime);
- err |= __put_user(from->si_stime, &to->si_stime);
- err |= __put_user(from->si_status, &to->si_status);
- default:
- err |= __put_user(from->si_pid, &to->si_pid);
- err |= __put_user(from->si_uid, &to->si_uid);
- break;
- case __SI_FAULT >> 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);
- err |= __put_user(from->si_uid, &to->si_uid);
- err |= __put_user(from->si_int, &to->si_int);
- break;
- }
- }
- return err;
-}
-
-/* CAUTION: This is just a very minimalist implementation for the
- * sake of compat_sys_rt_sigqueueinfo()
- */
-int copy_siginfo_from_user32(siginfo_t *to, compat_siginfo_t __user *from)
-{
- if (!access_ok(VERIFY_WRITE, from, sizeof(compat_siginfo_t)))
- return -EFAULT;
-
- if (copy_from_user(to, from, 3*sizeof(int)) ||
- copy_from_user(to->_sifields._pad, from->_sifields._pad,
- SI_PAD_SIZE))
- return -EFAULT;
-
- return 0;
-}
-
void do_sigreturn32(struct pt_regs *regs)
{
struct signal_frame32 __user *sf;
--
2.6.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v2 00/20] Fix handling of compat_siginfo_t Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 14/20] powerpc: Use generic copy_siginfo_{to,from}_user32 Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 04/20] x86: Rewrite copy_siginfo_{to,from}_user32 Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
Re: [PATCH v2 04/20] x86: Rewrite copy_siginfo_{to,from}_user32 "H. Peter Anvin" <hpa@zytor.com> - 2015-11-05 03:40 +0100
[PATCH v2 05/20] mips: Clean up compat_siginfo_t Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 06/20] mips: Use generic copy_siginfo_{to,from}_user32 Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 19/20] signalfd: Fix some issues in signalfd_copyinfo Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 11/20] s390: Use generic compat_siginfo_t Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 10/20] parsic: Use generic copy_siginfo_{to,from}_user32 Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 17/20] sparc: Use generic compat_siginfo_t Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 18/20] sparc: Use generic copy_siginfo_{to,from}_user32 Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 03/20] x86: Update compat_siginfo_t to be closer to the generic version Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 20/20] signal: Remove unnecessary zero-initialization of siginfo_t Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 02/20] compat: Add generic copy_siginfo_{to,from}_user32 Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 16/20] tile: Use generic copy_siginfo_{to,from}_user32 Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 07/20] arm64: Use generic compat_siginfo_t Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
[PATCH v2 01/20] compat: Add generic compat_siginfo_t Amanieu d'Antras <amanieu@gmail.com> - 2015-11-05 02:00 +0100
Re: [PATCH v2 00/20] Fix handling of compat_siginfo_t Andy Lutomirski <luto@amacapital.net> - 2015-11-08 06:10 +0100
Re: [PATCH v2 00/20] Fix handling of compat_siginfo_t Oleg Nesterov <oleg@redhat.com> - 2015-11-09 15:20 +0100
csiph-web