lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241218151302.788bd289@canb.auug.org.au>
Date: Wed, 18 Dec 2024 15:13:02 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Juergen Gross <jgross@...e.com>, Linux Kernel Mailing List
 <linux-kernel@...r.kernel.org>, Linux Next Mailing List
 <linux-next@...r.kernel.org>
Subject: linux-next: build failure after merge of the origin tree

Hi all,

After merging the origin tree, today's linux-next build (i386 defconfig)
failed like this:

x86_64-linux-gnu-ld: arch/x86/kernel/static_call.o: in function `__static_call_update_early':
static_call.c:(.noinstr.text+0x15): undefined reference to `static_call_initialized'

In case it matters, this is a PowerPC hosted cross build.

Presumably caused by commit

  0ef8047b737d ("x86/static-call: provide a way to do very early static-call updates")

static_call_initialized is defined in kernel/static_call_inline.c which is
only built if HAVE_STATIC_CALL_INLINE is defined and that is only selected
if HAVE_OBJTOOL is defined and that is only selected if X86_64 is defined.

I have applied the following hack for today - probably something better
can be done.

From: Stephen Rothwell <sfr@...b.auug.org.au>
Date: Wed, 18 Dec 2024 15:05:03 +1100
Subject: [PATCH] fix up for "x86/static-call: provide a way to do very early
 static-call updates"

Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>
---
 arch/x86/kernel/static_call.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/x86/kernel/static_call.c b/arch/x86/kernel/static_call.c
index 9eed0c144dad..dca440b18b9f 100644
--- a/arch/x86/kernel/static_call.c
+++ b/arch/x86/kernel/static_call.c
@@ -176,7 +176,9 @@ noinstr void __static_call_update_early(void *tramp, void *func)
 {
 	BUG_ON(system_state != SYSTEM_BOOTING);
 	BUG_ON(!early_boot_irqs_disabled);
+#ifdef CONFIG_HAVE_STATIC_CALL_INLINE
 	BUG_ON(static_call_initialized);
+#endif
 	__text_gen_insn(tramp, JMP32_INSN_OPCODE, tramp, func, JMP32_INSN_SIZE);
 	sync_core();
 }
-- 
2.45.2

-- 
Cheers,
Stephen Rothwell

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ