Re: [PATCH] NFS: Replace one-element array with flexible-array member
From: Trond Myklebust
Date: Thu Jan 13 2022 - 22:59:36 EST
On Fri, 2022-01-14 at 00:57 +0000, cgel.zte@xxxxxxxxx wrote:
> From: Changcheng Deng <deng.changcheng@xxxxxxxxxx>
>
> There is a regular need in the kernel to provide a way to declare
> having
> a dynamically sized set of trailing elements in a structure. Kernel
> code
> should always use “flexible array members” for these cases. The older
> style of one-element or zero-length arrays should no longer be used.
>
> Reference:
> https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length
> -
> and-one-element-arrays
>
> Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
> Signed-off-by: Changcheng Deng <deng.changcheng@xxxxxxxxxx>
> ---
> include/linux/nfs_xdr.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h
> index 39390d9df9e1..7f51edd5785a 100644
> --- a/include/linux/nfs_xdr.h
> +++ b/include/linux/nfs_xdr.h
> @@ -421,7 +421,7 @@ struct nfs42_layout_error {
> __u64 offset;
> __u64 length;
> nfs4_stateid stateid;
> - struct nfs42_device_error errors[1];
> + struct nfs42_device_error errors[];
> };
>
> #define NFS42_LAYOUTERROR_MAX 5
NACK. This is a fixed size array of length 1, not a variable size
array. Please fix your tool.
--
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@xxxxxxxxxxxxxxx