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


Groups > linux.kernel > #1604806

Re: linux-next: build warnings after merge of the akpm-current tree

From "Challa, Mahipal" <Mahipal.Challa@cavium.com>
Newsgroups linux.kernel
Subject Re: linux-next: build warnings after merge of the akpm-current tree
Date 2017-03-20 18:10 +0100
Message-ID <tn8YF-7Pz-13@gated-at.bofh.it> (permalink)
References <tmY3f-8tO-5@gated-at.bofh.it> <tn8YG-7Pz-15@gated-at.bofh.it> <tn8YG-7Pz-17@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw



From: Jan Glauber
Sent: Monday, March 20, 2017 6:00 PM
To: Dmitry Vyukov
Cc: Stephen Rothwell; Andrew Morton; Herbert Xu; linux-next@vger.kernel.org; LKML; Challa, Mahipal
Subject: Re: linux-next: build warnings after merge of the akpm-current tree
    
On Mon, Mar 20, 2017 at 10:05:54AM +0100, Dmitry Vyukov wrote:
> On Mon, Mar 20, 2017 at 6:22 AM, Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> > Hi Andrew,
> >
> > After merging the akpm-current tree, today's linux-next build (x86_64
> > allmodconfig) produced these warnings:
> >
> > drivers/crypto/cavium/zip/zip_main.c: In function 'zip_show_stats':
> > drivers/crypto/cavium/zip/zip_main.c:489:18: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'long long int' [-Wformat=]
> >     seq_printf(s, "        ZIP Device %d Stats\n"
> >                   ^
> > drivers/crypto/cavium/zip/zip_main.c:489:18: warning: format '%ld' expects argument of type 'long int', but argument 5 has type 'long long int' [-Wformat=]
> > drivers/crypto/cavium/zip/zip_main.c:489:18: warning: format '%ld' expects argument of type 'long int', but argument 6 has type 'long long int' [-Wformat=]
> > drivers/crypto/cavium/zip/zip_main.c:489:18: warning: format '%ld' expects argument of type 'long int', but argument 7 has type 'long long int' [-Wformat=]
> > drivers/crypto/cavium/zip/zip_main.c:489:18: warning: format '%ld' expects argument of type 'long int', but argument 10 has type 'long long int' [-Wformat=]
> > drivers/crypto/cavium/zip/zip_main.c:489:18: warning: format '%ld' expects argument of type 'long int', but argument 11 has type 'long long int' [-Wformat=]
> > drivers/crypto/cavium/zip/zip_main.c:489:18: warning: format '%ld' expects argument of type 'long int', but argument 12 has type 'long long int' [-Wformat=]
> > drivers/crypto/cavium/zip/zip_main.c:489:18: warning: format '%ld' expects argument of type 'long int', but argument 13 has type 'long long int' [-Wformat=]
> > drivers/crypto/cavium/zip/zip_main.c:489:18: warning: format '%ld' expects argument of type 'long int', but argument 14 has type 'long long int' [-Wformat=]
> > drivers/crypto/cavium/zip/zip_main.c:489:18: warning: format '%ld' expects argument of type 'long int', but argument 15 has type 'long long int' [-Wformat=]
> >
> > Introduced by commit
> >
> >   09ae5d37e093 ("crypto: zip - Add Compression/Decompression statistics")
> >
> > from the crypto tree interacting with commit
> >
> >   3f4ca3d25e1a ("asm-generic, x86: wrap atomic operations")
> >
> > from the akpm-current tree.
> >
> > This latter commit changed atomic64read() from "long" to "long long"
> > on x86_64.
> 
> Hi,
> 
> Previously atomic operations returned different types on 32/64 bits. I
> think that was pretty unfortunate and could actually lead to lots of
> such warnings (as there were no single format specifier that one could
> use portably), and was difficult to wrap. So I used "unsigned long
> long" for all operations.
> I actually suspect that the new zip_main.c code would cause a similar
> warning on 32 bits even without my change, because atomic ops already
> returned unsigned long long there.

>The driver depends on 64BIT (HW is 64 bit only).

>> So I think we need to fix zip_main.c.

>I'm not entirely sure, all drivers that are available for x86_64 and
>arm64 and use atomic64_read will show such warnings.

>One possible solution would be to disable COMPILE_TEST for the zip
>driver, but that would just hide the issue.

We found a decent solution to this issue and sent the patch to Herbert.
Solution:
Changing the format specifiers to %llu and adding a cast to u64 solves the
problem on all the architectures.

Thanks,
Mahipal


     

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

linux-next: build warnings after merge of the akpm-current tree Stephen Rothwell <sfr@canb.auug.org.au> - 2017-03-20 06:30 +0100
  Re: linux-next: build warnings after merge of the akpm-current tree Dmitry Vyukov <dvyukov@google.com> - 2017-03-20 10:40 +0100
  Re: linux-next: build warnings after merge of the akpm-current tree "Challa, Mahipal" <Mahipal.Challa@cavium.com> - 2017-03-20 18:10 +0100

csiph-web