Re: [PATCH] staging: lustre: lprocfs_status.h: fix sparse error: symbol redeclared with different type

From: Samuele Baisi
Date: Fri Oct 07 2016 - 04:32:31 EST




Il giorno ven 7 ott 2016 alle 5:55, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> ha scritto:
On Thu, Oct 06, 2016 at 06:52:07PM +0200, Samuele Baisi wrote:
drivers/staging/lustre/lustre/obdclass/lprocfs_status.c:1554:5: error:
symbol 'lprocfs_wr_root_squash' redeclared with different type (originally
declared at drivers/staging/lustre/lustre/obdclass/../include/lprocfs_status.h:704)
- incompatible argument 1 (different address spaces)

drivers/staging/lustre/lustre/obdclass/lprocfs_status.c:1618:5: error:
symbol 'lprocfs_wr_nosquash_nids' redeclared with different type (originally
declared at drivers/staging/lustre/lustre/obdclass/../include/lprocfs_status.h:706)
- incompatible argument 1 (different address spaces)

Added __user annotation to the header definitions arguments (which are
indeed userspace buffers).

Are they really? Have you tested this? The last time this was looked
at, it was a non-trivial problem...

No, I haven't really tested it, I just saw they're treated like userspace
buffers (copy_from_user) in the function body.

if (copy_from_user(kernbuf, buffer, count)) {
errmsg = "bad address";
rc = -EFAULT;
goto failed_noprint;
}

if (copy_from_user(kernbuf, buffer, count)) {
errmsg = "bad address";
rc = -EFAULT;
goto failed;
}

And any reason you didn't cc the lustre maintainers with this change?
If you think it is correct, please resend it with the testing
information and cc: them.

No, it was a mistake on my part, I thought to CC lustre-devel, but it seems not to be
public access and then I forgot to add a Lustre mantainer.

Anyway, I do not think I'm going to have a chanche to really test it, so it's probably
better to dismiss the matter.

Sorry for having wasted your time.


thanks,

greg k-h

Thank you and best regards.