summaryrefslogtreecommitdiffstats
path: root/include/linux/mtd
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2023-09-15 13:12:00 -0700
committerMiquel Raynal <miquel.raynal@bootlin.com>2023-09-22 16:33:21 +0200
commitf1a9be986cedbef839062428e8e9b2bcc9c58af5 (patch)
tree9f3a2720a9fd8db5a086aa29614351ba3fdab67a /include/linux/mtd
parent8ffd18a6744b18ff9b58abf7261aaccd78be98cf (diff)
downloadlinux-f1a9be986cedbef839062428e8e9b2bcc9c58af5.tar.gz
linux-f1a9be986cedbef839062428e8e9b2bcc9c58af5.tar.bz2
linux-f1a9be986cedbef839062428e8e9b2bcc9c58af5.zip
mtd: Annotate struct lpddr_private 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 lpddr_private. [1] https://github.com/kees/kernel-tools/blob/trunk/coccinelle/examples/counted_by.cocci Cc: Miquel Raynal <miquel.raynal@bootlin.com> Cc: Richard Weinberger <richard@nod.at> Cc: Vignesh Raghavendra <vigneshr@ti.com> Cc: linux-mtd@lists.infradead.org Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/20230915201159.never.112-kees@kernel.org
Diffstat (limited to 'include/linux/mtd')
-rw-r--r--include/linux/mtd/qinfo.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/mtd/qinfo.h b/include/linux/mtd/qinfo.h
index 2e3f43788d48..0421f12156b5 100644
--- a/include/linux/mtd/qinfo.h
+++ b/include/linux/mtd/qinfo.h
@@ -24,7 +24,7 @@ struct lpddr_private {
struct qinfo_chip *qinfo;
int numchips;
unsigned long chipshift;
- struct flchip chips[];
+ struct flchip chips[] __counted_by(numchips);
};
/* qinfo_query_info structure contains request information for