Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 22 Sep 2017 11:27:07 -0700
From: "H. Peter Anvin" <>
To: Peter Zijlstra <>, Ingo Molnar <>
Cc: Thomas Garnier <>,
        Herbert Xu <>,
        "David S . Miller" <>,
        Thomas Gleixner <>, Ingo Molnar <>,
        Josh Poimboeuf <>, Arnd Bergmann <>,
        Matthias Kaehlcke <>,
        Boris Ostrovsky <>,
        Juergen Gross
 <>, Paolo Bonzini <>,
        Radim Krčmář <>,
        Joerg Roedel <>, Tom Lendacky <>,
        Andy Lutomirski <>, Borislav Petkov <>,
        Brian Gerst <>,
        "Kirill A . Shutemov" <>,
        "Rafael J . Wysocki" <>,
        Len Brown <>, Pavel Machek <>,
        Tejun Heo <>, Christoph Lameter <>,
        Paul Gortmaker <>,
        Chris Metcalf <>,
        Andrew Morton <>,
        "Paul E . McKenney" <>,
        Nicolas Pitre <>,
        Christopher Li
        "Rafael J . Wysocki" <>,
        Lukas Wunner <>,
        Mika Westerberg <>,
        Dou Liyang <>,
        Daniel Borkmann <>,
        Alexei Starovoitov <>,
        Masahiro Yamada <>,
        Markus Trippelsdorf <>,
        Steven Rostedt <>,
        Kees Cook <>, Rik van Riel <>,
        David Howells <>, Waiman Long <>,
        Kyle Huey <>, Peter Foley <>,
        Tim Chen <>,
        Catalin Marinas <>,
        Ard Biesheuvel <>,
        Michal Hocko <>,
        Matthew Wilcox <>,
        "H . J . Lu" <>, Paul Bolle <>,
        Rob Landley <>, Baoquan He <>,
        Daniel Micay <>,
        the arch/x86 maintainers <>,, LKML <>,, kvm list <>,
        Linux PM list <>,
        linux-arch <>,,
        Kernel Hardening <>,
        Linus Torvalds <>,
        Borislav Petkov <>
Subject: Re: x86: PIE support and option to extend KASLR randomization

On 08/21/17 07:28, Peter Zijlstra wrote:
> Ah, I see, this is large mode and that needs to use MOVABS to load 64bit
> immediates. Still, small RIP relative should be able to live at any
> point as long as everything lives inside the same 2G relative range, so
> would still allow the goal of increasing the KASLR range.
> So I'm not seeing how we need large mode for that. That said, after
> reading up on all this, RIP relative will not be too pretty either,
> while CALL is naturally RIP relative, data still needs an explicit %rip
> offset, still loads better than the large model.

The large model makes no sense whatsoever.  I think what we're actually
looking for is the small-PIC model.

Ingo asked:
> I.e. is there no GCC code generation mode where code can be placed anywhere in the 
> canonical address space, yet call and jump distance is within 31 bits so that the 
> generated code is fast?

That's the small-PIC model.  I think if all symbols are forced to hidden
then it won't even need a GOT/PLT.

We do need to consider how we want modules to fit into whatever model we
choose, though.  They can be adjacent, or we could go with a more
traditional dynamic link model where the modules can be separate, and
chained together with the main kernel via the GOT.


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.