[PATCH] bus: fsl-mc: Annotate fsl_mc_io.portal_virt_addr with __counted_by_ptr
Gustavo A. R. Silva
gustavo at embeddedor.com
Tue Sep 22 22:46:35 PDT 2026
On 9/23/26 07:35, Bill Wendling wrote:
> 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 at google.com
> Assisted-by: LLM
> Signed-off-by: Bill Wendling <morbo at google.com>
Reviewed-by: Gustavo A. R. Silva <gustavoars at kernel.org>
Thanks
-Gustavo
> ---
> include/linux/fsl/mc.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> 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 {
> /*
More information about the linux-arm-kernel
mailing list