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

From: Andre Przywara

Date: Wed Sep 02 2026 - 09:30:23 EST


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.

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);