Re: [PATCH v4 11/27] x86/power/64: Adapt assembly for PIE support
On Wed, May 30, 2018 at 12:15 AM, Thomas Garnier wrote: > 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 0x8000. > > Signed-off-by: Thomas Garnier > Acked-by: Pavel Machek Acked-by: Rafael J. Wysocki > --- > 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 ce8da3a0412c..6fdd7bbc3c33 100644 > --- a/arch/x86/power/hibernate_asm_64.S > +++ b/arch/x86/power/hibernate_asm_64.S > @@ -24,7 +24,7 @@ > #include > > ENTRY(swsusp_arch_suspend) > - movq$saved_context, %rax > + leaqsaved_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 > + leaqsaved_context(%rip), %rax > movqpt_regs_sp(%rax), %rsp > movqpt_regs_bp(%rax), %rbp > movqpt_regs_si(%rax), %rsi > -- > 2.17.0.921.gf22659ad46-goog >
Re: [PATCH v4 11/27] x86/power/64: Adapt assembly for PIE support
On Wed, May 30, 2018 at 12:15 AM, Thomas Garnier wrote: > 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 0x8000. > > Signed-off-by: Thomas Garnier > Acked-by: Pavel Machek Acked-by: Rafael J. Wysocki > --- > 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 ce8da3a0412c..6fdd7bbc3c33 100644 > --- a/arch/x86/power/hibernate_asm_64.S > +++ b/arch/x86/power/hibernate_asm_64.S > @@ -24,7 +24,7 @@ > #include > > ENTRY(swsusp_arch_suspend) > - movq$saved_context, %rax > + leaqsaved_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 > + leaqsaved_context(%rip), %rax > movqpt_regs_sp(%rax), %rsp > movqpt_regs_bp(%rax), %rbp > movqpt_regs_si(%rax), %rsi > -- > 2.17.0.921.gf22659ad46-goog >
[PATCH v4 11/27] x86/power/64: Adapt assembly for PIE support
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 0x8000. Signed-off-by: Thomas Garnier Acked-by: Pavel Machek --- 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 ce8da3a0412c..6fdd7bbc3c33 100644 --- a/arch/x86/power/hibernate_asm_64.S +++ b/arch/x86/power/hibernate_asm_64.S @@ -24,7 +24,7 @@ #include ENTRY(swsusp_arch_suspend) - movq$saved_context, %rax + leaqsaved_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 + leaqsaved_context(%rip), %rax movqpt_regs_sp(%rax), %rsp movqpt_regs_bp(%rax), %rbp movqpt_regs_si(%rax), %rsi -- 2.17.0.921.gf22659ad46-goog
[PATCH v4 11/27] x86/power/64: Adapt assembly for PIE support
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 0x8000. Signed-off-by: Thomas Garnier Acked-by: Pavel Machek --- 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 ce8da3a0412c..6fdd7bbc3c33 100644 --- a/arch/x86/power/hibernate_asm_64.S +++ b/arch/x86/power/hibernate_asm_64.S @@ -24,7 +24,7 @@ #include ENTRY(swsusp_arch_suspend) - movq$saved_context, %rax + leaqsaved_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 + leaqsaved_context(%rip), %rax movqpt_regs_sp(%rax), %rsp movqpt_regs_bp(%rax), %rbp movqpt_regs_si(%rax), %rsi -- 2.17.0.921.gf22659ad46-goog