diff mbox series

fs/select: Annotate struct poll_list with __counted_by()

Message ID 20240808150023.72578-2-thorsten.blum@toblux.com (mailing list archive)
State Mainlined
Commit 193b72792fdba54aa2af6c3ad72ce16c3f06b4f7
Headers show
Series fs/select: Annotate struct poll_list with __counted_by() | expand

Commit Message

Thorsten Blum Aug. 8, 2024, 3 p.m. UTC
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>
---
 fs/select.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Gustavo A. R. Silva Aug. 8, 2024, 3:11 p.m. UTC | #1
On 08/08/24 09:00, Thorsten Blum wrote:
> 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>

Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>

Thanks
--
Gustavo

> ---
>   fs/select.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/select.c b/fs/select.c
> index 9515c3fa1a03..1a4849e2afb9 100644
> --- a/fs/select.c
> +++ b/fs/select.c
> @@ -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))
Christian Brauner Aug. 9, 2024, 8:33 a.m. UTC | #2
On Thu, 08 Aug 2024 17:00:24 +0200, Thorsten Blum wrote:
> 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.
> 
> 

Applied to the vfs.misc branch of the vfs/vfs.git tree.
Patches in the vfs.misc branch should appear in linux-next soon.

Please report any outstanding bugs that were missed during review in a
new review to the original patch series allowing us to drop it.

It's encouraged to provide Acked-bys and Reviewed-bys even though the
patch has now been applied. If possible patch trailers will be updated.

Note that commit hashes shown below are subject to change due to rebase,
trailer updates or similar. If in doubt, please check the listed branch.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git
branch: vfs.misc

[1/1] fs/select: Annotate struct poll_list with __counted_by()
      https://git.kernel.org/vfs/vfs/c/92f7fe9a4c12
diff mbox series

Patch

diff --git a/fs/select.c b/fs/select.c
index 9515c3fa1a03..1a4849e2afb9 100644
--- a/fs/select.c
+++ b/fs/select.c
@@ -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))