linux-next: build warning after merge of the crypto tree

5 messages, 3 authors, 2016-08-26 · open the first message on its own page

linux-next: build warning after merge of the crypto tree

From: Stephen Rothwell <hidden>
Date: 2016-08-25 05:18:00

Hi Herbert,

After merging the crypto tree, today's linux-next build (powerpc
ppc64_defconfig) produced this warning:

crypto/xor.c: In function 'calibrate_xor_blocks':
crypto/xor.c:156:1: warning: label 'out' defined but not used [-Wunused-label]
 out:
 ^

Introduced by commit

  39457acda913 ("crypto: xor - skip speed test if the xor function is selected automatically")

This build does not have XOR_SELECT_TEMPLATE set.

-- 
Cheers,
Stephen Rothwell

Re: linux-next: build warning after merge of the crypto tree

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2016-08-25 08:35:37

On Thu, Aug 25, 2016 at 08:20:10AM +0200, Martin Schwidefsky wrote:
On Thu, 25 Aug 2016 11:38:24 +1000
Stephen Rothwell [off-list ref] wrote:
quoted
Hi Herbert,

After merging the crypto tree, today's linux-next build (powerpc
ppc64_defconfig) produced this warning:

crypto/xor.c: In function 'calibrate_xor_blocks':
crypto/xor.c:156:1: warning: label 'out' defined but not used [-Wunused-label]
 out:
 ^

Introduced by commit

  39457acda913 ("crypto: xor - skip speed test if the xor function is selected automatically")

This build does not have XOR_SELECT_TEMPLATE set.
Hmm, this is probably the best option to get rid of the warning: 
I'm going to do something like this:

---8<---
This patch fixes an unused label warning triggered when the macro
XOR_SELECT_TEMPLATE is not set.

Fixes: 39457acda913 ("crypto: xor - skip speed test if the xor...")
Reported-by: Stephen Rothwell <redacted>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
diff --git a/crypto/xor.c b/crypto/xor.c
index b8975d9..69866e9 100644
--- a/crypto/xor.c
+++ b/crypto/xor.c
@@ -113,13 +113,14 @@ calibrate_xor_blocks(void)
 
 #ifdef XOR_SELECT_TEMPLATE
 	fastest = XOR_SELECT_TEMPLATE(fastest);
+#endif
+
 	if (fastest) {
 		printk(KERN_INFO "xor: automatically using best "
 				 "checksumming function   %-10s\n",
 		       fastest->name);
 		goto out;
 	}
-#endif
 
 	/*
 	 * Note: Since the memory is not actually used for _anything_ but to
-- 
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

Re: linux-next: build warning after merge of the crypto tree

From: Martin Schwidefsky <hidden>
Date: 2016-08-25 09:23:13

On Thu, 25 Aug 2016 11:38:24 +1000
Stephen Rothwell [off-list ref] wrote:
Hi Herbert,

After merging the crypto tree, today's linux-next build (powerpc
ppc64_defconfig) produced this warning:

crypto/xor.c: In function 'calibrate_xor_blocks':
crypto/xor.c:156:1: warning: label 'out' defined but not used [-Wunused-label]
 out:
 ^

Introduced by commit

  39457acda913 ("crypto: xor - skip speed test if the xor function is selected automatically")

This build does not have XOR_SELECT_TEMPLATE set.
Hmm, this is probably the best option to get rid of the warning: 
--
diff --git a/crypto/xor.c b/crypto/xor.c
index b8975d9..f00edfc 100644
--- a/crypto/xor.c
+++ b/crypto/xor.c
@@ -117,7 +117,8 @@ calibrate_xor_blocks(void)
 		printk(KERN_INFO "xor: automatically using best "
 				 "checksumming function   %-10s\n",
 		       fastest->name);
-		goto out;
+		active_template = fastest;
+		return 0;
 	}
 #endif
 
@@ -153,7 +154,6 @@ calibrate_xor_blocks(void)
 #undef xor_speed
 
 	free_pages((unsigned long)b1, 2);
-out:
 	active_template = fastest;
 	return 0;
 }
-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.

Re: linux-next: build warning after merge of the crypto tree

From: Stephen Rothwell <hidden>
Date: 2016-08-25 11:15:27

Hi Herbert,

On Thu, 25 Aug 2016 15:47:01 +0800 Herbert Xu [off-list ref] wrote:
quoted hunk
I'm going to do something like this:

---8<---
This patch fixes an unused label warning triggered when the macro
XOR_SELECT_TEMPLATE is not set.

Fixes: 39457acda913 ("crypto: xor - skip speed test if the xor...")
Reported-by: Stephen Rothwell <redacted>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
diff --git a/crypto/xor.c b/crypto/xor.c
index b8975d9..69866e9 100644
--- a/crypto/xor.c
+++ b/crypto/xor.c
@@ -113,13 +113,14 @@ calibrate_xor_blocks(void)
 
 #ifdef XOR_SELECT_TEMPLATE
 	fastest = XOR_SELECT_TEMPLATE(fastest);
+#endif
+
 	if (fastest) {
 		printk(KERN_INFO "xor: automatically using best "
 				 "checksumming function   %-10s\n",
 		       fastest->name);
 		goto out;
 	}
-#endif
That looks fine to me.  An alternative might be to have:

#ifndef XOR_SELECT_TEMPLATE
#define XOR_SELECT_TEMPLATE(x)	(x)
#endif

near the top of the file.  That gets the #ifdef out of the code flow
and serves as some hint that such a thing can be defined by arch header
files.

Either way.
-- 
Cheers,
Stephen Rothwell

crypto: xor - Fix warning when XOR_SELECT_TEMPLATE is unset

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2016-08-26 15:21:25

On Thu, Aug 25, 2016 at 09:14:11PM +1000, Stephen Rothwell wrote:
That looks fine to me.  An alternative might be to have:

#ifndef XOR_SELECT_TEMPLATE
#define XOR_SELECT_TEMPLATE(x)	(x)
#endif

near the top of the file.  That gets the #ifdef out of the code flow
and serves as some hint that such a thing can be defined by arch header
files.
Good idea.  Thanks Stephen.

---8<---
This patch fixes an unused label warning triggered when the macro
XOR_SELECT_TEMPLATE is not set.

Fixes: 39457acda913 ("crypto: xor - skip speed test if the xor...")
Reported-by: Stephen Rothwell <redacted>
Suggested-by: Stephen Rothwell <redacted>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
diff --git a/crypto/xor.c b/crypto/xor.c
index b8975d9..263af9f 100644
--- a/crypto/xor.c
+++ b/crypto/xor.c
@@ -24,6 +24,10 @@
 #include <linux/preempt.h>
 #include <asm/xor.h>
 
+#ifndef XOR_SELECT_TEMPLATE
+#define XOR_SELECT_TEMPLATE(x) (x)
+#endif
+
 /* The xor routines to use.  */
 static struct xor_block_template *active_template;
 
@@ -109,17 +113,14 @@ calibrate_xor_blocks(void)
 	void *b1, *b2;
 	struct xor_block_template *f, *fastest;
 
-	fastest = NULL;
+	fastest = XOR_SELECT_TEMPLATE(NULL);
 
-#ifdef XOR_SELECT_TEMPLATE
-	fastest = XOR_SELECT_TEMPLATE(fastest);
 	if (fastest) {
 		printk(KERN_INFO "xor: automatically using best "
 				 "checksumming function   %-10s\n",
 		       fastest->name);
 		goto out;
 	}
-#endif
 
 	/*
 	 * Note: Since the memory is not actually used for _anything_ but to
-- 
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help