summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorBill Wendling <morbo@google.com>2026-09-22 22:35:38 +0000
committerChristophe Leroy (CS GROUP) <chleroy@kernel.org>2026-10-09 10:15:19 +0200
commit7aed976c4207bda126f41475eebaf8162b6a0ce4 (patch)
treea980a16ec71865dfdb62258b0e96cd8a0c82c6e2 /include/linux
parent4258e8f44462463d618f6b4f24a46b35f36cfd0f (diff)
downloadlinux-7aed976c4207bda126f41475eebaf8162b6a0ce4.tar.gz
linux-7aed976c4207bda126f41475eebaf8162b6a0ce4.zip
bus: fsl-mc: Annotate fsl_mc_io.portal_virt_addr with __counted_by_ptr
The GCC and Clang compilers provide the __counted_by_ptr attribute, which is used by KASAN and compiler bounds-checking to detect out-of-bounds accesses to pointer fields. In "struct fsl_mc_io", the "portal_virt_addr" pointer points to the MC command portal virtual address. The size of this allocated portal in bytes is tracked by the "portal_size" field within the same structure. Annotate the "portal_virt_addr" pointer field with "__counted_by_ptr(portal_size)" to enable compiler bounds-checking and harden against potential out-of-bounds accesses. Cc: codemender-patching+linux@google.com Assisted-by: LLM Signed-off-by: Bill Wendling <morbo@google.com> Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com> Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org> Link: https://lore.kernel.org/r/20260922223538.2287676-1-morbo@google.com Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/fsl/mc.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/fsl/mc.h b/include/linux/fsl/mc.h
index c25f0f7e6dd4..0b2c0eb9b605 100644
--- a/include/linux/fsl/mc.h
+++ b/include/linux/fsl/mc.h
@@ -336,7 +336,7 @@ struct fsl_mc_io {
u16 flags;
u32 portal_size;
phys_addr_t portal_phys_addr;
- void __iomem *portal_virt_addr;
+ void __iomem *portal_virt_addr __counted_by_ptr(portal_size);
struct fsl_mc_device *dpmcp_dev;
union {
/*