From: Changcheng Deng deng.changcheng@zte.com.cn
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-a...
Reported-by: Zeal Robot zealci@zte.com.cn Signed-off-by: Changcheng Deng deng.changcheng@zte.com.cn --- drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h index e54a52785690..7d39191d13f6 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h +++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h @@ -1084,7 +1084,7 @@ struct kfd_criu_svm_range_priv_data { uint64_t start_addr; uint64_t size; /* Variable length array of attributes */ - struct kfd_ioctl_svm_attribute attrs[0]; + struct kfd_ioctl_svm_attribute attrs[]; };
struct kfd_criu_queue_priv_data {
Am 15.02.22 um 10:11 schrieb cgel.zte@gmail.com:
From: Changcheng Deng deng.changcheng@zte.com.cn
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-a...
I think you should harden the wording here into "must" no longer be used.
We had so many problems with that and certain gcc versions that we should have this automatically checked somehow.
Reported-by: Zeal Robot zealci@zte.com.cn Signed-off-by: Changcheng Deng deng.changcheng@zte.com.cn
Acked-by: Christian König christian.koenig@amd.com
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h index e54a52785690..7d39191d13f6 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h +++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h @@ -1084,7 +1084,7 @@ struct kfd_criu_svm_range_priv_data { uint64_t start_addr; uint64_t size; /* Variable length array of attributes */
- struct kfd_ioctl_svm_attribute attrs[0];
struct kfd_ioctl_svm_attribute attrs[]; };
struct kfd_criu_queue_priv_data {
On 2022-02-15 04:11, cgel.zte@gmail.com wrote:
From: Changcheng Deng deng.changcheng@zte.com.cn
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-a...
Reported-by: Zeal Robot zealci@zte.com.cn Signed-off-by: Changcheng Deng deng.changcheng@zte.com.cn
Makes sense. I'm applying this patch to amd-staging-drm-next.
I also found a similar issue in include/uapi/linux/kfd_ioctl.h. I'll send another patch to fix that as well.
Regards, Felix
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h index e54a52785690..7d39191d13f6 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h +++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h @@ -1084,7 +1084,7 @@ struct kfd_criu_svm_range_priv_data { uint64_t start_addr; uint64_t size; /* Variable length array of attributes */
- struct kfd_ioctl_svm_attribute attrs[0];
struct kfd_ioctl_svm_attribute attrs[]; };
struct kfd_criu_queue_priv_data {
dri-devel@lists.freedesktop.org