From: Kees Cook Date: Thu, 17 Aug 2023 23:58:53 +0000 (-0700) Subject: dmaengine: tegra210-adma: Annotate struct tegra_adma with __counted_by X-Git-Tag: v6.7-rc1~73^2~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=15f2c636dde8c4370db87ceabce5cc8325460d77;p=thirdparty%2Fkernel%2Flinux.git dmaengine: tegra210-adma: Annotate struct tegra_adma with __counted_by Prepare for the coming implementation by GCC and Clang of the __counted_by attribute. Flexible array members annotated with __counted_by can have their accesses bounds-checked at run-time checking via CONFIG_UBSAN_BOUNDS (for array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family functions). As found with Coccinelle[1], add __counted_by for struct tegra_adma. [1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci Cc: Vinod Koul Cc: Laxman Dewangan Cc: Jon Hunter Cc: Thierry Reding Cc: dmaengine@vger.kernel.org Cc: linux-tegra@vger.kernel.org Signed-off-by: Kees Cook Reviewed-by: "Gustavo A. R. Silva" Link: https://lore.kernel.org/r/20230817235859.49846-16-keescook@chromium.org Signed-off-by: Vinod Koul --- diff --git a/drivers/dma/tegra210-adma.c b/drivers/dma/tegra210-adma.c index 60111d40325ed..7a0586633bf32 100644 --- a/drivers/dma/tegra210-adma.c +++ b/drivers/dma/tegra210-adma.c @@ -162,7 +162,7 @@ struct tegra_adma { const struct tegra_adma_chip_data *cdata; /* Last member of the structure */ - struct tegra_adma_chan channels[]; + struct tegra_adma_chan channels[] __counted_by(nr_channels); }; static inline void tdma_write(struct tegra_adma *tdma, u32 reg, u32 val)