]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
fs/select: Annotate struct poll_list with __counted_by()
authorThorsten Blum <thorsten.blum@toblux.com>
Thu, 8 Aug 2024 15:00:24 +0000 (17:00 +0200)
committerChristian Brauner <brauner@kernel.org>
Fri, 30 Aug 2024 06:22:35 +0000 (08:22 +0200)
Add the __counted_by compiler attribute to the flexible array member
entries to improve access bounds-checking via CONFIG_UBSAN_BOUNDS and
CONFIG_FORTIFY_SOURCE.

Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com>
Link: https://lore.kernel.org/r/20240808150023.72578-2-thorsten.blum@toblux.com
Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/select.c

index 9515c3fa1a03e8a8576f90f8a4dee46509dd1954..1a4849e2afb975d29001f67dcc195bbe2f2cc9dc 100644 (file)
@@ -840,7 +840,7 @@ SYSCALL_DEFINE1(old_select, struct sel_arg_struct __user *, arg)
 struct poll_list {
        struct poll_list *next;
        unsigned int len;
-       struct pollfd entries[];
+       struct pollfd entries[] __counted_by(len);
 };
 
 #define POLLFD_PER_PAGE  ((PAGE_SIZE-sizeof(struct poll_list)) / sizeof(struct pollfd))