<paul.gortma...@windriver.com>,Chris Metcalf <cmetc...@mellanox.com>,"Paul E . McKenney" <paul...@linux.vnet.ibm.com>,Andrew Morton <a...@linux-foundation.org>,Christopher Li <spa...@chrisli.org>,Dou Liyang <douly.f...@cn.fujitsu.com>,Masahiro Yamada <yamada.masah...@socionext.com>,Daniel Borkmann <dan...@iogearbox.net>,Markus Trippelsdorf <mar...@trippelsdorf.de>,Peter Foley <pefol...@pefoley.com>,Steven Rostedt <rost...@goodmis.org>,Tim Chen <tim.c.c...@linux.intel.com>,Catalin Marinas <catalin.mari...@arm.com>,Matthew Wilcox <mawil...@microsoft.com>,Michal Hocko <mho...@suse.com>,Rob Landley <r...@landley.net>,Jiri Kosina <jkos...@suse.cz>,"H . J . Lu" <hjl.to...@gmail.com>,Paul Bolle <pebo...@tiscali.nl>,Baoquan He <b...@redhat.com>,Daniel Micay <danielmi...@gmail.com>,the arch/x86 maintainers <x...@kernel.org>,"linux-cry...@vger.kernel.org" <linux-cry...@vger.kernel.org>,Linux Kernel Mailing List <linux-ker...@vger.kernel.org>,xen-de...@lists.xenproject.org,kvm list <k...@vger.kernel.org>,linux-pm <linux...@vger.kernel.org>,linux-arch <linux-a...@vger.kernel.org>,Linux-Sparse <linux-spa...@vger.kernel.org>,Kernel Hardening <kernel-harden...@lists.openwall.com> From: h...@zytor.com Message-ID: <83ba7600-bc8d-4c91-812c-dd2a0bf44...@zytor.com>
On July 19, 2017 3:58:07 PM PDT, Ard Biesheuvel <ard.biesheu...@linaro.org> wrote: >On 19 July 2017 at 23:27, H. Peter Anvin <h...@zytor.com> wrote: >> 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. >> > >Sadly, there is an issue in binutils that may prevent us from doing >this as cleanly as we would want. > >For historical reasons, bfd.ld emits special symbols like >__GLOBAL_OFFSET_TABLE__ as absolute symbols with a section index of >SHN_ABS, even though it is quite obvious that they are relative like >any other symbol that points into the image. Unfortunately, this means >that binutils needs to emit R_X86_64_RELATIVE relocations even for >SHN_ABS symbols, which means we lose the ability to use both absolute >and relocatable symbols in the same PIE image (unless the reloc tool >can filter them out) > >More info here: >https://sourceware.org/bugzilla/show_bug.cgi?id=19818 The reloc tool already has the ability to filter symbols. -- Sent from my Android device with K-9 Mail. Please excuse my brevity. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel