2022-03-17 04:42:30

by Bill Wendling

[permalink] [raw]
Subject: [PATCH] nfsd: use correct format characters

When compiling with -Wformat, clang emits the following warnings:

fs/nfsd/flexfilelayout.c:120:27: warning: format specifies type 'unsigned
char' but the argument has type 'int' [-Wformat]
"%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
~~~~ ^~~~~~~~~
%d
fs/nfsd/flexfilelayout.c:120:38: warning: format specifies type 'unsigned
char' but the argument has type 'int' [-Wformat]
"%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
~~~~ ^~~~~~~~~~~
%d

The types of these arguments are unconditionally defined, so this patch
updates the format character to the correct ones for ints and unsigned
ints.

Link: ClangBuiltLinux/linux#378
Signed-off-by: Bill Wendling <[email protected]>
---
fs/nfsd/flexfilelayout.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nfsd/flexfilelayout.c b/fs/nfsd/flexfilelayout.c
index 2e2f1d5e9f62..070f90ed09b6 100644
--- a/fs/nfsd/flexfilelayout.c
+++ b/fs/nfsd/flexfilelayout.c
@@ -117,7 +117,7 @@ nfsd4_ff_proc_getdeviceinfo(struct super_block *sb, struct svc_rqst *rqstp,

da->netaddr.addr_len =
snprintf(da->netaddr.addr, FF_ADDR_LEN + 1,
- "%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
+ "%s.%d.%d", addr, port >> 8, port & 0xff);

da->tightly_coupled = false;

--
2.35.1.723.g4982287a31-goog


2022-03-17 06:19:56

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] nfsd: use correct format characters

Hi--

On 3/16/22 14:31, Bill Wendling wrote:
> When compiling with -Wformat, clang emits the following warnings:
>
> fs/nfsd/flexfilelayout.c:120:27: warning: format specifies type 'unsigned
> char' but the argument has type 'int' [-Wformat]
> "%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
> ~~~~ ^~~~~~~~~
> %d
> fs/nfsd/flexfilelayout.c:120:38: warning: format specifies type 'unsigned
> char' but the argument has type 'int' [-Wformat]
> "%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
> ~~~~ ^~~~~~~~~~~
> %d
>
> The types of these arguments are unconditionally defined, so this patch
> updates the format character to the correct ones for ints and unsigned
> ints.
>
> Link: ClangBuiltLinux/linux#378

Please make the Link: more complete, such as a URL/URI.

> Signed-off-by: Bill Wendling <[email protected]>
> ---
> fs/nfsd/flexfilelayout.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/nfsd/flexfilelayout.c b/fs/nfsd/flexfilelayout.c
> index 2e2f1d5e9f62..070f90ed09b6 100644
> --- a/fs/nfsd/flexfilelayout.c
> +++ b/fs/nfsd/flexfilelayout.c
> @@ -117,7 +117,7 @@ nfsd4_ff_proc_getdeviceinfo(struct super_block *sb, struct svc_rqst *rqstp,
>
> da->netaddr.addr_len =
> snprintf(da->netaddr.addr, FF_ADDR_LEN + 1,
> - "%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
> + "%s.%d.%d", addr, port >> 8, port & 0xff);
>
> da->tightly_coupled = false;
>

thanks.
--
~Randy

2022-03-17 19:54:12

by Bill Wendling

[permalink] [raw]
Subject: Re: [PATCH] nfsd: use correct format characters

On Wed, Mar 16, 2022 at 11:09 PM Randy Dunlap <[email protected]> wrote:
>
> Hi--
>
> On 3/16/22 14:31, Bill Wendling wrote:
> > When compiling with -Wformat, clang emits the following warnings:
> >
> > fs/nfsd/flexfilelayout.c:120:27: warning: format specifies type 'unsigned
> > char' but the argument has type 'int' [-Wformat]
> > "%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
> > ~~~~ ^~~~~~~~~
> > %d
> > fs/nfsd/flexfilelayout.c:120:38: warning: format specifies type 'unsigned
> > char' but the argument has type 'int' [-Wformat]
> > "%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
> > ~~~~ ^~~~~~~~~~~
> > %d
> >
> > The types of these arguments are unconditionally defined, so this patch
> > updates the format character to the correct ones for ints and unsigned
> > ints.
> >
> > Link: ClangBuiltLinux/linux#378
>
> Please make the Link: more complete, such as a URL/URI.
>
Done. I sent out v2 of the patch. Sorry about this oversight!

-bw

> > Signed-off-by: Bill Wendling <[email protected]>
> > ---
> > fs/nfsd/flexfilelayout.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/fs/nfsd/flexfilelayout.c b/fs/nfsd/flexfilelayout.c
> > index 2e2f1d5e9f62..070f90ed09b6 100644
> > --- a/fs/nfsd/flexfilelayout.c
> > +++ b/fs/nfsd/flexfilelayout.c
> > @@ -117,7 +117,7 @@ nfsd4_ff_proc_getdeviceinfo(struct super_block *sb, struct svc_rqst *rqstp,
> >
> > da->netaddr.addr_len =
> > snprintf(da->netaddr.addr, FF_ADDR_LEN + 1,
> > - "%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
> > + "%s.%d.%d", addr, port >> 8, port & 0xff);
> >
> > da->tightly_coupled = false;
> >
>
> thanks.
> --
> ~Randy

2022-03-17 20:10:37

by Bill Wendling

[permalink] [raw]
Subject: [PATCH v2] nfsd: use correct format characters

When compiling with -Wformat, clang emits the following warnings:

fs/nfsd/flexfilelayout.c:120:27: warning: format specifies type 'unsigned
char' but the argument has type 'int' [-Wformat]
"%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
~~~~ ^~~~~~~~~
%d
fs/nfsd/flexfilelayout.c:120:38: warning: format specifies type 'unsigned
char' but the argument has type 'int' [-Wformat]
"%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
~~~~ ^~~~~~~~~~~
%d

The types of these arguments are unconditionally defined, so this patch
updates the format character to the correct ones for ints and unsigned
ints.

Link: https://github.com/ClangBuiltLinux/linux/issues/378
Signed-off-by: Bill Wendling <[email protected]>
---
v2 - Fixed "Link" to be a valid URL.
---
fs/nfsd/flexfilelayout.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nfsd/flexfilelayout.c b/fs/nfsd/flexfilelayout.c
index 2e2f1d5e9f62..070f90ed09b6 100644
--- a/fs/nfsd/flexfilelayout.c
+++ b/fs/nfsd/flexfilelayout.c
@@ -117,7 +117,7 @@ nfsd4_ff_proc_getdeviceinfo(struct super_block *sb, struct svc_rqst *rqstp,

da->netaddr.addr_len =
snprintf(da->netaddr.addr, FF_ADDR_LEN + 1,
- "%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
+ "%s.%d.%d", addr, port >> 8, port & 0xff);

da->tightly_coupled = false;

--
2.35.1.723.g4982287a31-goog

2022-03-17 23:51:02

by Chuck Lever

[permalink] [raw]
Subject: Re: [PATCH v2] nfsd: use correct format characters



> On Mar 17, 2022, at 7:45 PM, Thomas Haynes <[email protected]> wrote:
>
>
>
>> On Mar 17, 2022, at 11:42 AM, Bill Wendling <[email protected]> wrote:
>>
>> [You don't often get email from [email protected]. Learn why this is important at http://aka.ms/LearnAboutSenderIdentification.]
>>
>> When compiling with -Wformat, clang emits the following warnings:
>>
>> fs/nfsd/flexfilelayout.c:120:27: warning: format specifies type 'unsigned
>> char' but the argument has type 'int' [-Wformat]
>> "%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
>> ~~~~ ^~~~~~~~~
>> %d
>> fs/nfsd/flexfilelayout.c:120:38: warning: format specifies type 'unsigned
>> char' but the argument has type 'int' [-Wformat]
>> "%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
>> ~~~~ ^~~~~~~~~~~
>> %d
>>
>> The types of these arguments are unconditionally defined, so this patch
>> updates the format character to the correct ones for ints and unsigned
>> ints.
>>
>> Link: https://github.com/ClangBuiltLinux/linux/issues/378
>> Signed-off-by: Bill Wendling <[email protected]>
>> ---
>> v2 - Fixed "Link" to be a valid URL.
>> ---
>> fs/nfsd/flexfilelayout.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/fs/nfsd/flexfilelayout.c b/fs/nfsd/flexfilelayout.c
>> index 2e2f1d5e9f62..070f90ed09b6 100644
>> --- a/fs/nfsd/flexfilelayout.c
>> +++ b/fs/nfsd/flexfilelayout.c
>> @@ -117,7 +117,7 @@ nfsd4_ff_proc_getdeviceinfo(struct super_block *sb, struct svc_rqst *rqstp,
>>
>> da->netaddr.addr_len =
>> snprintf(da->netaddr.addr, FF_ADDR_LEN + 1,
>> - "%s.%hhu.%hhu", addr, port >> 8, port & 0xff);
>> + "%s.%d.%d", addr, port >> 8, port & 0xff);
>>
>> da->tightly_coupled = false;
>>
>> --
>> 2.35.1.723.g4982287a31-goog
>>
>
>
> Reviewed-by: Tom Haynes <[email protected]>

Perfect, thanks!

--
Chuck Lever