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: <20d8842e-197f-e413-2588-92652c1dcb47@amd.com>
Date:   Fri, 20 Aug 2021 09:16:28 -0500
From:   Babu Moger <babu.moger@....com>
To:     Borislav Petkov <bp@...en8.de>,
        Reinette Chatre <reinette.chatre@...el.com>
Cc:     "Chen, Rong A" <rong.a.chen@...el.com>,
        kernel test robot <lkp@...el.com>, x86-ml <x86@...nel.org>,
        linux-kernel@...r.kernel.org
Subject: Re: [tip:x86/urgent] BUILD SUCCESS WITH WARNING
 064855a69003c24bd6b473b367d364e418c57625



On 8/19/21 4:05 PM, Borislav Petkov wrote:
> On Thu, Aug 19, 2021 at 01:39:46PM -0700, Reinette Chatre wrote:
>> I can confirm that the removed comment explains why m would be initialized
>> when used in the code that follows.
>>
>> How would you prefer to address this? We could add just the comment back in
>> support of future reports or perhaps by adding the default case back with
>> the same error that would be returned earlier when there is an invalid
>> EVENT_ID. Something like:
>>
>> ---8<---
>> diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c
>> b/arch/x86/kernel/cpu/resctrl/monitor.c
>> index 57e4bb695ff9..05b99e4d621c 100644
>> --- a/arch/x86/kernel/cpu/resctrl/monitor.c
>> +++ b/arch/x86/kernel/cpu/resctrl/monitor.c
>> @@ -304,6 +304,12 @@ static u64 __mon_event_count(u32 rmid, struct rmid_read
>> *rr)
>>  	case QOS_L3_MBM_LOCAL_EVENT_ID:
>>  		m = &rr->d->mbm_local[rmid];
>>  		break;
>> +	default:
>> +		/*
>> +		 * Code would never reach here because
>> +		 * an invalid event id would fail the __rmid_read.
>> +		 */
>> +		return RMID_VAL_ERROR;
>>  	}
>>
>>  	if (rr->first) {
> 
> Right, I would normally not take a patch just to fix a tool because it
> cannot see it correctly.
> 
> But Babu has another use case which breaks the build so I guess that's
> serious enough to make an exception.
> 
> Babu, can you please explain?

Details:

The patch applies cleanly to RHEL8.5 tree but the build fails with an
uninitialized variable warning treated as an error. The RHEL8.5 Makefile
uses '-Werror=maybe-uninitialized' to force uninitialized variable
warnings to be treated as errors. The build error was found while using
the redhat/configs/kernel-x86_64.config kernel config. BTW, the 5.14-rc6
build passes and it does not build using '-Werror=maybe-uninitialized'.
The error from the build is below:

arch/x86/kernel/cpu/resctrl/monitor.c: In function ‘__mon_event_count’:
arch/x86/kernel/cpu/resctrl/monitor.c:261:12: error: ‘m’ may be used
uninitialized in this function [-Werror=maybe-uninitialized]
  m->chunks += chunks;
            ^~

The following patch fixes the problem.

diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c
b/arch/x86/kernel/cpu/resctrl/monitor.c
index 57e4bb695ff9..553cc6410442 100644
--- a/arch/x86/kernel/cpu/resctrl/monitor.c
+++ b/arch/x86/kernel/cpu/resctrl/monitor.c
@@ -304,6 +304,8 @@ static u64 __mon_event_count(u32 rmid, struct
rmid_read *rr)
        case QOS_L3_MBM_LOCAL_EVENT_ID:
                m = &rr->d->mbm_local[rmid];
                break;
+       default:
+               return RMID_VAL_ERROR;
        }

        if (rr->first) {


Reinette,
Are you going to send the official patch or let me know I will send. You
can add signoff from me after adding above details. We probably need Fixes
and Cc: stable@...r.kernel.org.

thanks
Babu

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ