| From 527f721478bce3f49b513a733bacd19d6f34b08c Mon Sep 17 00:00:00 2001 |
| From: Babu Moger <babu.moger@amd.com> |
| Date: Fri, 20 Aug 2021 16:52:42 -0500 |
| Subject: x86/resctrl: Fix a maybe-uninitialized build warning treated as error |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Babu Moger <babu.moger@amd.com> |
| |
| commit 527f721478bce3f49b513a733bacd19d6f34b08c upstream. |
| |
| The recent commit |
| |
| 064855a69003 ("x86/resctrl: Fix default monitoring groups reporting") |
| |
| caused a RHEL build failure with an uninitialized variable warning |
| treated as an error because it removed the default case snippet. |
| |
| The RHEL Makefile uses '-Werror=maybe-uninitialized' to force possibly |
| uninitialized variable warnings to be treated as errors. This is also |
| reported by smatch via the 0day robot. |
| |
| The error from the RHEL build is: |
| |
| 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 upstream Makefile does not build using '-Werror=maybe-uninitialized'. |
| So, the problem is not seen there. Fix the problem by putting back the |
| default case snippet. |
| |
| [ bp: note that there's nothing wrong with the code and other compilers |
| do not trigger this warning - this is being done just so the RHEL compiler |
| is happy. ] |
| |
| Fixes: 064855a69003 ("x86/resctrl: Fix default monitoring groups reporting") |
| Reported-by: Terry Bowman <Terry.Bowman@amd.com> |
| Reported-by: kernel test robot <lkp@intel.com> |
| Signed-off-by: Babu Moger <babu.moger@amd.com> |
| Signed-off-by: Borislav Petkov <bp@suse.de> |
| Reviewed-by: Reinette Chatre <reinette.chatre@intel.com> |
| Cc: stable@vger.kernel.org |
| Link: https://lkml.kernel.org/r/162949631908.23903.17090272726012848523.stgit@bmoger-ubuntu |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/x86/kernel/cpu/intel_rdt_monitor.c | 6 ++++++ |
| 1 file changed, 6 insertions(+) |
| |
| --- a/arch/x86/kernel/cpu/intel_rdt_monitor.c |
| +++ b/arch/x86/kernel/cpu/intel_rdt_monitor.c |
| @@ -244,6 +244,12 @@ static u64 __mon_event_count(u32 rmid, s |
| 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) { |