From: "H. Peter Anvin" Subject: Re: [RFC 21/22] x86/module: Add support for mcmodel large and PLTs Date: Tue, 18 Jul 2017 18:35:05 -0700 Message-ID: References: <20170718223333.110371-1-thgarnie@google.com> <20170718223333.110371-22-thgarnie@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: x86@kernel.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, kvm@vger.kernel.org, linux-pm@vger.kernel.org, linux-arch@vger.kernel.org, linux-sparse@vger.kernel.org, kernel-hardening@lists.openwall.com To: Thomas Garnier , 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" , Brian Gerst , Borislav Petkov , Christian Borntraeger , Return-path: List-Post: List-Help: List-Unsubscribe: List-Subscribe: In-Reply-To: <20170718223333.110371-22-thgarnie@google.com> Content-Language: en-US List-Id: linux-crypto.vger.kernel.org On 07/18/17 15:33, Thomas Garnier wrote: > With PIE support and KASLR extended range, the modules may be further > away from the kernel than before breaking mcmodel=kernel expectations. > > Add an option to build modules with mcmodel=large. The modules generated > code will make no assumptions on placement in memory. > > Despite this option, modules still expect kernel functions to be within > 2G and generate relative calls. To solve this issue, the PLT arm64 code > was adapted for x86_64. When a relative relocation go outside its range, > a dynamic PLT entry is used to correctly jump to the destination. Why large as opposed to medium or medium-PIC? -hpa