On 2/12/24 12:22, Arnd Bergmann wrote:> From: Arnd Bergmann <arnd at arndb.de>
>
> The conversion to kvcalloc() mixed up the object size and count
> arguments, causing a warning:
>
> drivers/gpu/drm/nouveau/nouveau_svm.c: In function
'nouveau_svm_fault_buffer_ctor':
> drivers/gpu/drm/nouveau/nouveau_svm.c:1010:40: error: 'kvcalloc'
sizes specified with 'sizeof' in the earlier argument and not in the
later argument [-Werror=calloc-transposed-args]
> 1010 | buffer->fault = kvcalloc(sizeof(*buffer->fault),
buffer->entries, GFP_KERNEL);
> | ^
> drivers/gpu/drm/nouveau/nouveau_svm.c:1010:40: note: earlier argument
should specify number of elements, later size of each element
>
> The behavior is still correct aside from the warning, but fixing it avoids
> the warnings and can help the compiler track the individual objects better.
>
> Fixes: 71e4bbca070e ("nouveau/svm: Use kvcalloc() instead of
kvzalloc()")
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
Applied to drm-misc-fixes, thanks!
> ---
> drivers/gpu/drm/nouveau/nouveau_svm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_svm.c
b/drivers/gpu/drm/nouveau/nouveau_svm.c
> index 4d1008915499..b4da82ddbb6b 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_svm.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_svm.c
> @@ -1007,7 +1007,7 @@ nouveau_svm_fault_buffer_ctor(struct nouveau_svm
*svm, s32 oclass, int id)
> if (ret)
> return ret;
>
> - buffer->fault = kvcalloc(sizeof(*buffer->fault),
buffer->entries, GFP_KERNEL);
> + buffer->fault = kvcalloc(buffer->entries,
sizeof(*buffer->fault), GFP_KERNEL);
> if (!buffer->fault)
> return -ENOMEM;
>