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

From: Marcos Paulo de Souza
Date: Wed Mar 29 2017 - 06:29:27 EST


On Wed, Mar 29, 2017 at 09:31:14AM +0200, Greg KH wrote:
> 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?

I don't know, it's my first sparse patch, so I tried to fix this
warning.

>
> You also have a typo in your subject :(

Sorry, didn't noticed yesterday :(

>
> > 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?

I didn't tested, it just removed the warning. Is this a false positive?

>
> thanks,
>
> greg k-h

--
Thanks,
Marcos