[PATCH RFC 07/15] arm_mpam: Fix the RIS index range check in mpam_ris_create_locked
Yin Li <[email protected]>
| Newsgroups | dev.linux.lists.driver-core,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260811-mpam-resctrl-dt-knp-support-v1-7-ea6397bead59@oss.qualcomm.com> |
The RIS selector field is defined as MPAMCFG_PART_SEL_RIS (bits 27:24), which is 4 bits wide and gives valid indices 0..15. MPAM_MSC_MAX_NUM_RIS is defined as 16, so the check should use >= to reject index 16 and above. The previous > check incorrectly accepted index 16 as valid. Signed-off-by: Yin Li <[email protected]> --- drivers/resctrl/mpam_devices.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/resctrl/mpam_devices.c b/drivers/resctrl/mpam_devices.c index ddc15249ec1e..cc9fa1d78925 100644 --- a/drivers/resctrl/mpam_devices.c +++ b/drivers/resctrl/mpam_devices.c @@ -725,7 +725,7 @@ static int mpam_ris_create_locked(struct mpam_msc *msc, u8 ris_idx, lockdep_assert_held(&mpam_list_lock); - if (ris_idx > MPAM_MSC_MAX_NUM_RIS) + if (ris_idx >= MPAM_MSC_MAX_NUM_RIS) return -EINVAL; if (test_and_set_bit(ris_idx, &msc->ris_idxs)) -- 2.34.1