x86/microcode/intel: Fix initrd loading with CONFIG_RANDOMIZE_MEMORY=y
authorBorislav Petkov <[email protected]>
Tue, 26 Jul 2016 09:51:38 +0000 (11:51 +0200)
committerIngo Molnar <[email protected]>
Tue, 26 Jul 2016 17:32:57 +0000 (19:32 +0200)
commitefaad554b4ffae1840a2759e09e21325ddbc8b05
tree13ab8f1c60d3877a25152a4245398d27c8bab317
parenteb06158ee1457a27fcc981a37f23b50f19015a8a
x86/microcode/intel: Fix initrd loading with CONFIG_RANDOMIZE_MEMORY=y

CONFIG_RANDOMIZE_MEMORY=y randomizes the physical memmap and thus the
address where the initrd is located. Therefore, we need to add the
offset KASLR put us to in order to find the initrd again on the AP path.

In the future, we will get rid of the initrd address caching and query
the address on both the BSP and AP paths but that would need more work.

Thanks to Nicolai Stange for the good bisection and debugging work.

Reported-and-tested-by: Nicolai Stange <[email protected]>
Signed-off-by: Borislav Petkov <[email protected]>
Cc: Kees Cook <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
arch/x86/kernel/cpu/microcode/intel.c