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


Groups > linux.kernel > #1359536

[PATCH] x86: Avoid undefined behavior in macro expansion

From Vinicius Tinti <viniciustinti@gmail.com>
Newsgroups linux.kernel
Subject [PATCH] x86: Avoid undefined behavior in macro expansion
Date 2016-03-17 03:50 +0100
Message-ID <rdwaB-15J-3@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


C11 standard (at 6.10.3.3) says that ## operator (paste) has undefined
behavior when one of the result operands is not a valid preprocessing
token.

Therefore the macro expansion may depend on compiler implementation
which may or no preserve the leading white space.

Moreover other places in kernel use CONCAT(a,b) instead of CONCAT(a, b).
Changing favors concise usage.

Signed-off-by: Vinicius Tinti <viniciustinti@gmail.com>
Acked-by: Behan Webster <behanw@converseincode.com>
---
 arch/x86/crypto/aes_ctrby8_avx-x86_64.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/crypto/aes_ctrby8_avx-x86_64.S b/arch/x86/crypto/aes_ctrby8_avx-x86_64.S
index a916c4a..7a71553 100644
--- a/arch/x86/crypto/aes_ctrby8_avx-x86_64.S
+++ b/arch/x86/crypto/aes_ctrby8_avx-x86_64.S
@@ -93,7 +93,7 @@
 
 #define tmp		%r10
 #define	DDQ(i)		CONCAT(ddq_add_,i)
-#define	XMM(i)		CONCAT(%xmm, i)
+#define	XMM(i)		CONCAT(%xmm,i)
 #define	DDQ_DATA	0
 #define	XDATA		1
 #define KEY_128		1
-- 
2.7.3

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


Thread

[PATCH] x86: Avoid undefined behavior in macro expansion Vinicius Tinti <viniciustinti@gmail.com> - 2016-03-17 03:50 +0100
  Re: [PATCH] x86: Avoid undefined behavior in macro expansion Al Viro <viro@ZenIV.linux.org.uk> - 2016-03-19 03:20 +0100
    Re: [PATCH] x86: Avoid undefined behavior in macro expansion Vinicius Tinti <viniciustinti@gmail.com> - 2016-03-22 03:20 +0100

csiph-web