summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2018-12-11 10:00:42 +0100
committerAlexander Graf <agraf@suse.de>2018-12-23 04:02:20 +0100
commit5c38e05ed8ce468585b3f4aceb4ebf37b904d3f1 (patch)
treeddb4dc05ca6e52b2f57f2b30fe442e79514260f3 /include/linux
parent5bdb0a7cad05df35cd87ebce683eda032a8abc87 (diff)
efi_loader: Make RTS relocation more robust
While changing the RTS alignment to 64KB in commit 7a82c3051c8f ("efi_loader: Align runtime section to 64kb") the relocation code started to break. The reason for that is that we didn't actually look at the real relocation data. We merely took the RUNTIME_CODE section as a hint and started to relocate based on self calculated data from that point on. That calculation was now out of sync though. To ensure we're not running into such a situation again, this patch makes the runtime relocation code a bit more robust. We can just trust the phys/virt hints from the payload. We also should check that we really only have a single section, as the code doesn't handle multiple code relocations yet. Fixes: 7a82c3051c8f ("efi_loader: Align runtime section to 64kb") Reported-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reported-by: Loic Devulder <ldevulder@suse.de> Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Tested-by: Loic Devulder <ldevulder@suse.de> Tested-by: Jonathan Gray <jsg@jsg.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions