[PATCH v1 07/11] arm_mpam: Initialize all of struct mon_read in mpam_restore_mbwu_state()

Ben Horgan ben.horgan at arm.com
Fri Jul 10 04:55:41 PDT 2026


m->err may be read before initialization in __ris_msmon_read() when called
from mpam_restore_mbwu_state().

Initialize the whole struct mon_read in mpam_restore_mbwu_state() and fix
the spelling of mbwu in the name.

Fixes: 41e8a14950e1 ("arm_mpam: Track bandwidth counter state for power management")
Signed-off-by: Ben Horgan <ben.horgan at arm.com>
---
 drivers/resctrl/mpam_devices.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/resctrl/mpam_devices.c b/drivers/resctrl/mpam_devices.c
index a49f426aefc0..c9adc450f087 100644
--- a/drivers/resctrl/mpam_devices.c
+++ b/drivers/resctrl/mpam_devices.c
@@ -1640,7 +1640,6 @@ static int mpam_restore_mbwu_state(void *_ris)
 {
 	int i;
 	u64 val;
-	struct mon_read mwbu_arg;
 	struct mpam_msc_ris *ris = _ris;
 	struct msmon_mbwu_state *mbwu_state;
 	struct mpam_msc *msc = ris->vmsc->msc;
@@ -1653,16 +1652,18 @@ static int mpam_restore_mbwu_state(void *_ris)
 			return -EIO;
 
 		if (ris->mbwu_state[i].enabled) {
-			mwbu_arg.ris = ris;
-			mwbu_arg.ctx = &ris->mbwu_state[i].cfg;
-			mwbu_arg.type = mpam_msmon_choose_counter(class);
-			mwbu_arg.val = &val;
+			struct mon_read mbwu_arg = {
+				.ris = ris,
+				.ctx = &ris->mbwu_state[i].cfg,
+				.type = mpam_msmon_choose_counter(class),
+				.val = &val
+			};
 
 			mbwu_state->reset_on_next_read = true;
 
 			mpam_mon_sel_unlock(msc);
 
-			__ris_msmon_read(&mwbu_arg);
+			__ris_msmon_read(&mbwu_arg);
 		} else {
 			mpam_mon_sel_unlock(msc);
 		}
-- 
2.43.0




More information about the linux-arm-kernel mailing list