diff options
-rw-r--r-- | arch/arm64/kernel/traps.c | 2 | ||||
-rw-r--r-- | arch/parisc/mm/fault.c | 2 | ||||
-rw-r--r-- | arch/powerpc/mm/fault.c | 3 | ||||
-rw-r--r-- | arch/x86/mm/fault.c | 2 | ||||
-rw-r--r-- | include/linux/sched/signal.h | 2 | ||||
-rw-r--r-- | kernel/signal.c | 4 | ||||
-rw-r--r-- | mm/memory-failure.c | 2 |
7 files changed, 8 insertions, 9 deletions
diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c index 64abe8450780..c76a64c1bcb3 100644 --- a/arch/arm64/kernel/traps.c +++ b/arch/arm64/kernel/traps.c | |||
@@ -266,7 +266,7 @@ void arm64_force_sig_mceerr(int code, void __user *addr, short lsb, | |||
266 | const char *str) | 266 | const char *str) |
267 | { | 267 | { |
268 | arm64_show_signal(SIGBUS, str); | 268 | arm64_show_signal(SIGBUS, str); |
269 | force_sig_mceerr(code, addr, lsb, current); | 269 | force_sig_mceerr(code, addr, lsb); |
270 | } | 270 | } |
271 | 271 | ||
272 | void arm64_force_sig_ptrace_errno_trap(int errno, void __user *addr, | 272 | void arm64_force_sig_ptrace_errno_trap(int errno, void __user *addr, |
diff --git a/arch/parisc/mm/fault.c b/arch/parisc/mm/fault.c index c8e8b7c05558..56ceacb3401d 100644 --- a/arch/parisc/mm/fault.c +++ b/arch/parisc/mm/fault.c | |||
@@ -403,7 +403,7 @@ bad_area: | |||
403 | lsb = PAGE_SHIFT; | 403 | lsb = PAGE_SHIFT; |
404 | 404 | ||
405 | force_sig_mceerr(BUS_MCEERR_AR, (void __user *) address, | 405 | force_sig_mceerr(BUS_MCEERR_AR, (void __user *) address, |
406 | lsb, current); | 406 | lsb); |
407 | return; | 407 | return; |
408 | } | 408 | } |
409 | #endif | 409 | #endif |
diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index b5d3578d9f65..6ed6c341c670 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c | |||
@@ -182,8 +182,7 @@ static int do_sigbus(struct pt_regs *regs, unsigned long address, | |||
182 | if (fault & VM_FAULT_HWPOISON) | 182 | if (fault & VM_FAULT_HWPOISON) |
183 | lsb = PAGE_SHIFT; | 183 | lsb = PAGE_SHIFT; |
184 | 184 | ||
185 | force_sig_mceerr(BUS_MCEERR_AR, (void __user *)address, lsb, | 185 | force_sig_mceerr(BUS_MCEERR_AR, (void __user *)address, lsb); |
186 | current); | ||
187 | return 0; | 186 | return 0; |
188 | } | 187 | } |
189 | 188 | ||
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index 46df4c6aae46..c431326ee3fa 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c | |||
@@ -1040,7 +1040,7 @@ do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address, | |||
1040 | lsb = hstate_index_to_shift(VM_FAULT_GET_HINDEX(fault)); | 1040 | lsb = hstate_index_to_shift(VM_FAULT_GET_HINDEX(fault)); |
1041 | if (fault & VM_FAULT_HWPOISON) | 1041 | if (fault & VM_FAULT_HWPOISON) |
1042 | lsb = PAGE_SHIFT; | 1042 | lsb = PAGE_SHIFT; |
1043 | force_sig_mceerr(BUS_MCEERR_AR, (void __user *)address, lsb, tsk); | 1043 | force_sig_mceerr(BUS_MCEERR_AR, (void __user *)address, lsb); |
1044 | return; | 1044 | return; |
1045 | } | 1045 | } |
1046 | #endif | 1046 | #endif |
diff --git a/include/linux/sched/signal.h b/include/linux/sched/signal.h index e9df3f0cce48..4178bb1f7709 100644 --- a/include/linux/sched/signal.h +++ b/include/linux/sched/signal.h | |||
@@ -316,7 +316,7 @@ int send_sig_fault(int sig, int code, void __user *addr | |||
316 | ___ARCH_SI_IA64(int imm, unsigned int flags, unsigned long isr) | 316 | ___ARCH_SI_IA64(int imm, unsigned int flags, unsigned long isr) |
317 | , struct task_struct *t); | 317 | , struct task_struct *t); |
318 | 318 | ||
319 | int force_sig_mceerr(int code, void __user *, short, struct task_struct *); | 319 | int force_sig_mceerr(int code, void __user *, short); |
320 | int send_sig_mceerr(int code, void __user *, short, struct task_struct *); | 320 | int send_sig_mceerr(int code, void __user *, short, struct task_struct *); |
321 | 321 | ||
322 | int force_sig_bnderr(void __user *addr, void __user *lower, void __user *upper); | 322 | int force_sig_bnderr(void __user *addr, void __user *lower, void __user *upper); |
diff --git a/kernel/signal.c b/kernel/signal.c index 20878c4c28c2..398489facf9f 100644 --- a/kernel/signal.c +++ b/kernel/signal.c | |||
@@ -1666,7 +1666,7 @@ int send_sig_fault(int sig, int code, void __user *addr | |||
1666 | return send_sig_info(info.si_signo, &info, t); | 1666 | return send_sig_info(info.si_signo, &info, t); |
1667 | } | 1667 | } |
1668 | 1668 | ||
1669 | int force_sig_mceerr(int code, void __user *addr, short lsb, struct task_struct *t) | 1669 | int force_sig_mceerr(int code, void __user *addr, short lsb) |
1670 | { | 1670 | { |
1671 | struct kernel_siginfo info; | 1671 | struct kernel_siginfo info; |
1672 | 1672 | ||
@@ -1677,7 +1677,7 @@ int force_sig_mceerr(int code, void __user *addr, short lsb, struct task_struct | |||
1677 | info.si_code = code; | 1677 | info.si_code = code; |
1678 | info.si_addr = addr; | 1678 | info.si_addr = addr; |
1679 | info.si_addr_lsb = lsb; | 1679 | info.si_addr_lsb = lsb; |
1680 | return force_sig_info(info.si_signo, &info, t); | 1680 | return force_sig_info(info.si_signo, &info, current); |
1681 | } | 1681 | } |
1682 | 1682 | ||
1683 | int send_sig_mceerr(int code, void __user *addr, short lsb, struct task_struct *t) | 1683 | int send_sig_mceerr(int code, void __user *addr, short lsb, struct task_struct *t) |
diff --git a/mm/memory-failure.c b/mm/memory-failure.c index fc8b51744579..bc749265a8f3 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c | |||
@@ -221,7 +221,7 @@ static int kill_proc(struct to_kill *tk, unsigned long pfn, int flags) | |||
221 | 221 | ||
222 | if ((flags & MF_ACTION_REQUIRED) && t->mm == current->mm) { | 222 | if ((flags & MF_ACTION_REQUIRED) && t->mm == current->mm) { |
223 | ret = force_sig_mceerr(BUS_MCEERR_AR, (void __user *)tk->addr, | 223 | ret = force_sig_mceerr(BUS_MCEERR_AR, (void __user *)tk->addr, |
224 | addr_lsb, current); | 224 | addr_lsb); |
225 | } else { | 225 | } else { |
226 | /* | 226 | /* |
227 | * Don't use force here, it's convenient if the signal | 227 | * Don't use force here, it's convenient if the signal |