Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1496767 > unrolled thread

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

Started bySamuele Baisi <ciccio87@gmail.com>
First post2016-10-06 19:00 +0200
Last post2016-10-07 10:40 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] staging: lustre: lprocfs_status.h: fix sparse error: symbol redeclared with different type Samuele Baisi <ciccio87@gmail.com> - 2016-10-06 19:00 +0200
    Re: [PATCH] staging: lustre: lprocfs_status.h: fix sparse error:  symbol redeclared with different type Greg KH <gregkh@linuxfoundation.org> - 2016-10-07 06:10 +0200
      Re: [PATCH] staging: lustre: lprocfs_status.h: fix sparse error:  symbol redeclared with different type Samuele Baisi <ciccio87@gmail.com> - 2016-10-07 10:40 +0200

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

FromSamuele Baisi <ciccio87@gmail.com>
Date2016-10-06 19:00 +0200
Subject[PATCH] staging: lustre: lprocfs_status.h: fix sparse error: symbol redeclared with different type
Message-ID<spkbx-35y-69@gated-at.bofh.it>
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 <ciccio87@gmail.com>
---
 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

[toc] | [next] | [standalone]


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

FromGreg KH <gregkh@linuxfoundation.org>
Date2016-10-07 06:10 +0200
SubjectRe: [PATCH] staging: lustre: lprocfs_status.h: fix sparse error: symbol redeclared with different type
Message-ID<spuDU-2QL-9@gated-at.bofh.it>
In reply to#1496767
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

[toc] | [prev] | [next] | [standalone]


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

FromSamuele Baisi <ciccio87@gmail.com>
Date2016-10-07 10:40 +0200
SubjectRe: [PATCH] staging: lustre: lprocfs_status.h: fix sparse error: symbol redeclared with different type
Message-ID<spyRc-65a-29@gated-at.bofh.it>
In reply to#1496987

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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web