lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 26 Apr 2017 12:01:12 -0700 From: Matthias Kaehlcke <mka@...omium.org> To: Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>, "H . Peter Anvin" <hpa@...or.com>, Kees Cook <keescook@...omium.org> Cc: x86@...nel.org, linux-kernel@...r.kernel.org, Grant Grundler <grundler@...omium.org>, Greg Hackmann <ghackmann@...gle.com>, Michael Davidson <md@...gle.com>, Matthias Kaehlcke <mka@...omium.org> Subject: [PATCH] x86/mm/kaslr: Add operand size suffix to 'mul' instruction In difference to gas clang doesn't seem to infer the size from the operands. Adding the suffix fixes the following error when building with clang: CC arch/x86/lib/kaslr.o /tmp/kaslr-dfe1ad.s: Assembler messages: /tmp/kaslr-dfe1ad.s:182: Error: no instruction mnemonic suffix given and no register operands; can't size instruction Signed-off-by: Matthias Kaehlcke <mka@...omium.org> --- arch/x86/lib/kaslr.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/x86/lib/kaslr.c b/arch/x86/lib/kaslr.c index 121f59c6ee54..947d4aa92ff7 100644 --- a/arch/x86/lib/kaslr.c +++ b/arch/x86/lib/kaslr.c @@ -79,7 +79,11 @@ unsigned long kaslr_get_random_long(const char *purpose) } /* Circular multiply for better bit diffusion */ - asm("mul %3" +#ifdef CONFIG_X86_64 + asm("mulq %3" +#else + asm("mull %3" +#endif : "=a" (random), "=d" (raw) : "a" (random), "rm" (mix_const)); random += raw; -- 2.13.0.rc0.306.g87b477812d-goog
Powered by blists - more mailing lists