[PATCH v2 00/29] implement KASLR for ARM
Tony Lindgren
tony at atomide.com
Tue Sep 5 09:45:48 PDT 2017
Hi,
* Ard Biesheuvel <ard.biesheuvel at linaro.org> [170903 05:08]:
> This series implements randomization of the placement of the core ARM kernel
> inside the lowmem region. It consists of the following parts:
>
> - changes that allow us to build vmlinux as a PIE executable which retains
> the metadata required to fix up all absolute symbol references at runtime
> - changes that eliminate absolute references from low-level code that may
> execute with the MMU off: this removes the need to perform explicit cache
> maintenance after the absolute references have been fixed up at runtime with
> the caches enabled
> - changes to the core kernel startup code to take the physical offset into
> account when creating the virtual mapping (the pa-to-va mapping remains
> unchanged)
> - changes to the decompressor to collect some pseudo-entropy, and randomize
> the physical offset of the decompressed kernel, taking placement of DTB,
> initrd and reserved regions into account
> - changes to the UEFI stub code to choose the KASLR offset and communicate
> it to the decompressor
>
> To test these changes, boot a multi_v7_defconfig+CONFIG_RANDOMIZE_BASE=y
I gave a quick try using your arm-kaslr-v3 branch, hopefully that's
the right one.
The good news is that now omap3 boots with omap2plus_defconfig with
and without CONFIG_RANDOMIZE_BASE=y and I did not see any compiler
errors with my gcc 6.2.0 like earlier :)
I did see boot attempts fail with randomize enable where no output
was produced. It seems this is happening for me maybe 1 out of 5 boots.
Enabling DEBUG_LL did not show anything either.
Then loading modules with CONFIG_RANDOMIZE_BASE=y seems to fail with:
$ sudo modprobe rtc-twl
rtc_twl: disagrees about version of symbol module_layout
modprobe: ERROR: could not insert 'rtc_twl': Exec format error
Regards,
Tony
More information about the linux-arm-kernel
mailing list