mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-11 09:00:12 +00:00
arm_mpam: Stop using uninitialized variables in __ris_msmon_read()
Dan has reported two uses of uninitialized variables in __ris_msmon_read().
If an unknown monitor type is encountered then the local variable, now, is
used uninitialized. Fix this by returning early on error. If a non-mbwu
monitor is being read then the local variable, overflow, is not initialized
but still read. Initialize it to false as overflow is not relevant for csu
monitors.
Fixes: 823e7c3712c5 ("arm_mpam: Add mpam_msmon_read() to read monitor value")
Fixes: 9e5afb7c3283 ("arm_mpam: Use long MBWU counters if supported")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202512091519.RBwiJcSq-lkp@intel.com/
Closes: https://lore.kernel.org/r/202512100547.N7QPYgfb-lkp@intel.com/
Signed-off-by: Ben Horgan <ben.horgan@arm.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
parent
dd4d71f587
commit
c2803bd580
@ -1072,7 +1072,7 @@ static void __ris_msmon_read(void *arg)
|
||||
u64 now;
|
||||
bool nrdy = false;
|
||||
bool config_mismatch;
|
||||
bool overflow;
|
||||
bool overflow = false;
|
||||
struct mon_read *m = arg;
|
||||
struct mon_cfg *ctx = m->ctx;
|
||||
bool reset_on_next_read = false;
|
||||
@ -1176,10 +1176,11 @@ static void __ris_msmon_read(void *arg)
|
||||
}
|
||||
mpam_mon_sel_unlock(msc);
|
||||
|
||||
if (nrdy) {
|
||||
if (nrdy)
|
||||
m->err = -EBUSY;
|
||||
|
||||
if (m->err)
|
||||
return;
|
||||
}
|
||||
|
||||
*m->val += now;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user