2024-05-13 13:13:08

by Roberto Sassu

[permalink] [raw]
Subject: [PATCH v2] x86: um: vdso: Disable UBSAN instrumentation

From: Roberto Sassu <[email protected]>

The UBSAN instrumentation cannot work in the vDSO since it is executing in
userspace, so disable it in the Makefile. Fixes the build failures such as:

CALL scripts/checksyscalls.sh
VDSO arch/x86/um/vdso/vdso.so.dbg
arch/x86/um/vdso/vdso.so.dbg: undefined symbols found

Signed-off-by: Roberto Sassu <[email protected]>
---
arch/x86/um/vdso/Makefile | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/x86/um/vdso/Makefile b/arch/x86/um/vdso/Makefile
index b86d634730b2..ca79c0de582e 100644
--- a/arch/x86/um/vdso/Makefile
+++ b/arch/x86/um/vdso/Makefile
@@ -3,8 +3,10 @@
# Building vDSO images for x86.
#

-# do not instrument on vdso because KASAN is not compatible with user mode
+# do not instrument on vdso because KASAN/UBSAN are not compatible with user
+# mode
KASAN_SANITIZE := n
+UBSAN_SANITIZE := n

# Prevents link failures: __sanitizer_cov_trace_pc() is not linked in.
KCOV_INSTRUMENT := n
--
2.34.1



2024-05-13 20:03:06

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH v2] x86: um: vdso: Disable UBSAN instrumentation

On Mon, May 13, 2024 at 03:10:24PM +0200, Roberto Sassu wrote:
> From: Roberto Sassu <[email protected]>
>
> The UBSAN instrumentation cannot work in the vDSO since it is executing in
> userspace, so disable it in the Makefile. Fixes the build failures such as:
>
> CALL scripts/checksyscalls.sh
> VDSO arch/x86/um/vdso/vdso.so.dbg
> arch/x86/um/vdso/vdso.so.dbg: undefined symbols found
>
> Signed-off-by: Roberto Sassu <[email protected]>

This is fixed differently (and more universally) here:
https://lore.kernel.org/lkml/[email protected]/

--
Kees Cook