lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87a7emy8dh.fsf@xmission.com>
Date:   Wed, 12 Jun 2019 13:19:06 -0500
From:   ebiederm@...ssion.com (Eric W. Biederman)
To:     Borislav Petkov <bp@...en8.de>
Cc:     Qian Cai <cai@....pw>, mingo@...hat.com, tglx@...utronix.de,
        dave.hansen@...ux.intel.com, luto@...nel.org, peterz@...radead.org,
        hpa@...or.com, x86@...nel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH -next] x86/mm: fix an unused variable "tsk" warning

Borislav Petkov <bp@...en8.de> 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 <cai@....pw>
>> ---
>>  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 <ebiederm@...ssion.com>
> 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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ