From: Pavel Machek <pavel@ucw.cz> To: Thomas Garnier <thgarnie@google.com> Cc: Herbert Xu <herbert@gondor.apana.org.au>, "David S . Miller" <davem@davemloft.net>, Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>, Peter Zijlstra <peterz@infradead.org>, Josh Poimboeuf <jpoimboe@redhat.com>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Philippe Ombredanne <pombredanne@nexb.com>, Kate Stewart <kstewart@linuxfoundation.org>, Arnaldo Carvalho de Melo <acme@redhat.com>, Yonghong Song <yhs@fb.com>, Andrey Ryabinin <aryabinin@virtuozzo.com>, Kees Cook <keescook@chromium.org>, Tom Lendacky <thomas.lendacky@amd.com>, "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>, Andy Lutomirski <luto@kernel.org>, Dominik Brodowski <linux@dominikbrodowski.net>, Borislav Petkov <bp@alien8.de>, Borislav Petkov <bp@suse.de>, "Rafael J . Wysocki" <rjw@rjwysocki.net>, Len Brown <len.brown@intel.com>, Juerge Subject: Re: [PATCH v3 11/27] x86/power/64: Adapt assembly for PIE support Date: Thu, 24 May 2018 13:03:41 +0200 [thread overview] Message-ID: <20180524110341.GB20225@amd> (raw) In-Reply-To: <20180523195421.180248-12-thgarnie@google.com> [-- Attachment #1: Type: text/plain, Size: 1308 bytes --] On Wed 2018-05-23 12:54:05, 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 extended the > KASLR randomization range below the -2G memory limit. > > Signed-off-by: Thomas Garnier <thgarnie@google.com> Again, was this tested? > 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 <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 -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 181 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Pavel Machek <pavel@ucw.cz> To: Thomas Garnier <thgarnie@google.com> Cc: "Herbert Xu" <herbert@gondor.apana.org.au>, "David S . Miller" <davem@davemloft.net>, "Thomas Gleixner" <tglx@linutronix.de>, "Ingo Molnar" <mingo@redhat.com>, "H . Peter Anvin" <hpa@zytor.com>, "Peter Zijlstra" <peterz@infradead.org>, "Josh Poimboeuf" <jpoimboe@redhat.com>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "Philippe Ombredanne" <pombredanne@nexb.com>, "Kate Stewart" <kstewart@linuxfoundation.org>, "Arnaldo Carvalho de Melo" <acme@redhat.com>, "Yonghong Song" <yhs@fb.com>, "Andrey Ryabinin" <aryabinin@virtuozzo.com>, "Kees Cook" <keescook@chromium.org>, "Tom Lendacky" <thomas.lendacky@amd.com>, "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>, "Andy Lutomirski" <luto@kernel.org>, "Dominik Brodowski" <linux@dominikbrodowski.net>, "Borislav Petkov" <bp@alien8.de>, "Borislav Petkov" <bp@suse.de>, "Rafael J . Wysocki" <rjw@rjwysocki.net>, "Len Brown" <len.brown@intel.com>, "Juergen Gross" <jgross@suse.com>, "Alok Kataria" <akataria@vmware.com>, "Steven Rostedt" <rostedt@goodmis.org>, "Jan Kiszka" <jan.kiszka@siemens.com>, "Tejun Heo" <tj@kernel.org>, "Christoph Lameter" <cl@linux.com>, "Dennis Zhou" <dennisszhou@gmail.com>, "Boris Ostrovsky" <boris.ostrovsky@oracle.com>, "Alexey Dobriyan" <adobriyan@gmail.com>, "Masami Hiramatsu" <mhiramat@kernel.org>, "Cao jin" <caoj.fnst@cn.fujitsu.com>, "Francis Deslauriers" <francis.deslauriers@efficios.com>, "Paul E . McKenney" <paulmck@linux.vnet.ibm.com>, "Nicolas Pitre" <nicolas.pitre@linaro.org>, "Andrew Morton" <akpm@linux-foundation.org>, "Randy Dunlap" <rdunlap@infradead.org>, "Luis R . Rodriguez" <mcgrof@kernel.org>, "Arnd Bergmann" <arnd@arndb.de>, "Christopher Li" <sparse@chrisli.org>, "Jason Baron" <jbaron@akamai.com>, "Mika Westerberg" <mika.westerberg@linux.intel.com>, "Lukas Wunner" <lukas@wunner.de>, "Dou Liyang" <douly.fnst@cn.fujitsu.com>, "Sergey Senozhatsky" <sergey.senozhatsky.work@gmail.com>, "Petr Mladek" <pmladek@suse.com>, "Masahiro Yamada" <yamada.masahiro@socionext.com>, "Ingo Molnar" <mingo@kernel.org>, "Nicholas Piggin" <npiggin@gmail.com>, "H . J . Lu" <hjl.tools@gmail.com>, "Paolo Bonzini" <pbonzini@redhat.com>, "Radim Krčmář" <rkrcmar@redhat.com>, "Joerg Roedel" <joro@8bytes.org>, "David Woodhouse" <dwmw@amazon.co.uk>, "Dave Hansen" <dave.hansen@linux.intel.com>, "Rik van Riel" <riel@redhat.com>, "Jia Zhang" <qianyue.zj@alibaba-inc.com>, "Ricardo Neri" <ricardo.neri-calderon@linux.intel.com>, "Jonathan Corbet" <corbet@lwn.net>, "Jan Beulich" <JBeulich@suse.com>, "Matthias Kaehlcke" <mka@chromium.org>, "Baoquan He" <bhe@redhat.com>, "Jan H . Schönherr" <jschoenh@amazon.de>, "Daniel Micay" <danielmicay@gmail.com>, x86@kernel.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, virtualization@lists.linux-foundation.org, xen-devel@lists.xenproject.org, linux-arch@vger.kernel.org, linux-sparse@vger.kernel.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, kernel-hardening@lists.openwall.com Subject: Re: [PATCH v3 11/27] x86/power/64: Adapt assembly for PIE support Date: Thu, 24 May 2018 13:03:41 +0200 [thread overview] Message-ID: <20180524110341.GB20225@amd> (raw) In-Reply-To: <20180523195421.180248-12-thgarnie@google.com> [-- Attachment #1: Type: text/plain, Size: 1308 bytes --] On Wed 2018-05-23 12:54:05, 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 extended the > KASLR randomization range below the -2G memory limit. > > Signed-off-by: Thomas Garnier <thgarnie@google.com> Again, was this tested? > 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 <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 -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 181 bytes --]
next prev parent reply other threads:[~2018-05-24 11:03 UTC|newest] Thread overview: 190+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-05-23 19:53 [PATCH v3 00/27] x86: PIE support and option to extend KASLR randomization Thomas Garnier via Virtualization 2018-05-23 19:53 ` Thomas Garnier 2018-05-23 19:53 ` Thomas Garnier via Virtualization 2018-05-23 19:53 ` [PATCH v3 01/27] x86/crypto: Adapt assembly for PIE support Thomas Garnier via Virtualization 2018-05-23 19:53 ` Thomas Garnier 2018-05-23 19:53 ` Thomas Garnier via Virtualization 2018-05-23 19:53 ` Thomas Garnier 2018-05-23 19:53 ` [PATCH v3 02/27] x86: Use symbol name on bug table " Thomas Garnier via Virtualization 2018-05-23 19:53 ` Thomas Garnier 2018-05-23 19:53 ` Thomas Garnier via Virtualization 2018-05-23 19:53 ` Thomas Garnier 2018-05-23 19:53 ` [PATCH v3 03/27] x86: Use symbol name in jump " Thomas Garnier 2018-05-23 19:53 ` Thomas Garnier 2018-05-23 19:53 ` Thomas Garnier 2018-05-23 19:53 ` Thomas Garnier via Virtualization 2018-05-23 19:53 ` [PATCH v3 04/27] x86: Add macro to get symbol address " Thomas Garnier 2018-05-23 19:53 ` Thomas Garnier 2018-05-23 19:53 ` Thomas Garnier 2018-05-23 19:53 ` Thomas Garnier via Virtualization 2018-05-23 19:53 ` [PATCH v3 05/27] x86: relocate_kernel - Adapt assembly " Thomas Garnier 2018-05-23 19:53 ` Thomas Garnier 2018-05-23 19:53 ` Thomas Garnier 2018-05-23 19:53 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 06/27] x86/entry/64: " Thomas Garnier via Virtualization 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` [PATCH v3 07/27] x86: pm-trace - " Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 08/27] x86/CPU: " Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 09/27] x86/acpi: " Thomas Garnier via Virtualization 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-24 11:03 ` Pavel Machek 2018-05-24 11:03 ` Pavel Machek 2018-05-24 16:35 ` Thomas Garnier 2018-05-24 16:35 ` Thomas Garnier via Virtualization 2018-05-24 16:35 ` Thomas Garnier 2018-05-24 16:35 ` Thomas Garnier 2018-05-24 16:35 ` Thomas Garnier 2018-05-25 9:14 ` Pavel Machek 2018-05-25 9:14 ` Pavel Machek 2018-05-25 9:14 ` Pavel Machek 2018-05-25 17:00 ` Thomas Garnier via Virtualization 2018-05-25 17:00 ` Thomas Garnier 2018-05-25 17:00 ` Thomas Garnier 2018-05-25 17:00 ` Thomas Garnier 2018-05-29 12:31 ` Pavel Machek 2018-05-29 12:31 ` Pavel Machek 2018-05-29 12:31 ` Pavel Machek 2018-05-29 15:55 ` Thomas Garnier 2018-05-29 15:55 ` Thomas Garnier 2018-05-29 15:55 ` Thomas Garnier 2018-05-29 15:55 ` Thomas Garnier 2018-05-29 15:55 ` Thomas Garnier via Virtualization 2018-05-29 12:31 ` Pavel Machek 2018-05-25 17:00 ` Thomas Garnier 2018-05-25 9:14 ` Pavel Machek 2018-05-25 9:14 ` Pavel Machek 2018-05-24 11:03 ` Pavel Machek 2018-05-24 11:03 ` Pavel Machek 2018-05-23 19:54 ` [PATCH v3 10/27] x86/boot/64: " Thomas Garnier via Virtualization 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` [PATCH v3 11/27] x86/power/64: " Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-24 11:03 ` Pavel Machek 2018-05-24 11:03 ` Pavel Machek [this message] 2018-05-24 11:03 ` Pavel Machek 2018-05-24 16:37 ` Thomas Garnier via Virtualization 2018-05-24 16:37 ` Thomas Garnier 2018-05-24 16:37 ` Thomas Garnier via Virtualization 2018-05-25 9:10 ` Pavel Machek 2018-05-25 9:10 ` Pavel Machek 2018-05-25 9:10 ` Pavel Machek 2018-05-25 9:10 ` Pavel Machek 2018-05-24 16:37 ` Thomas Garnier 2018-05-24 11:03 ` Pavel Machek 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 12/27] x86/paravirt: " Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 13/27] x86/boot/64: Build head64.c as mcmodel large when PIE is enabled Thomas Garnier via Virtualization 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` [PATCH v3 14/27] x86/percpu: Adapt percpu for PIE support Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 15/27] compiler: Option to default to hidden symbols Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 16/27] compiler: Option to add PROVIDE_HIDDEN replacement for weak symbols Thomas Garnier via Virtualization 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 21:16 ` Randy Dunlap 2018-05-23 21:16 ` Randy Dunlap 2018-05-23 21:16 ` Randy Dunlap 2018-05-23 21:16 ` Randy Dunlap 2018-05-23 21:16 ` Randy Dunlap 2018-05-23 19:54 ` [PATCH v3 17/27] x86/relocs: Handle PIE relocations Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 18/27] xen: Adapt assembly for PIE support Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-24 9:11 ` Juergen Gross 2018-05-24 9:11 ` Juergen Gross 2018-05-24 9:11 ` Juergen Gross 2018-05-24 9:11 ` Juergen Gross 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 19/27] kvm: " Thomas Garnier via Virtualization 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` [PATCH v3 20/27] x86: Support global stack cookie Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 21/27] x86/ftrace: Adapt function tracing for PIE support Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-24 11:40 ` Petr Mladek 2018-05-24 11:40 ` Petr Mladek 2018-05-24 11:40 ` Petr Mladek 2018-05-24 20:16 ` Steven Rostedt 2018-05-24 20:16 ` Steven Rostedt 2018-05-24 20:16 ` Steven Rostedt 2018-05-24 20:41 ` Thomas Garnier 2018-05-24 20:41 ` Thomas Garnier via Virtualization 2018-05-24 20:41 ` Thomas Garnier 2018-05-24 20:41 ` Thomas Garnier via Virtualization 2018-05-29 18:37 ` Thomas Garnier via Virtualization 2018-05-29 18:37 ` Thomas Garnier 2018-05-29 18:37 ` Thomas Garnier via Virtualization 2018-05-29 18:37 ` Thomas Garnier 2018-05-24 20:16 ` Steven Rostedt 2018-05-24 11:40 ` Petr Mladek 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 22/27] x86/modules: Add option to start module section after kernel Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 23/27] x86/modules: Adapt module loading for PIE support Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 21:26 ` Randy Dunlap 2018-05-23 21:26 ` Randy Dunlap 2018-05-23 21:26 ` Randy Dunlap 2018-05-23 21:26 ` Randy Dunlap 2018-05-23 22:01 ` Thomas Garnier 2018-05-23 22:01 ` Thomas Garnier 2018-05-23 22:01 ` Thomas Garnier 2018-05-23 22:01 ` Thomas Garnier 2018-05-23 23:07 ` Randy Dunlap 2018-05-23 23:07 ` Randy Dunlap 2018-05-23 23:07 ` Randy Dunlap 2018-05-23 23:07 ` Randy Dunlap 2018-05-23 23:07 ` Randy Dunlap 2018-05-23 22:01 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 24/27] x86/mm: Make the x86 GOT read-only Thomas Garnier via Virtualization 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` [PATCH v3 25/27] x86/pie: Add option to build the kernel as PIE Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 26/27] x86/relocs: Add option to generate 64-bit relocations Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier via Virtualization 2018-05-23 19:54 ` [PATCH v3 27/27] x86/kaslr: Add option to extend KASLR range from 1GB to 3GB Thomas Garnier via Virtualization 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier 2018-05-23 19:54 ` Thomas Garnier
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180524110341.GB20225@amd \ --to=pavel@ucw.cz \ --cc=acme@redhat.com \ --cc=aryabinin@virtuozzo.com \ --cc=bp@alien8.de \ --cc=bp@suse.de \ --cc=davem@davemloft.net \ --cc=gregkh@linuxfoundation.org \ --cc=herbert@gondor.apana.org.au \ --cc=hpa@zytor.com \ --cc=jpoimboe@redhat.com \ --cc=keescook@chromium.org \ --cc=kirill.shutemov@linux.intel.com \ --cc=kstewart@linuxfoundation.org \ --cc=len.brown@intel.com \ --cc=linux@dominikbrodowski.net \ --cc=luto@kernel.org \ --cc=mingo@redhat.com \ --cc=peterz@infradead.org \ --cc=pombredanne@nexb.com \ --cc=rjw@rjwysocki.net \ --cc=tglx@linutronix.de \ --cc=thgarnie@google.com \ --cc=thomas.lendacky@amd.com \ --cc=yhs@fb.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.