On 25/09/2026 21.16, Eric Biggers wrote:
On Fri, Sep 25, 2026 at 03:01:49PM +0200, Arnd Bergmann wrote:
From: Arnd Bergmann <[email protected]>

A previous patch fixed compile-time issues by setting __NO_FORTIFY
for all of the purgatory code, but this is insufficient and still
leaves build failures that appeared recently in linux-next:

ld.lld: error: undefined symbol: __memset
referenced by string.c
               
arch/x86/purgatory/purgatory.ro:(__UNIQUE_ID_addressable___memset_2)

ld.lld: error: undefined symbol: __memmove
referenced by string.c
               
arch/x86/purgatory/purgatory.ro:(__UNIQUE_ID_addressable___memmove_3)

Set __DISABLE_EXPORTS as well, to avoid pulling in a reference to the
wrong string functions.

Fixes: 65cbe410d312 ("x86/purgatory: Compile purgatory with -D__NO_FORTIFY")
Signed-off-by: Arnd Bergmann <[email protected]>
---
  arch/x86/purgatory/Makefile | 4 +---
  1 file changed, 1 insertion(+), 3 deletions(-)


I dropped the patch this fixes already, as I mentioned at
https://lore.kernel.org/linux-crypto/20260924174911.GA1978@sol/ .  It's
gone from linux-next now.  I think Thomas Huth is planning to send a
fixed version, together with the two patches that depend on this.

But compiling all of purgatory (and not just sha256.o as is the status
quo) with -D__NO_FORTIFY -D__DISABLE_EXPORTS sounds good to me.
Yes, I think that's the way to go, and I've now also verified that the change is working. I've now send a new version of the patch here:

 https://lore.kernel.org/lkml/[email protected]/

 Thomas


Reply via email to