[RFC PATCH 0/2] Fix more head.text bugs and improve diagnostic

Ard Biesheuvel posted 2 patches 2 days, 20 hours ago
arch/x86/coco/sev/Makefile | 4 ++++
arch/x86/tools/relocs.c    | 7 ++++---
2 files changed, 8 insertions(+), 3 deletions(-)
[RFC PATCH 0/2] Fix more head.text bugs and improve diagnostic
Posted by Ard Biesheuvel 2 days, 20 hours ago
From: Ard Biesheuvel <ardb@kernel.org>

Linus reports [0] a build issue when using clang, using a config that
presumably has IBT and retpolines disabled.

In this case, the following diagnostic is emitted.

  Absolute reference to symbol '.rodata' not permitted in .head.text

As Linus explains, this message is not very helpful to the unsuspecting
developer, as it does not really pin down the culprit. So improve this
by adding the addend and the offset to the error message, and demote it
to a warning so the build can complete. This also works around the
unhelpful deleting of vmlinux by make when this condition triggers.

Then, fix the actual issue being reported here, which is a true positive
and indicates that the resulting build is fatally broken on SEV-SNP.

[0] https://lore.kernel.org/all/CAHk-=wj7k9nvJn6cpa3-5Ciwn2RGyE605BMkjWE4MqnvC9E92A@mail.gmail.com/

Cc: Ingo Molnar <mingo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Nathan Chancellor <nathan@kernel.org>

Ard Biesheuvel (2):
  x86/relocs: Improve diagnostic for rejected absolute references
  x86/sev: Disable jump tables in SEV startup code

 arch/x86/coco/sev/Makefile | 4 ++++
 arch/x86/tools/relocs.c    | 7 ++++---
 2 files changed, 8 insertions(+), 3 deletions(-)

-- 
2.48.1.262.g85cc9f2d1e-goog