Re: [PATCH] staging: lusten: conrpc.c: fix different address space sparse warning

From: Greg KH
Date: Wed Mar 29 2017 - 03:31:51 EST


On Tue, Mar 28, 2017 at 11:14:06PM -0300, Marcos Paulo de Souza wrote:
> head_up parameter is marked with __user attribute, tmp is filled
> by a copy_from_user from next, that is also marked as __user, so
> tmp.next needs to be "casted" as __user to make sparse happy.

But is it the correct change?

You also have a typo in your subject :(

> Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@xxxxxxxxx>
> ---
>
> this is mt first patch addressing an issue of sparse, so let me know
> if I misunderstood the error message
>
> drivers/staging/lustre/lnet/selftest/conrpc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/lustre/lnet/selftest/conrpc.c b/drivers/staging/lustre/lnet/selftest/conrpc.c
> index c6a683b..fb7ad74 100644
> --- a/drivers/staging/lustre/lnet/selftest/conrpc.c
> +++ b/drivers/staging/lustre/lnet/selftest/conrpc.c
> @@ -487,7 +487,7 @@ lstcon_rpc_trans_interpreter(struct lstcon_rpc_trans *trans,
> sizeof(struct list_head)))
> return -EFAULT;
>
> - if (tmp.next == head_up)
> + if ((struct list_head __user *)tmp.next == head_up)

Aer you sure this is correct? __user changes for lustre is not
trivial...

How did you test this?

thanks,

greg k-h