[PATCH] arm_mpam: resctrl: Catch and propagate error from get_cpu_cacheinfo_id()
Andre Przywara
andre.przywara at arm.com
Mon Sep 7 06:14:05 PDT 2026
Hi Ben,
thanks for having a look!
On 9/7/26 14:59, Ben Horgan wrote:
> Hi Andre,
>
> On 02/09/2026 15:37, Andre Przywara wrote:
>> get_cpu_cacheinfo_id() can fail, in which case it returns a negative
>> error value.
>>
>> Check the returned value for this error condition, before passing the
>> value on to other code, which would hide the negative number in some high
>> value in the unsigned type.
>>
>> Fixes: 36528c7681b8 ("arm_mpam: resctrl: Add support for 'MB' resource")
>> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
>
> This looks good to me. Out of interest what led you to find this?
For Yin Li's RFC patch [06/15], I was looking around to find the proper
type for cache-id, and stumbled upon this.
> Reviewed-by: Ben Horgan <ben.horgan at arm.com>
Thanks!
Cheers,
Andre
>
> Thanks,
>
> Ben
>
>> ---
>> drivers/resctrl/mpam_resctrl.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/resctrl/mpam_resctrl.c b/drivers/resctrl/mpam_resctrl.c
>> index 9d223057953ab..a5e661eff86d7 100644
>> --- a/drivers/resctrl/mpam_resctrl.c
>> +++ b/drivers/resctrl/mpam_resctrl.c
>> @@ -786,7 +786,10 @@ static u32 get_mba_min(struct mpam_props *cprops)
>> /* Find the L3 cache that has affinity with this CPU */
>> static int find_l3_equivalent_bitmask(int cpu, cpumask_var_t tmp_cpumask)
>> {
>> - u32 cache_id = get_cpu_cacheinfo_id(cpu, 3);
>> + int cache_id = get_cpu_cacheinfo_id(cpu, 3);
>> +
>> + if (cache_id < 0)
>> + return -ENOENT;
>>
>> lockdep_assert_cpus_held();
>>
>
More information about the linux-arm-kernel
mailing list