kernel: Drop IA64 support from sig_fault handlers
authorArd Biesheuvel <ardb@kernel.org>
Fri, 13 Jan 2023 16:57:47 +0000 (17:57 +0100)
committerArd Biesheuvel <ardb@kernel.org>
Mon, 11 Sep 2023 08:13:18 +0000 (08:13 +0000)
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
include/linux/sched/signal.h
include/uapi/asm-generic/siginfo.h
kernel/signal.c

index 0014d3adaf8460b03b4ad2e4ccaf97b17b7a8884..15533297723937c12df98a1528236e17fb8b9306 100644 (file)
@@ -303,20 +303,11 @@ static inline void kernel_signal_stop(void)
 
        schedule();
 }
-#ifdef __ia64__
-# define ___ARCH_SI_IA64(_a1, _a2, _a3) , _a1, _a2, _a3
-#else
-# define ___ARCH_SI_IA64(_a1, _a2, _a3)
-#endif
 
-int force_sig_fault_to_task(int sig, int code, void __user *addr
-       ___ARCH_SI_IA64(int imm, unsigned int flags, unsigned long isr)
-       , struct task_struct *t);
-int force_sig_fault(int sig, int code, void __user *addr
-       ___ARCH_SI_IA64(int imm, unsigned int flags, unsigned long isr));
-int send_sig_fault(int sig, int code, void __user *addr
-       ___ARCH_SI_IA64(int imm, unsigned int flags, unsigned long isr)
-       , struct task_struct *t);
+int force_sig_fault_to_task(int sig, int code, void __user *addr,
+                           struct task_struct *t);
+int force_sig_fault(int sig, int code, void __user *addr);
+int send_sig_fault(int sig, int code, void __user *addr, struct task_struct *t);
 
 int force_sig_mceerr(int code, void __user *, short);
 int send_sig_mceerr(int code, void __user *, short, struct task_struct *);
index 0f52d0ac47c56739f770e0ae78e53e9a5f8caa7e..b7bc545ec3b2ceaaf373224c884a8bdc27a6e834 100644 (file)
@@ -68,11 +68,6 @@ union __sifields {
        /* SIGILL, SIGFPE, SIGSEGV, SIGBUS, SIGTRAP, SIGEMT */
        struct {
                void __user *_addr; /* faulting insn/memory ref. */
-#ifdef __ia64__
-               int _imm;               /* immediate value for "break" */
-               unsigned int _flags;    /* see ia64 si_flags */
-               unsigned long _isr;     /* isr */
-#endif
 
 #define __ADDR_BND_PKEY_PAD  (__alignof__(void *) < sizeof(short) ? \
                              sizeof(short) : __alignof__(void *))
index 09019017d6690a50e0a6931a20fcfdb6fb15c04b..26d9f66e5364ade5b8e6a00231093e41d7e3bc47 100644 (file)
@@ -1718,9 +1718,8 @@ void force_sigsegv(int sig)
                force_sig(SIGSEGV);
 }
 
-int force_sig_fault_to_task(int sig, int code, void __user *addr
-       ___ARCH_SI_IA64(int imm, unsigned int flags, unsigned long isr)
-       , struct task_struct *t)
+int force_sig_fault_to_task(int sig, int code, void __user *addr,
+                           struct task_struct *t)
 {
        struct kernel_siginfo info;
 
@@ -1729,24 +1728,15 @@ int force_sig_fault_to_task(int sig, int code, void __user *addr
        info.si_errno = 0;
        info.si_code  = code;
        info.si_addr  = addr;
-#ifdef __ia64__
-       info.si_imm = imm;
-       info.si_flags = flags;
-       info.si_isr = isr;
-#endif
        return force_sig_info_to_task(&info, t, HANDLER_CURRENT);
 }
 
-int force_sig_fault(int sig, int code, void __user *addr
-       ___ARCH_SI_IA64(int imm, unsigned int flags, unsigned long isr))
+int force_sig_fault(int sig, int code, void __user *addr)
 {
-       return force_sig_fault_to_task(sig, code, addr
-                                      ___ARCH_SI_IA64(imm, flags, isr), current);
+       return force_sig_fault_to_task(sig, code, addr, current);
 }
 
-int send_sig_fault(int sig, int code, void __user *addr
-       ___ARCH_SI_IA64(int imm, unsigned int flags, unsigned long isr)
-       , struct task_struct *t)
+int send_sig_fault(int sig, int code, void __user *addr, struct task_struct *t)
 {
        struct kernel_siginfo info;
 
@@ -1755,11 +1745,6 @@ int send_sig_fault(int sig, int code, void __user *addr
        info.si_errno = 0;
        info.si_code  = code;
        info.si_addr  = addr;
-#ifdef __ia64__
-       info.si_imm = imm;
-       info.si_flags = flags;
-       info.si_isr = isr;
-#endif
        return send_sig_info(info.si_signo, &info, t);
 }