Messages in this thread Patch in this message | | | Subject | Re: [tip:x86/urgent] BUILD SUCCESS WITH WARNING 064855a69003c24bd6b473b367d364e418c57625 | From | Babu Moger <> | Date | Fri, 20 Aug 2021 09:16:28 -0500 |
| |
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@vger.kernel.org.
thanks Babu
| |