Ok, I've cloned the ubuntu-trusty repo, used git bisect and found the culprit:
dc9c3ed611922e769b1fd595f8f99a93d69c026d is the first bad commit
commit dc9c3ed611922e769b1fd595f8f99a93d69c026d
Author: Borislav Petkov <email address hidden>
Date: Thu Oct 31 17:25:08 2013 +0100
We map the EFI regions needed for runtime services non-contiguously,
with preserved alignment on virtual addresses starting from -4G down
for a total max space of 64G. This way, we provide for stable runtime
services addresses across kernels so that a kexec'd kernel can still use
them.
Thus, they're mapped in a separate pagetable so that we don't pollute
the kernel namespace.
Add an efi= kernel command line parameter for passing miscellaneous
options and chicken bits from the command line.
While at it, add a chicken bit called "efi=old_map" which can be used as
a fallback to the old runtime services mapping method in case there's
some b0rkage with a particular EFI implementation (haha, it is hard to
hold up the sarcasm here...).
Also, add the UEFI RT VA space to Documentation/x86/x86_64/mm.txt.
Signed-off-by: Borislav Petkov <email address hidden>
Signed-off-by: Matt Fleming <email address hidden>
(cherry picked from commit d2f7cbe7b26a74dbbbf8f325b2a6fd01bc34032c)
Signed-off-by: Tim Gardner <email address hidden>
:040000 040000 52f7a3e427111f66f65fcb67b1d010cee7e5121f 1200735ebee4c3272d1e3eedfc00c7150d17e276 M Documentation
:040000 040000 21376a74b6a2dc5dbe5b581677830b90bec72e49 95678fbb2d7178afb7866daf706dd7706d8da7e6 M arch
:040000 040000 bf1515bb7d32745424abf75d8ce58340f482e88c 59013df8e2ea1c112d96b982105b469917864c8f M include
Ok, I've cloned the ubuntu-trusty repo, used git bisect and found the culprit:
dc9c3ed611922e7 69b1fd595f8f99a 93d69c026d is the first bad commit 69b1fd595f8f99a 93d69c026d
commit dc9c3ed611922e7
Author: Borislav Petkov <email address hidden>
Date: Thu Oct 31 17:25:08 2013 +0100
x86/efi: Runtime services virtual mapping
BugLink: http:// bugs.launchpad. net/bugs/ 1297658
We map the EFI regions needed for runtime services non-contiguously,
with preserved alignment on virtual addresses starting from -4G down
for a total max space of 64G. This way, we provide for stable runtime
services addresses across kernels so that a kexec'd kernel can still use
them.
Thus, they're mapped in a separate pagetable so that we don't pollute
the kernel namespace.
Add an efi= kernel command line parameter for passing miscellaneous
options and chicken bits from the command line.
While at it, add a chicken bit called "efi=old_map" which can be used as
a fallback to the old runtime services mapping method in case there's
some b0rkage with a particular EFI implementation (haha, it is hard to
hold up the sarcasm here...).
Also, add the UEFI RT VA space to Documentation/ x86/x86_ 64/mm.txt.
Signed-off-by: Borislav Petkov <email address hidden> bbbf8f325b2a6fd 01bc34032c)
Signed-off-by: Matt Fleming <email address hidden>
(cherry picked from commit d2f7cbe7b26a74d
Signed-off-by: Tim Gardner <email address hidden>
:040000 040000 52f7a3e427111f6 6f65fcb67b1d010 cee7e5121f 1200735ebee4c32 72d1e3eedfc00c7 150d17e276 M Documentation dbe5b581677830b 90bec72e49 95678fbb2d7178a fb7866daf706dd7 706d8da7e6 M arch 424abf75d8ce583 40f482e88c 59013df8e2ea1c1 12d96b982105b46 9917864c8f M include
:040000 040000 21376a74b6a2dc5
:040000 040000 bf1515bb7d32745