Re: [PATCH RFC 09/15] arm_mpam: Fix MSC MMIO window size to use resource_size() instead of end - start

From: Yin Li

Date: Thu Sep 03 2026 - 05:52:41 EST




On 9/2/2026 9:16 PM, Andre Przywara wrote:
Hi,

On 8/11/26 15:30, Yin Li wrote:
struct resource uses an inclusive end address, so the correct size is
end - start + 1. The previous calculation of end - start was off by one,
resulting in a mapped window one byte smaller than the actual resource.
Use resource_size() which correctly computes end - start + 1.

Yes, thanks for catching this and making a patch. We found this independently during other MPAM work, but no one got around to make a patch ;-)

Signed-off-by: Yin Li <yin.li@xxxxxxxxxxxxxxxx>

Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx>

So this patch is independent from and non-conflicting with the DT work, so either Ben or James pick this one directly, or you put those kind of fixes first in the series, when you repost.


Hi Andre,

Thanks for the review and the Reviewed-by tag.

Agreed — like the RIS range-check fix, this one is independent of the DT
work, so I'll move it to the front of the series in the next repost.

Cheers,
Andre

---
  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 1e082fb60e30..5d1854d97371 100644
--- a/drivers/resctrl/mpam_devices.c
+++ b/drivers/resctrl/mpam_devices.c
@@ -2296,7 +2296,7 @@ static struct mpam_msc *do_mpam_msc_drv_probe(struct platform_device *pdev)
              dev_err_once(dev, "Failed to map MSC base address\n");
              return ERR_CAST(io);
          }
-        msc->mapped_hwpage_sz = msc_res->end - msc_res->start;
+        msc->mapped_hwpage_sz = resource_size(msc_res);
          msc->mapped_hwpage = io;
      } else {
          return ERR_PTR(-EINVAL);



--
Thx and BRs,
Yin