Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 725c4d22 authored by Christian Borntraeger's avatar Christian Borntraeger Committed by Martin Schwidefsky
Browse files

ubsan: allow to disable the null sanitizer



Some architectures use a hardware defined structure at address zero.
Checking for a null pointer will result in many ubsan reports.
Allow users to disable the null sanitizer.

Signed-off-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
Acked-by: default avatarAndrey Ryabinin <aryabinin@virtuozzo.com>
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent f296190e
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
config ARCH_HAS_UBSAN_SANITIZE_ALL
	bool

config ARCH_WANTS_UBSAN_NO_NULL
	def_bool n

config UBSAN
	bool "Undefined behaviour sanity checker"
	help
@@ -34,3 +37,11 @@ config UBSAN_ALIGNMENT
	  This option enables detection of unaligned memory accesses.
	  Enabling this option on architectures that support unaligned
	  accesses may produce a lot of false positives.

config UBSAN_NULL
	bool "Enable checking of null pointers"
	depends on UBSAN
	default y if !ARCH_WANTS_UBSAN_NO_NULL
	help
	  This option enables detection of memory accesses via a
	  null pointer.
+4 −1
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@ ifdef CONFIG_UBSAN
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=integer-divide-by-zero)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=unreachable)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=vla-bound)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=null)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=signed-integer-overflow)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=bounds)
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=object-size)
@@ -14,4 +13,8 @@ ifdef CONFIG_UBSAN
ifdef CONFIG_UBSAN_ALIGNMENT
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=alignment)
endif

ifdef CONFIG_UBSAN_NULL
      CFLAGS_UBSAN += $(call cc-option, -fsanitize=null)
endif
endif