[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Xen-devel] [PATCH v2 05/27] x86: relocate_kernel - Adapt assembly for PIE support
- To: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>, "David S . Miller" <davem@xxxxxxxxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, "H . Peter Anvin" <hpa@xxxxxxxxx>, Peter Zijlstra <peterz@xxxxxxxxxxxxx>, Josh Poimboeuf <jpoimboe@xxxxxxxxxx>, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, Kate Stewart <kstewart@xxxxxxxxxxxxxxxxxxx>, Thomas Garnier <thgarnie@xxxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>, Philippe Ombredanne <pombredanne@xxxxxxxx>, Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>, Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>, Matthias Kaehlcke <mka@xxxxxxxxxxxx>, Kees Cook <keescook@xxxxxxxxxxxx>, Tom Lendacky <thomas.lendacky@xxxxxxx>, "Kirill A . Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>, Andy Lutomirski <luto@xxxxxxxxxx>, Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx>, Borislav Petkov <bp@xxxxxxxxx>, Borislav Petkov <bp@xxxxxxx>, "Rafael J . Wysocki" <rjw@xxxxxxxxxxxxx>, Len Brown <len.brown@xxxxxxxxx>, Pavel Machek <pavel@xxxxxx>, Juergen Gross <jgross@xxxxxxxx>, Alok Kataria <akataria@xxxxxxxxxx>, Steven Rostedt <rostedt@xxxxxxxxxxx>, Tejun Heo <tj@xxxxxxxxxx>, Christoph Lameter <cl@xxxxxxxxx>, Dennis Zhou <dennisszhou@xxxxxxxxx>, Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>, David Woodhouse <dwmw@xxxxxxxxxxxx>, Alexey Dobriyan <adobriyan@xxxxxxxxx>, "Paul E . McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>, Randy Dunlap <rdunlap@xxxxxxxxxxxxx>, "Luis R . Rodriguez" <mcgrof@xxxxxxxxxx>, Christopher Li <sparse@xxxxxxxxxxx>, Jason Baron <jbaron@xxxxxxxxxx>, Ashish Kalra <ashish@xxxxxxxxxxxxxx>, Kyle McMartin <kyle@xxxxxxxxxx>, Dou Liyang <douly.fnst@xxxxxxxxxxxxxx>, Lukas Wunner <lukas@xxxxxxxxx>, Petr Mladek <pmladek@xxxxxxxx>, Sergey Senozhatsky <sergey.senozhatsky.work@xxxxxxxxx>, Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, Nicholas Piggin <npiggin@xxxxxxxxx>, Cao jin <caoj.fnst@xxxxxxxxxxxxxx>, "H . J . Lu" <hjl.tools@xxxxxxxxx>, Paolo Bonzini <pbonzini@xxxxxxxxxx>, Radim Krčmář <rkrcmar@xxxxxxxxxx>, Joerg Roedel <joro@xxxxxxxxxx>, Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>, Rik van Riel <riel@xxxxxxxxxx>, Jia Zhang <qianyue.zj@xxxxxxxxxxxxxxx>, Jiri Slaby <jslaby@xxxxxxx>, Kyle Huey <me@xxxxxxxxxxxx>, Jonathan Corbet <corbet@xxxxxxx>, Matthew Wilcox <mawilcox@xxxxxxxxxxxxx>, Michal Hocko <mhocko@xxxxxxxx>, Rob Landley <rob@xxxxxxxxxxx>, Baoquan He <bhe@xxxxxxxxxx>, Daniel Micay <danielmicay@xxxxxxxxx>, Jan H . Schönherr <jschoenh@xxxxxxxxx>
- From: Thomas Garnier <thgarnie@xxxxxxxxxx>
- Date: Tue, 13 Mar 2018 13:59:23 -0700
- Cc: linux-arch@xxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx, linux-pm@xxxxxxxxxxxxxxx, x86@xxxxxxxxxx, linux-doc@xxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx, linux-sparse@xxxxxxxxxxxxxxx, linux-crypto@xxxxxxxxxxxxxxx, kernel-hardening@xxxxxxxxxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxx
- Delivery-date: Tue, 13 Mar 2018 21:00:24 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
Change the assembly code to use only relative references of symbols for the
kernel to be PIE compatible.
Position Independent Executable (PIE) support will allow to extended the
KASLR randomization range below the -2G memory limit.
Signed-off-by: Thomas Garnier <thgarnie@xxxxxxxxxx>
---
arch/x86/kernel/relocate_kernel_64.S | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/relocate_kernel_64.S
b/arch/x86/kernel/relocate_kernel_64.S
index 11eda21eb697..a7227dfe1a2b 100644
--- a/arch/x86/kernel/relocate_kernel_64.S
+++ b/arch/x86/kernel/relocate_kernel_64.S
@@ -208,9 +208,11 @@ identity_mapped:
movq %rax, %cr3
lea PAGE_SIZE(%r8), %rsp
call swap_pages
- movq $virtual_mapped, %rax
- pushq %rax
- ret
+ jmp *virtual_mapped_addr(%rip)
+
+ /* Absolute value for PIE support */
+virtual_mapped_addr:
+ .quad virtual_mapped
virtual_mapped:
movq RSP(%r8), %rsp
--
2.16.2.660.g709887971b-goog
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|