Matthias Kaehlcke
121843eb02
x86/mm/kaslr: Use the _ASM_MUL macro for multiplication to work around Clang incompatibility
...
The constraint "rm" allows the compiler to put mix_const into memory.
When the input operand is a memory location then MUL needs an operand
size suffix, since Clang can't infer the multiplication width from the
operand.
Add and use the _ASM_MUL macro which determines the operand size and
resolves to the NUL instruction with the corresponding suffix.
This 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@chromium.org >
Cc: Grant Grundler <grundler@chromium.org >
Cc: Greg Hackmann <ghackmann@google.com >
Cc: Kees Cook <keescook@chromium.org >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Michael Davidson <md@google.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20170501224741.133938-1-mka@chromium.org
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2017-05-05 08:31:05 +02:00
Ingo Molnar
66441bd3cf
x86/boot/e820: Move asm/e820.h to asm/e820/api.h
...
In line with asm/e820/types.h, move the e820 API declarations to
asm/e820/api.h and update all usage sites.
This is just a mechanical, obviously correct move & replace patch,
there will be subsequent changes to clean up the code and to make
better use of the new header organization.
Cc: Alex Thorlton <athorlton@sgi.com >
Cc: Andy Lutomirski <luto@kernel.org >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Dan Williams <dan.j.williams@intel.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Huang, Ying <ying.huang@intel.com >
Cc: Josh Poimboeuf <jpoimboe@redhat.com >
Cc: Juergen Gross <jgross@suse.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Paul Jackson <pj@sgi.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Rafael J. Wysocki <rjw@sisk.pl >
Cc: Tejun Heo <tj@kernel.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Wei Yang <richard.weiyang@gmail.com >
Cc: Yinghai Lu <yinghai@kernel.org >
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2017-01-28 09:31:13 +01:00
Nicolas Iooss
62d16b5a3f
x86/mm/kaslr: Fix -Wformat-security warning
...
debug_putstr() is used to output strings without using printf-like
formatting but debug_putstr(v) is defined as early_printk(v) in
arch/x86/lib/kaslr.c.
This makes clang reports the following warning when building
with -Wformat-security:
arch/x86/lib/kaslr.c:57:15: warning: format string is not a string
literal (potentially insecure) [-Wformat-security]
debug_putstr(purpose);
^~~~~~~
Fix this by using "%s" in early_printk().
Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org >
Acked-by: Kees Cook <keescook@chromium.org >
Cc: Andy Lutomirski <luto@kernel.org >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Josh Poimboeuf <jpoimboe@redhat.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Thomas Gleixner <tglx@linutronix.de >
Link: http://lkml.kernel.org/r/20160806102039.27221-1-nicolas.iooss_linux@m4x.org
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-08-11 10:58:12 +02:00
Thomas Garnier
d899a7d146
x86/mm: Refactor KASLR entropy functions
...
Move the KASLR entropy functions into arch/x86/lib to be used in early
kernel boot for KASLR memory randomization.
Signed-off-by: Thomas Garnier <thgarnie@google.com >
Signed-off-by: Kees Cook <keescook@chromium.org >
Cc: Alexander Kuleshov <kuleshovmail@gmail.com >
Cc: Alexander Popov <alpopov@ptsecurity.com >
Cc: Andrew Morton <akpm@linux-foundation.org >
Cc: Andy Lutomirski <luto@kernel.org >
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com >
Cc: Baoquan He <bhe@redhat.com >
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com >
Cc: Borislav Petkov <bp@alien8.de >
Cc: Borislav Petkov <bp@suse.de >
Cc: Brian Gerst <brgerst@gmail.com >
Cc: Christian Borntraeger <borntraeger@de.ibm.com >
Cc: Dan Williams <dan.j.williams@intel.com >
Cc: Dave Hansen <dave.hansen@linux.intel.com >
Cc: Dave Young <dyoung@redhat.com >
Cc: Denys Vlasenko <dvlasenk@redhat.com >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Jan Beulich <JBeulich@suse.com >
Cc: Joerg Roedel <jroedel@suse.de >
Cc: Jonathan Corbet <corbet@lwn.net >
Cc: Josh Poimboeuf <jpoimboe@redhat.com >
Cc: Juergen Gross <jgross@suse.com >
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Lv Zheng <lv.zheng@intel.com >
Cc: Mark Salter <msalter@redhat.com >
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com >
Cc: Matt Fleming <matt@codeblueprint.co.uk >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Stephen Smalley <sds@tycho.nsa.gov >
Cc: Thomas Gleixner <tglx@linutronix.de >
Cc: Toshi Kani <toshi.kani@hpe.com >
Cc: Xiao Guangrong <guangrong.xiao@linux.intel.com >
Cc: Yinghai Lu <yinghai@kernel.org >
Cc: kernel-hardening@lists.openwall.com
Cc: linux-doc@vger.kernel.org
Link: http://lkml.kernel.org/r/1466556426-32664-2-git-send-email-keescook@chromium.org
Signed-off-by: Ingo Molnar <mingo@kernel.org >
2016-07-08 17:33:45 +02:00