Question regarding sparse warning in staging/lustre

From: Adrian Remonda
Date: Sun Feb 08 2015 - 16:27:52 EST


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?

thanks in advance,

Adrian

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