crypto: cavium/nitrox - Fix format strings

Message ID 20181002210022.2369756-1-arnd@arndb.de
State New
Headers show
Series
  • crypto: cavium/nitrox - Fix format strings
Related show

Commit Message

Arnd Bergmann Oct. 2, 2018, 9 p.m.
The return type of atomic64_read() is unfortunately architecture
specific, it can be 'long', 'long long', or 's64'. When it is 'long',
we get a build warning:

drivers/crypto/cavium/nitrox/nitrox_debugfs.c: In function 'stats_show':
drivers/crypto/cavium/nitrox/nitrox_debugfs.c:62:30: error: format '%lld' expects argument of type 'long long int', but argument 3 has type 'long int' [-Werror=format=]
  seq_printf(s, "  Posted: %lld\n", atomic64_read(&ndev->stats.posted));
                           ~~~^
                           %ld
drivers/crypto/cavium/nitrox/nitrox_debugfs.c:63:33: error: format '%lld' expects argument of type 'long long int', but argument 3 has type 'long int' [-Werror=format=]
  seq_printf(s, "  Completed: %lld\n",
                              ~~~^
                              %ld
drivers/crypto/cavium/nitrox/nitrox_debugfs.c:65:31: error: format '%lld' expects argument of type 'long long int', but argument 3 has type 'long int' [-Werror=format=]

Add an explicit cast to 's64' to get a consistent behavior on all
architectures here during compile testing.

Fixes: 2a8780be9c26 ("crypto: cavium/nitrox - updated debugfs information.")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/crypto/cavium/nitrox/nitrox_debugfs.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

-- 
2.18.0

Comments

Herbert Xu Oct. 8, 2018, 5:47 a.m. | #1
On Tue, Oct 02, 2018 at 11:00:03PM +0200, Arnd Bergmann wrote:
> The return type of atomic64_read() is unfortunately architecture

> specific, it can be 'long', 'long long', or 's64'. When it is 'long',

> we get a build warning:

> 

> drivers/crypto/cavium/nitrox/nitrox_debugfs.c: In function 'stats_show':

> drivers/crypto/cavium/nitrox/nitrox_debugfs.c:62:30: error: format '%lld' expects argument of type 'long long int', but argument 3 has type 'long int' [-Werror=format=]

>   seq_printf(s, "  Posted: %lld\n", atomic64_read(&ndev->stats.posted));

>                            ~~~^

>                            %ld

> drivers/crypto/cavium/nitrox/nitrox_debugfs.c:63:33: error: format '%lld' expects argument of type 'long long int', but argument 3 has type 'long int' [-Werror=format=]

>   seq_printf(s, "  Completed: %lld\n",

>                               ~~~^

>                               %ld

> drivers/crypto/cavium/nitrox/nitrox_debugfs.c:65:31: error: format '%lld' expects argument of type 'long long int', but argument 3 has type 'long int' [-Werror=format=]

> 

> Add an explicit cast to 's64' to get a consistent behavior on all

> architectures here during compile testing.

> 

> Fixes: 2a8780be9c26 ("crypto: cavium/nitrox - updated debugfs information.")

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


This patch doesn't apply to cryptodev because the bug has already
been fixed by another patch.

Thanks,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

Patch

diff --git a/drivers/crypto/cavium/nitrox/nitrox_debugfs.c b/drivers/crypto/cavium/nitrox/nitrox_debugfs.c
index 2f1e74ea846e..c5be91e5034c 100644
--- a/drivers/crypto/cavium/nitrox/nitrox_debugfs.c
+++ b/drivers/crypto/cavium/nitrox/nitrox_debugfs.c
@@ -59,10 +59,10 @@  static int stats_show(struct seq_file *s, void *v)
 	struct nitrox_device *ndev = s->private;
 
 	seq_printf(s, "NITROX [%d] Request Statistics\n", ndev->idx);
-	seq_printf(s, "  Posted: %lld\n", atomic64_read(&ndev->stats.posted));
+	seq_printf(s, "  Posted: %lld\n", (s64)atomic64_read(&ndev->stats.posted));
 	seq_printf(s, "  Completed: %lld\n",
-		   atomic64_read(&ndev->stats.completed));
-	seq_printf(s, "  Dropped: %lld\n", atomic64_read(&ndev->stats.dropped));
+		   (s64)atomic64_read(&ndev->stats.completed));
+	seq_printf(s, "  Dropped: %lld\n", (s64)atomic64_read(&ndev->stats.dropped));
 
 	return 0;
 }