diff mbox series

arch/x86/um: Disable UBSAN sanitization

Message ID 20240513122754.1282833-1-roberto.sassu@huaweicloud.com (mailing list archive)
State New, archived
Headers show
Series arch/x86/um: Disable UBSAN sanitization | expand

Commit Message

Roberto Sassu May 13, 2024, 12:27 p.m. UTC
From: Roberto Sassu <roberto.sassu@huawei.com>

Disable UBSAN sanitization on UML, since UML does not support it.

This fixes the error message when building the kernel:

  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 <roberto.sassu@huawei.com>
---
 arch/x86/um/vdso/Makefile | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Johannes Berg May 13, 2024, 12:29 p.m. UTC | #1
On Mon, 2024-05-13 at 14:27 +0200, Roberto Sassu wrote:
> From: Roberto Sassu <roberto.sassu@huawei.com>
> 
> Disable UBSAN sanitization on UML, since UML does not support it.
> 

Luckily, that isn't actually true, nor does it actually do this at all.
Please fix the commit message.

johannes
Roberto Sassu May 13, 2024, 12:42 p.m. UTC | #2
On Mon, 2024-05-13 at 14:29 +0200, Johannes Berg wrote:
> On Mon, 2024-05-13 at 14:27 +0200, Roberto Sassu wrote:
> > From: Roberto Sassu <roberto.sassu@huawei.com>
> > 
> > Disable UBSAN sanitization on UML, since UML does not support it.
> > 
> 
> Luckily, that isn't actually true, nor does it actually do this at all.
> Please fix the commit message.

Thanks, I was actually wondering. I based that statement based on
ARCH_HAS_UBSAN=n.

Any other solution would be ok.

Thanks

Roberto
Johannes Berg May 13, 2024, 12:52 p.m. UTC | #3
On Mon, 2024-05-13 at 14:42 +0200, Roberto Sassu wrote:
> On Mon, 2024-05-13 at 14:29 +0200, Johannes Berg wrote:
> > On Mon, 2024-05-13 at 14:27 +0200, Roberto Sassu wrote:
> > > From: Roberto Sassu <roberto.sassu@huawei.com>
> > > 
> > > Disable UBSAN sanitization on UML, since UML does not support it.
> > > 
> > 
> > Luckily, that isn't actually true, nor does it actually do this at all.
> > Please fix the commit message.
> 
> Thanks, I was actually wondering. I based that statement based on
> ARCH_HAS_UBSAN=n.
> 
> Any other solution would be ok.

Not sure I get it. What you're doing in the patch is perfectly fine and
almost certainly required, but you're definitely not disabling UBSAN on
ARCH=um as you described in the commit message?

johannes
Roberto Sassu May 13, 2024, 12:58 p.m. UTC | #4
On Mon, 2024-05-13 at 14:52 +0200, Johannes Berg wrote:
> On Mon, 2024-05-13 at 14:42 +0200, Roberto Sassu wrote:
> > On Mon, 2024-05-13 at 14:29 +0200, Johannes Berg wrote:
> > > On Mon, 2024-05-13 at 14:27 +0200, Roberto Sassu wrote:
> > > > From: Roberto Sassu <roberto.sassu@huawei.com>
> > > > 
> > > > Disable UBSAN sanitization on UML, since UML does not support it.
> > > > 
> > > 
> > > Luckily, that isn't actually true, nor does it actually do this at all.
> > > Please fix the commit message.
> > 
> > Thanks, I was actually wondering. I based that statement based on
> > ARCH_HAS_UBSAN=n.
> > 
> > Any other solution would be ok.
> 
> Not sure I get it. What you're doing in the patch is perfectly fine and
> almost certainly required, but you're definitely not disabling UBSAN on
> ARCH=um as you described in the commit message?

Ok, I guess the right word is instrumentation (got it from commit
d4be85d068b44). And the reason is that the vDSO is executing in user
space. Will fix it.

Thanks

Roberto
Johannes Berg May 13, 2024, 1:08 p.m. UTC | #5
On Mon, 2024-05-13 at 14:58 +0200, Roberto Sassu wrote:
> On Mon, 2024-05-13 at 14:52 +0200, Johannes Berg wrote:
> > On Mon, 2024-05-13 at 14:42 +0200, Roberto Sassu wrote:
> > > On Mon, 2024-05-13 at 14:29 +0200, Johannes Berg wrote:
> > > > On Mon, 2024-05-13 at 14:27 +0200, Roberto Sassu wrote:
> > > > > From: Roberto Sassu <roberto.sassu@huawei.com>
> > > > > 
> > > > > Disable UBSAN sanitization on UML, since UML does not support it.
> > > > > 
> > > > 
> > > > Luckily, that isn't actually true, nor does it actually do this at all.
> > > > Please fix the commit message.
> > > 
> > > Thanks, I was actually wondering. I based that statement based on
> > > ARCH_HAS_UBSAN=n.
> > > 
> > > Any other solution would be ok.
> > 
> > Not sure I get it. What you're doing in the patch is perfectly fine and
> > almost certainly required, but you're definitely not disabling UBSAN on
> > ARCH=um as you described in the commit message?
> 
> Ok, I guess the right word is instrumentation (got it from commit
> d4be85d068b44). And the reason is that the vDSO is executing in user
> space. Will fix it.

No, UBSAN is fine, but you're only disabling it for the vDSO :) The
commit message doesn't even mention the vDSO though.

johannes
Roberto Sassu May 13, 2024, 1:16 p.m. UTC | #6
On Mon, 2024-05-13 at 15:08 +0200, Johannes Berg wrote:
> On Mon, 2024-05-13 at 14:58 +0200, Roberto Sassu wrote:
> > On Mon, 2024-05-13 at 14:52 +0200, Johannes Berg wrote:
> > > On Mon, 2024-05-13 at 14:42 +0200, Roberto Sassu wrote:
> > > > On Mon, 2024-05-13 at 14:29 +0200, Johannes Berg wrote:
> > > > > On Mon, 2024-05-13 at 14:27 +0200, Roberto Sassu wrote:
> > > > > > From: Roberto Sassu <roberto.sassu@huawei.com>
> > > > > > 
> > > > > > Disable UBSAN sanitization on UML, since UML does not support it.
> > > > > > 
> > > > > 
> > > > > Luckily, that isn't actually true, nor does it actually do this at all.
> > > > > Please fix the commit message.
> > > > 
> > > > Thanks, I was actually wondering. I based that statement based on
> > > > ARCH_HAS_UBSAN=n.
> > > > 
> > > > Any other solution would be ok.
> > > 
> > > Not sure I get it. What you're doing in the patch is perfectly fine and
> > > almost certainly required, but you're definitely not disabling UBSAN on
> > > ARCH=um as you described in the commit message?
> > 
> > Ok, I guess the right word is instrumentation (got it from commit
> > d4be85d068b44). And the reason is that the vDSO is executing in user
> > space. Will fix it.
> 
> No, UBSAN is fine, but you're only disabling it for the vDSO :) The
> commit message doesn't even mention the vDSO though.

You are right, the commit message was misleading without vDSO.

Thanks

Roberto
diff mbox series

Patch

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