lkml.org 
[lkml]   [2017]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2] x86/mm/KASLR: EFI region is mistakenly included into KASLR VA space for randomization

    * Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:

    > No. It is the firmware's EFI code, and the virtual translation applied by the OS
    > is made known to the firmware by means of a call into the runtime service
    > SetVirtualAddressMap(). This service can only be called once after each boot,
    > and so kexec kernels are forced to use the same VA mapping for runtime services
    > as the first kernel. This is the whole point of having a VA region reserved for
    > this, so that kexec kernels are guaranteed to be able to use the same VA
    > mapping.

    Yes, but it's the kernel's EFI code that determines the area! So my suggestion:

    > > Preserving virtual addresses for kexec is a red herring: the randomized offset
    > > could be passed to the kexec-ed kernel just fine.

    Would solve the kexec problem, right?

    I.e. the first kernel that boots randomizes the address range - and passes that
    offset off to any subsequent kernels.

    Turning KASLR off actively degrades that randomization of the kernel virtual
    addresses.

    Am I missing anything?

    Thanks,

    Ingo

    \
     
     \ /
      Last update: 2017-03-24 11:37    [W:8.049 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site