From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Mon, 10 Jun 2019 16:52:32 -0700 From: Kees Cook Subject: Re: [PATCH v7 10/12] x86/power/64: Adapt assembly for PIE support Message-ID: <201906101652.94483CD@keescook> References: <20190520231948.49693-1-thgarnie@chromium.org> <20190520231948.49693-11-thgarnie@chromium.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190520231948.49693-11-thgarnie@chromium.org> To: Thomas Garnier Cc: kernel-hardening@lists.openwall.com, kristen@linux.intel.com, Thomas Garnier , Pavel Machek , "Rafael J . Wysocki" , "Rafael J. Wysocki" , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , x86@kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: On Mon, May 20, 2019 at 04:19:35PM -0700, Thomas Garnier wrote: > From: Thomas Garnier > > 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 Reviewed-by: Kees Cook -Kees > 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 3008baa2fa95..9ed980efef72 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 > + 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 > -- Kees Cook