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>
This commit is contained in:
Bill Wendling 2026-09-22 22:35:38 +00:00 committed by Christophe Leroy (CS GROUP)
parent 4258e8f444
commit 7aed976c42

View File

@ -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 {
/*