[PATCH v2] security, fs, nfs, net: update security_inode_listsecurity() interface

Kuniyuki Iwashima kuniyu at amazon.com
Wed May 21 00:31:49 UTC 2025


From: Stephen Smalley <stephen.smalley.work at gmail.com>
Date: Mon, 28 Apr 2025 15:50:19 -0400
> Update the security_inode_listsecurity() interface to allow
> use of the xattr_list_one() helper and update the hook
> implementations.
> 
> Link: https://lore.kernel.org/selinux/20250424152822.2719-1-stephen.smalley.work@gmail.com/
> 
> Signed-off-by: Stephen Smalley <stephen.smalley.work at gmail.com>
[...]
> diff --git a/net/socket.c b/net/socket.c
> index 9a0e720f0859..bbcaa3371fcd 100644
> --- a/net/socket.c
> +++ b/net/socket.c
> @@ -560,17 +560,14 @@ static ssize_t sockfs_listxattr(struct dentry *dentry, char *buffer,
>  				size_t size)
>  {
>  	ssize_t len;
> -	ssize_t used = 0;
> +	ssize_t used, remaining;
> +	int err;

Paul: Could you sort this in the reverse xmas tree order before merging ?
https://docs.kernel.org/process/maintainer-netdev.html#local-variable-ordering-reverse-xmas-tree-rcs

otherwise the socket part looks good to me:

Reviewed-by: Kuniyuki Iwashima <kuniyu at amazon.com>


>  
> -	len = security_inode_listsecurity(d_inode(dentry), buffer, size);
> -	if (len < 0)
> -		return len;
> -	used += len;
> -	if (buffer) {
> -		if (size < used)
> -			return -ERANGE;
> -		buffer += len;
> -	}
> +	err = security_inode_listsecurity(d_inode(dentry), &buffer,
> +					  &remaining);
> +	if (err)
> +		return err;
> +	used = size - remaining;
>  
>  	len = (XATTR_NAME_SOCKPROTONAME_LEN + 1);
>  	used += len;



More information about the Linux-security-module-archive mailing list