Re: [PATCH] fs/aio: Fix __percpu annotation of *cpu pointer in struct kioctx

Jan Kara
2024-07-30T13:18:13Z

On Tue 30-07-24 14:18:34, Uros Bizjak wrote:
> __percpu annotation of *cpu pointer in struct kioctx is put at
> the wrong place, resulting in several sparse warnings:
>
> aio.c:623:24: warning: incorrect type in argument 1 (different address spaces)
> aio.c:623:24: expected void [noderef] __percpu *__pdata
> aio.c:623:24: got struct kioctx_cpu *cpu
> aio.c:788:18: warning: incorrect type in assignment (different address spaces)
> aio.c:788:18: expected struct kioctx_cpu *cpu
> aio.c:788:18: got struct kioctx_cpu [noderef] __percpu *
> aio.c:835:24: warning: incorrect type in argument 1 (different address spaces)
> aio.c:835:24: expected void [noderef] __percpu *__pdata
> aio.c:835:24: got struct kioctx_cpu *cpu
> aio.c:940:16: warning: incorrect type in initializer (different address spaces)
> aio.c:940:16: expected void const [noderef] __percpu *__vpp_verify
> aio.c:940:16: got struct kioctx_cpu *
> aio.c:958:16: warning: incorrect type in initializer (different address spaces)
> aio.c:958:16: expected void const [noderef] __percpu *__vpp_verify
> aio.c:958:16: got struct kioctx_cpu *
>
> Put __percpu annotation at the right place to fix these warnings.
>
> Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
> Cc: Benjamin LaHaise <bcrl@kvack.org>
> Cc: Alexander Viro <viro@zeniv.linux.org.uk>
> Cc: Christian Brauner <brauner@kernel.org>
> Cc: Jan Kara <jack@suse.cz>
> Cc: Andrew Morton <akpm@linux-foundation.org>

Looks good. Feel free to add:

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

Honza

> ---
> fs/aio.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/aio.c b/fs/aio.c
> index 6066f64967b3..e8920178b50f 100644
> --- a/fs/aio.c
> +++ b/fs/aio.c
> @@ -100,7 +100,7 @@ struct kioctx {
>
> unsigned long user_id;
>
> - struct __percpu kioctx_cpu *cpu;
> + struct kioctx_cpu __percpu *cpu;
>
> /*
> * For percpu reqs_available, number of slots we move to/from global
> --
> 2.45.2
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR