From: Thomas Garnier <thgar...@google.com>

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 extend the
KASLR randomization range below 0xffffffff80000000.

Signed-off-by: Thomas Garnier <thgar...@google.com>
Acked-by: Pavel Machek <pa...@ucw.cz>
Acked-by: Rafael J. Wysocki <rafael.j.wyso...@intel.com>
---
 arch/x86/power/hibernate_asm_64.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/power/hibernate_asm_64.S 
b/arch/x86/power/hibernate_asm_64.S
index 3008baa2fa95..9ed980efef72 100644
--- a/arch/x86/power/hibernate_asm_64.S
+++ b/arch/x86/power/hibernate_asm_64.S
@@ -24,7 +24,7 @@
 #include <asm/frame.h>
 
 ENTRY(swsusp_arch_suspend)
-       movq    $saved_context, %rax
+       leaq    saved_context(%rip), %rax
        movq    %rsp, pt_regs_sp(%rax)
        movq    %rbp, pt_regs_bp(%rax)
        movq    %rsi, pt_regs_si(%rax)
@@ -115,7 +115,7 @@ ENTRY(restore_registers)
        movq    %rax, %cr4;  # turn PGE back on
 
        /* We don't restore %rax, it must be 0 anyway */
-       movq    $saved_context, %rax
+       leaq    saved_context(%rip), %rax
        movq    pt_regs_sp(%rax), %rsp
        movq    pt_regs_bp(%rax), %rbp
        movq    pt_regs_si(%rax), %rsi
-- 
2.21.0.1020.gf2820cf01a-goog

Reply via email to