2019-10-03 00:35:28

by Randy Dunlap

[permalink] [raw]
Subject: fs/nfsd/nfs4state.c use of "\%s"

Hi Bruce,

In commit 78599c42ae3c70300a38b0d1271a85bc9f2d704a
(nfsd4: add file to display list of client's opens), some of the %s printk
specifiers are \-escaped:

+ seq_printf(s, "access: \%s\%s, ",
+ access & NFS4_SHARE_ACCESS_READ ? "r" : "-",
+ access & NFS4_SHARE_ACCESS_WRITE ? "w" : "-");
+ seq_printf(s, "deny: \%s\%s, ",
+ deny & NFS4_SHARE_ACCESS_READ ? "r" : "-",
+ deny & NFS4_SHARE_ACCESS_WRITE ? "w" : "-");


sparse complains about these, as does gcc when used with --pedantic.
sparse says:

../fs/nfsd/nfs4state.c:2385:23: warning: unknown escape sequence: '\%'
../fs/nfsd/nfs4state.c:2385:23: warning: unknown escape sequence: '\%'
../fs/nfsd/nfs4state.c:2388:23: warning: unknown escape sequence: '\%'
../fs/nfsd/nfs4state.c:2388:23: warning: unknown escape sequence: '\%'

Is this just a typo?

Please just fix it.

thanks,
--
~Randy


2019-10-03 17:05:46

by J. Bruce Fields

[permalink] [raw]
Subject: Re: fs/nfsd/nfs4state.c use of "\%s"

On Wed, Oct 02, 2019 at 05:17:27PM -0700, Randy Dunlap wrote:
> Hi Bruce,
>
> In commit 78599c42ae3c70300a38b0d1271a85bc9f2d704a
> (nfsd4: add file to display list of client's opens), some of the %s printk
> specifiers are \-escaped:
>
> + seq_printf(s, "access: \%s\%s, ",
> + access & NFS4_SHARE_ACCESS_READ ? "r" : "-",
> + access & NFS4_SHARE_ACCESS_WRITE ? "w" : "-");
> + seq_printf(s, "deny: \%s\%s, ",
> + deny & NFS4_SHARE_ACCESS_READ ? "r" : "-",
> + deny & NFS4_SHARE_ACCESS_WRITE ? "w" : "-");
>
>
> sparse complains about these, as does gcc when used with --pedantic.
> sparse says:
>
> ../fs/nfsd/nfs4state.c:2385:23: warning: unknown escape sequence: '\%'
> ../fs/nfsd/nfs4state.c:2385:23: warning: unknown escape sequence: '\%'
> ../fs/nfsd/nfs4state.c:2388:23: warning: unknown escape sequence: '\%'
> ../fs/nfsd/nfs4state.c:2388:23: warning: unknown escape sequence: '\%'
>
> Is this just a typo?

Yes, weird, I wonder how that crept in.

Patch queued up for 5.5, thanks.

--b.