Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Thu, 15 Mar 2018 11:18:19 +0100
From: Paolo Bonzini <pbonzini@...hat.com>
To: Christopher Lameter <cl@...ux.com>, Peter Zijlstra <peterz@...radead.org>
Cc: Thomas Garnier <thgarnie@...gle.com>,
 Herbert Xu <herbert@...dor.apana.org.au>,
 "David S . Miller" <davem@...emloft.net>,
 Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>,
 "H . Peter Anvin" <hpa@...or.com>, Josh Poimboeuf <jpoimboe@...hat.com>,
 Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
 Kate Stewart <kstewart@...uxfoundation.org>, Arnd Bergmann <arnd@...db.de>,
 Philippe Ombredanne <pombredanne@...b.com>,
 Arnaldo Carvalho de Melo <acme@...hat.com>,
 Andrey Ryabinin <aryabinin@...tuozzo.com>,
 Matthias Kaehlcke <mka@...omium.org>, Kees Cook <keescook@...omium.org>,
 Tom Lendacky <thomas.lendacky@....com>,
 "Kirill A . Shutemov" <kirill.shutemov@...ux.intel.com>,
 Andy Lutomirski <luto@...nel.org>,
 Dominik Brodowski <linux@...inikbrodowski.net>,
 Borislav Petkov <bp@...en8.de>, Borislav Petkov <bp@...e.de>,
 "Rafael J . Wysocki" <rjw@...ysocki.net>, Len Brown <len.brown@...el.com>,
 Pavel Machek <pavel@....cz>, Juergen Gross <jgross@...e.com>,
 Alok Kataria <akataria@...are.com>, Steven Rostedt <rostedt@...dmis.org>,
 Tejun Heo <tj@...nel.org>, Dennis Zhou <dennisszhou@...il.com>,
 Boris Ostrovsky <boris.ostrovsky@...cle.com>,
 David Woodhouse <dwmw@...zon.co.uk>, Alexey Dobriyan <adobriyan@...il.com>,
 "Paul E . McKenney" <paulmck@...ux.vnet.ibm.com>,
 Andrew Morton <akpm@...ux-foundation.org>,
 Nicolas Pitre <nicolas.pitre@...aro.org>,
 Randy Dunlap <rdunlap@...radead.org>, "Luis R . Rodriguez"
 <mcgrof@...nel.org>, Christopher Li <sparse@...isli.org>,
 Jason Baron <jbaron@...mai.com>, Ashish Kalra <ashish@...estacks.com>,
 Kyle McMartin <kyle@...hat.com>, Dou Liyang <douly.fnst@...fujitsu.com>,
 Lukas Wunner <lukas@...ner.de>, Petr Mladek <pmladek@...e.com>,
 Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>,
 Masahiro Yamada <yamada.masahiro@...ionext.com>,
 Ingo Molnar <mingo@...nel.org>, Nicholas Piggin <npiggin@...il.com>,
 Cao jin <caoj.fnst@...fujitsu.com>, "H . J . Lu" <hjl.tools@...il.com>,
 Radim Krčmář <rkrcmar@...hat.com>,
 Joerg Roedel <joro@...tes.org>, Dave Hansen <dave.hansen@...ux.intel.com>,
 Rik van Riel <riel@...hat.com>, Jia Zhang <qianyue.zj@...baba-inc.com>,
 Jiri Slaby <jslaby@...e.cz>, Kyle Huey <me@...ehuey.com>,
 Jonathan Corbet <corbet@....net>, Matthew Wilcox <mawilcox@...rosoft.com>,
 Michal Hocko <mhocko@...e.com>, Rob Landley <rob@...dley.net>,
 Baoquan He <bhe@...hat.com>, Daniel Micay <danielmicay@...il.com>,
 Jan H . Schönherr <jschoenh@...zon.de>, x86@...nel.org,
 linux-crypto@...r.kernel.org, linux-kernel@...r.kernel.org,
 linux-pm@...r.kernel.org, virtualization@...ts.linux-foundation.org,
 xen-devel@...ts.xenproject.org, linux-arch@...r.kernel.org,
 linux-sparse@...r.kernel.org, kvm@...r.kernel.org,
 linux-doc@...r.kernel.org, kernel-hardening@...ts.openwall.com
Subject: Re: [PATCH v2 06/27] x86/entry/64: Adapt assembly for PIE support

On 14/03/2018 16:54, Christopher Lameter wrote:
>>> +	pushq	%rax		/* Support Position Independent Code */
>>> +	leaq	1f(%rip), %rax	/* RIP */
>>> +	xchgq	%rax, (%rsp)	/* Restore RAX, put 1f */
>>>  	iretq			/* continues at repeat_nmi below */
>>>  	UNWIND_HINT_IRET_REGS
>>>  1:
>> Urgh, xchg with a memop has an implicit LOCK prefix.
> this_cpu_xchg uses no lock cmpxchg as a replacement to reduce latency.

That requires using a second register, since %rax is used as the
comparison source.  At this point it's easier to just push %rax twice:

	pushq %rax
	pushq %rax
	leaq 1f(%ip), %rax
	movq %rax, 8(%rsp)
	popq %rax
	iretq

Paolo

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.