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

2016-10-07 Thread Samuele Baisi



Il giorno ven 7 ott 2016 alle 5:55, Greg KH 
 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.



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

2016-10-07 Thread Samuele Baisi



Il giorno ven 7 ott 2016 alle 5:55, Greg KH 
 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.



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

2016-10-06 Thread Greg KH
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...

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.

thanks,

greg k-h


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

2016-10-06 Thread Greg KH
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...

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.

thanks,

greg k-h


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

2016-10-06 Thread Samuele Baisi
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).

Signed-off-by: Samuele Baisi 
---
 drivers/staging/lustre/lustre/include/lprocfs_status.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/lustre/lustre/include/lprocfs_status.h 
b/drivers/staging/lustre/lustre/include/lprocfs_status.h
index cc0713e..b5c24ca 100644
--- a/drivers/staging/lustre/lustre/include/lprocfs_status.h
+++ b/drivers/staging/lustre/lustre/include/lprocfs_status.h
@@ -701,9 +701,9 @@ static struct lustre_attr lustre_attr_##name = __ATTR(name, 
mode, show, store)
 extern const struct sysfs_ops lustre_sysfs_ops;
 
 struct root_squash_info;
-int lprocfs_wr_root_squash(const char *buffer, unsigned long count,
+int lprocfs_wr_root_squash(const char __user *buffer, unsigned long count,
   struct root_squash_info *squash, char *name);
-int lprocfs_wr_nosquash_nids(const char *buffer, unsigned long count,
+int lprocfs_wr_nosquash_nids(const char __user *buffer, unsigned long count,
 struct root_squash_info *squash, char *name);
 
 /* all quota proc functions */
-- 
2.9.3



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

2016-10-06 Thread Samuele Baisi
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).

Signed-off-by: Samuele Baisi 
---
 drivers/staging/lustre/lustre/include/lprocfs_status.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/lustre/lustre/include/lprocfs_status.h 
b/drivers/staging/lustre/lustre/include/lprocfs_status.h
index cc0713e..b5c24ca 100644
--- a/drivers/staging/lustre/lustre/include/lprocfs_status.h
+++ b/drivers/staging/lustre/lustre/include/lprocfs_status.h
@@ -701,9 +701,9 @@ static struct lustre_attr lustre_attr_##name = __ATTR(name, 
mode, show, store)
 extern const struct sysfs_ops lustre_sysfs_ops;
 
 struct root_squash_info;
-int lprocfs_wr_root_squash(const char *buffer, unsigned long count,
+int lprocfs_wr_root_squash(const char __user *buffer, unsigned long count,
   struct root_squash_info *squash, char *name);
-int lprocfs_wr_nosquash_nids(const char *buffer, unsigned long count,
+int lprocfs_wr_nosquash_nids(const char __user *buffer, unsigned long count,
 struct root_squash_info *squash, char *name);
 
 /* all quota proc functions */
-- 
2.9.3