signal/x86: Move tsk inside of CONFIG_MEMORY_FAILURE in do_sigbus
authorEric W. Biederman <ebiederm@xmission.com>
Mon, 3 Jun 2019 15:23:58 +0000 (10:23 -0500)
committerEric W. Biederman <ebiederm@xmission.com>
Mon, 3 Jun 2019 15:23:58 +0000 (10:23 -0500)
Stephen Rothwell <sfr@canb.auug.org.au> reported:
> After merging the userns tree, today's linux-next build (i386 defconfig)
> produced this warning:
>
> arch/x86/mm/fault.c: In function 'do_sigbus':
> arch/x86/mm/fault.c:1017:22: warning: unused variable 'tsk' [-Wunused-variable]
>   struct task_struct *tsk = current;
>                       ^~~
>
> Introduced by commit
>
>   351b6825b3a9 ("signal: Explicitly call force_sig_fault on current")
>
> The remaining used of "tsk" are protected by CONFIG_MEMORY_FAILURE.

So do the obvious thing and move tsk inside of CONFIG_MEMORY_FAILURE
to prevent introducing new warnings into the build.

Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
arch/x86/mm/fault.c

index 46ac96a..fb4e39c 100644 (file)
@@ -1014,8 +1014,6 @@ static void
 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);
@@ -1030,6 +1028,7 @@ do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address,
 
 #ifdef CONFIG_MEMORY_FAILURE
        if (fault & (VM_FAULT_HWPOISON|VM_FAULT_HWPOISON_LARGE)) {
+               struct task_struct *tsk = current;
                unsigned lsb = 0;
 
                pr_err(