From: "H. Peter Anvin" Subject: Re: [RFC 06/22] kvm: Adapt assembly for PIE support Date: Wed, 19 Jul 2017 15:27:20 -0700 Message-ID: <0cdd02e1-8bf2-41cd-f085-c338c2fd8e25@zytor.com> References: <20170718223333.110371-1-thgarnie@google.com> <20170718223333.110371-7-thgarnie@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: Herbert Xu , "David S . Miller" , Thomas Gleixner , Ingo Molnar , Peter Zijlstra , Josh Poimboeuf , Arnd Bergmann , Matthias Kaehlcke , Boris Ostrovsky , Juergen Gross , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Joerg Roedel , Andy Lutomirski , Borislav Petkov , "Kirill A . Shutemov" , Borislav Petkov , Christian Borntraeger , "Rafael J . Wysocki" , Len Brown , Brian Gerst Return-path: List-Post: List-Help: List-Unsubscribe: List-Subscribe: In-Reply-To: Content-Language: en-US List-Id: linux-crypto.vger.kernel.org On 07/19/17 08:40, Thomas Garnier wrote: >> >> This doesn't look right. It's accessing a per-cpu variable. The >> per-cpu section is an absolute, zero-based section and not subject to >> relocation. > > PIE does not respect the zero-based section, it tries to have > everything relative. Patch 16/22 also adapt per-cpu to work with PIE > (while keeping the zero absolute design by default). > This is silly. The right thing is for PIE is to be explicitly absolute, without (%rip). The use of (%rip) memory references for percpu is just an optimization. -hpa