Borislav Petkov <[email protected]> writes: > On Fri, May 31, 2019 at 05:37:21PM -0400, Qian Cai wrote: >> Since the commit "signal: Remove the task parameter from >> force_sig_fault", "tsk" is only used when MEMORY_FAILURE=y and generates >> a compilation warning without it. >> >> arch/x86/mm/fault.c: In function 'do_sigbus': >> arch/x86/mm/fault.c:1017:22: warning: unused variable 'tsk' >> [-Wunused-variable] >> >> Also, change to use IS_ENABLED() instead. >> >> Signed-off-by: Qian Cai <[email protected]> >> --- >> arch/x86/mm/fault.c | 8 +++----- >> 1 file changed, 3 insertions(+), 5 deletions(-) >> >> diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c >> index 46ac96aa7c81..40d70bd3fa84 100644 >> --- a/arch/x86/mm/fault.c >> +++ b/arch/x86/mm/fault.c >> @@ -1014,8 +1014,6 @@ static inline bool bad_area_access_from_pkeys(unsigned >> long error_code, >> do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long >> address, >> vm_fault_t fault) >> { >> - struct task_struct *tsk = current; >> - >> /* Kernel mode? Handle exceptions or die: */ >> if (!(error_code & X86_PF_USER)) { >> no_context(regs, error_code, address, SIGBUS, BUS_ADRERR); >> @@ -1028,9 +1026,10 @@ static inline bool >> bad_area_access_from_pkeys(unsigned long error_code, >> >> set_signal_archinfo(address, error_code); >> >> -#ifdef CONFIG_MEMORY_FAILURE >> - if (fault & (VM_FAULT_HWPOISON|VM_FAULT_HWPOISON_LARGE)) { >> + if (IS_ENABLED(CONFIG_MEMORY_FAILURE) && >> + (fault & (VM_FAULT_HWPOISON | VM_FAULT_HWPOISON_LARGE))) { >> unsigned lsb = 0; >> + struct task_struct *tsk = current; >> >> pr_err( >> "MCE: Killing %s:%d due to hardware memory corruption fault at %lx\n", >> @@ -1042,7 +1041,6 @@ static inline bool bad_area_access_from_pkeys(unsigned >> long error_code, >> force_sig_mceerr(BUS_MCEERR_AR, (void __user *)address, lsb); >> return; >> } >> -#endif >> force_sig_fault(SIGBUS, BUS_ADRERR, (void __user *)address); >> } >> >> -- > > I was puzzled just like Dave because this code is not in tip. > > Turns out there's this in linux-next: > > commit 318759b4737c3b3789e2fd64d539f437d52386f5 > Author: Eric W. Biederman <[email protected]> > Date: Mon Jun 3 10:23:58 2019 -0500 > > signal/x86: Move tsk inside of CONFIG_MEMORY_FAILURE in do_sigbus
Since I am removing the tsk parameter from all of the synchrnous signal sending functions, on all of the architectures it was easier to go through my own tree than -tip. The removal of tsk from force_sig_fault is what caused the warning in do_sigbus. My apologies I was a little slow in getting that patch added and generating work for other folks. Eric

