[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC 06/22] kvm: Adapt assembly for PIE support



<paul.gortmaker@xxxxxxxxxxxxx>,Chris Metcalf <cmetcalf@xxxxxxxxxxxx>,"Paul E . 
McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>,Andrew Morton 
<akpm@xxxxxxxxxxxxxxxxxxxx>,Christopher Li <sparse@xxxxxxxxxxx>,Dou Liyang 
<douly.fnst@xxxxxxxxxxxxxx>,Masahiro Yamada 
<yamada.masahiro@xxxxxxxxxxxxx>,Daniel Borkmann <daniel@xxxxxxxxxxxxx>,Markus 
Trippelsdorf <markus@xxxxxxxxxxxxxxx>,Peter Foley <pefoley2@xxxxxxxxxxx>,Steven 
Rostedt <rostedt@xxxxxxxxxxx>,Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx>,Catalin 
Marinas <catalin.marinas@xxxxxxx>,Matthew Wilcox 
<mawilcox@xxxxxxxxxxxxx>,Michal Hocko <mhocko@xxxxxxxx>,Rob Landley 
<rob@xxxxxxxxxxx>,Jiri Kosina <jkosina@xxxxxxx>,"H . J . Lu" 
<hjl.tools@xxxxxxxxx>,Paul Bolle <pebolle@xxxxxxxxxx>,Baoquan He 
<bhe@xxxxxxxxxx>,Daniel Micay <danielmicay@xxxxxxxxx>,the arch/x86 maintainers 
<x86@xxxxxxxxxx>,"linux-crypto@xxxxxxxxxxxxxxx" 
<linux-crypto@xxxxxxxxxxxxxxx>,Linux Kernel Mailing List 
<linux-kernel@xxxxxxxxxxxxxxx>,xen-devel@xxxxxxxxxxxxxxxxxxxx,kvm list
<kvm@xxxxxxxxxxxxxxx>,linux-pm <linux-pm@xxxxxxxxxxxxxxx>,linux-arch 
<linux-arch@xxxxxxxxxxxxxxx>,Linux-Sparse <linux-sparse@xxxxxxxxxxxxxxx>,Kernel 
Hardening <kernel-hardening@xxxxxxxxxxxxxxxxxx>
From: hpa@xxxxxxxxx
Message-ID: <83BA7600-BC8D-4C91-812C-DD2A0BF4474B@xxxxxxxxx>

On July 19, 2017 3:58:07 PM PDT, Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> 
wrote:
>On 19 July 2017 at 23:27, H. Peter Anvin <hpa@xxxxxxxxx> 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@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.