[PATCH RESEND] fs/xattr: Annotate struct simple_xattr with __counted_by

Thorsten Blum posted 1 patch 1 week, 2 days ago
include/linux/xattr.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH RESEND] fs/xattr: Annotate struct simple_xattr with __counted_by
Posted by Thorsten Blum 1 week, 2 days ago
Add the __counted_by() compiler attribute to the flexible array member
'value' to improve access bounds-checking via CONFIG_UBSAN_BOUNDS and
CONFIG_FORTIFY_SOURCE.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
 include/linux/xattr.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/xattr.h b/include/linux/xattr.h
index 64e9afe7d647..296b5ee5c979 100644
--- a/include/linux/xattr.h
+++ b/include/linux/xattr.h
@@ -114,7 +114,7 @@ struct simple_xattr {
 	struct rb_node rb_node;
 	char *name;
 	size_t size;
-	char value[];
+	char value[] __counted_by(size);
 };
 
 void simple_xattrs_init(struct simple_xattrs *xattrs);
-- 
2.51.1
Re: [PATCH RESEND] fs/xattr: Annotate struct simple_xattr with __counted_by
Posted by Jan Kara 6 days, 12 hours ago
On Sat 22-11-25 13:00:22, Thorsten Blum wrote:
> Add the __counted_by() compiler attribute to the flexible array member
> 'value' to improve access bounds-checking via CONFIG_UBSAN_BOUNDS and
> CONFIG_FORTIFY_SOURCE.
> 
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@suse.cz>

								Honza

> ---
>  include/linux/xattr.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/include/linux/xattr.h b/include/linux/xattr.h
> index 64e9afe7d647..296b5ee5c979 100644
> --- a/include/linux/xattr.h
> +++ b/include/linux/xattr.h
> @@ -114,7 +114,7 @@ struct simple_xattr {
>  	struct rb_node rb_node;
>  	char *name;
>  	size_t size;
> -	char value[];
> +	char value[] __counted_by(size);
>  };
>  
>  void simple_xattrs_init(struct simple_xattrs *xattrs);
> -- 
> 2.51.1
> 
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR