Re: Question regarding sparse warning in staging/lustre

From: Greg Kroah-Hartman
Date: Mon Feb 09 2015 - 18:36:41 EST


On Tue, Feb 10, 2015 at 12:07:17AM +0100, AdrianRemonda wrote:
> On Mon, Feb 09, 2015 at 07:40:23AM +0800, Greg Kroah-Hartman wrote:
> > On Sun, Feb 08, 2015 at 10:27:23PM +0100, Adrian Remonda wrote:
> > > Hello,
> > >
> > > I'm cleaning the drivers/staging/lustre driver.
> > > I have got the next warning from sparse:
> > >
> > > drivers/staging/lustre/lnet/selftest//conctl.c:918:30: warning: incorrect type in argument 1 (different address spaces)
> > > drivers/staging/lustre/lnet/selftest//conctl.c:918:30: expected void [noderef] <asn:1>*to
> > > drivers/staging/lustre/lnet/selftest//conctl.c:918:30: got char *ioc_pbuf2
> > >
> > > If I add the __user macro as next:
> > >
> > > --- a/drivers/staging/lustre/lnet/selftest/conctl.c
> > > +++ b/drivers/staging/lustre/lnet/selftest/conctl.c
> > > @@ -46,7 +46,7 @@
> > > #include "console.h"
> > >
> > > static int
> > > -lst_session_new_ioctl(lstio_session_new_args_t *args)
> > > +lst_session_new_ioctl(lstio_session_new_args_t __user *args)
> > > {
> > > char *name;
> > > int rc;
> > >
> > > The warning turns to:
> > >
> > > drivers/staging/lustre/lnet/selftest//conctl.c:825:13: warning: dereference of noderef expression
> > >
> > > Now the question:
> > > Is this right or it is just a false warning from sparse?
> > > Should the __user macro should be also inside the structure fields?
> >
> > The user/kernel fields in lustre are a total mess, I wouldn't work on
> > them if you don't have to as they need an overhaul in some areas.
> >
> > So I'd recommend just staying away :)
> >
> > good luck!
> >
> > greg k-h
>
> Ok. I had already done some modifications anyway. I sent you the patch
> of the few I did

I can't take those as I don't think they are correct, so I'll just drop
them, sorry.

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/