You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2022/09/02 11:07:15 UTC

[incubator-nuttx] branch master updated (27fbca771f -> 274c085c4a)

This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


    from 27fbca771f stm32h7\stm32_fdcan_sock: fix the FDCAN_LOOPBACK config macros
     new 32a21a1b67 UBSan: Allow custom the sanitizer in Kconfig
     new 274c085c4a UBSan: Minor typo fix to align with other place

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 arch/arm/src/arm/Toolchain.defs       |  2 +-
 arch/arm/src/armv6-m/Toolchain.defs   |  2 +-
 arch/arm/src/armv7-a/Toolchain.defs   |  2 +-
 arch/arm/src/armv7-m/Toolchain.defs   |  2 +-
 arch/arm/src/armv7-r/Toolchain.defs   |  2 +-
 arch/arm/src/armv8-m/Toolchain.defs   |  2 +-
 arch/arm64/src/Toolchain.defs         |  2 +-
 arch/risc-v/src/common/Toolchain.defs |  2 +-
 arch/xtensa/src/lx6/Toolchain.defs    |  2 +-
 arch/xtensa/src/lx7/Toolchain.defs    |  2 +-
 boards/sim/sim/sim/scripts/Make.defs  |  4 ++--
 mm/Kconfig                            | 11 ++++++++++-
 12 files changed, 22 insertions(+), 13 deletions(-)


[incubator-nuttx] 02/02: UBSan: Minor typo fix to align with other place

Posted by xi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 274c085c4a7df725da1c4ec965648ea2782032f3
Author: Huang Qi <hu...@xiaomi.com>
AuthorDate: Fri Sep 2 04:46:02 2022 +0000

    UBSan: Minor typo fix to align with other place
    
    Signed-off-by: Huang Qi <hu...@xiaomi.com>
---
 mm/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/Kconfig b/mm/Kconfig
index f198396d11..d9fd5f2053 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -232,7 +232,7 @@ config MM_UBSAN_OPTION
 		for available options.
 
 config MM_UBSAN_TRAP_ON_ERROR
-	bool "Enable UBsan trap on error to crash immediately"
+	bool "Enable UBSan trap on error to crash immediately"
 	depends on MM_UBSAN
 	default y
 	---help---


[incubator-nuttx] 01/02: UBSan: Allow custom the sanitizer in Kconfig

Posted by xi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 32a21a1b6762081e2f925bc63b9daf61f5c8b15a
Author: Huang Qi <hu...@xiaomi.com>
AuthorDate: Fri Sep 2 04:42:45 2022 +0000

    UBSan: Allow custom the sanitizer in Kconfig
    
    Signed-off-by: Huang Qi <hu...@xiaomi.com>
---
 arch/arm/src/arm/Toolchain.defs       | 2 +-
 arch/arm/src/armv6-m/Toolchain.defs   | 2 +-
 arch/arm/src/armv7-a/Toolchain.defs   | 2 +-
 arch/arm/src/armv7-m/Toolchain.defs   | 2 +-
 arch/arm/src/armv7-r/Toolchain.defs   | 2 +-
 arch/arm/src/armv8-m/Toolchain.defs   | 2 +-
 arch/arm64/src/Toolchain.defs         | 2 +-
 arch/risc-v/src/common/Toolchain.defs | 2 +-
 arch/xtensa/src/lx6/Toolchain.defs    | 2 +-
 arch/xtensa/src/lx7/Toolchain.defs    | 2 +-
 boards/sim/sim/sim/scripts/Make.defs  | 4 ++--
 mm/Kconfig                            | 9 +++++++++
 12 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/arch/arm/src/arm/Toolchain.defs b/arch/arm/src/arm/Toolchain.defs
index c86a8ee5f2..592cfadb03 100644
--- a/arch/arm/src/arm/Toolchain.defs
+++ b/arch/arm/src/arm/Toolchain.defs
@@ -84,7 +84,7 @@ ifeq ($(CONFIG_MM_KASAN_ALL),y)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_ALL),y)
-  ARCHOPTIMIZATION += -fsanitize=undefined
+  ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_TRAP_ON_ERROR),y)
diff --git a/arch/arm/src/armv6-m/Toolchain.defs b/arch/arm/src/armv6-m/Toolchain.defs
index ca5d553759..80d43368bd 100644
--- a/arch/arm/src/armv6-m/Toolchain.defs
+++ b/arch/arm/src/armv6-m/Toolchain.defs
@@ -170,7 +170,7 @@ ifeq ($(CONFIG_MM_KASAN_ALL),y)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_ALL),y)
-  ARCHOPTIMIZATION += -fsanitize=undefined
+  ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_TRAP_ON_ERROR),y)
diff --git a/arch/arm/src/armv7-a/Toolchain.defs b/arch/arm/src/armv7-a/Toolchain.defs
index 7bad83ad97..73a0cd0b89 100644
--- a/arch/arm/src/armv7-a/Toolchain.defs
+++ b/arch/arm/src/armv7-a/Toolchain.defs
@@ -125,7 +125,7 @@ ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_ALL),y)
-  ARCHOPTIMIZATION += -fsanitize=undefined
+  ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_TRAP_ON_ERROR),y)
diff --git a/arch/arm/src/armv7-m/Toolchain.defs b/arch/arm/src/armv7-m/Toolchain.defs
index 2cd7dab07d..e769a348d8 100644
--- a/arch/arm/src/armv7-m/Toolchain.defs
+++ b/arch/arm/src/armv7-m/Toolchain.defs
@@ -90,7 +90,7 @@ ifeq ($(CONFIG_ARMV7M_STACKCHECK),y)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_ALL),y)
-  ARCHOPTIMIZATION += -fsanitize=undefined
+  ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_TRAP_ON_ERROR),y)
diff --git a/arch/arm/src/armv7-r/Toolchain.defs b/arch/arm/src/armv7-r/Toolchain.defs
index 27c4f1a34d..978b1b2143 100644
--- a/arch/arm/src/armv7-r/Toolchain.defs
+++ b/arch/arm/src/armv7-r/Toolchain.defs
@@ -101,7 +101,7 @@ ifeq ($(CONFIG_MM_KASAN_ALL),y)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_ALL),y)
-  ARCHOPTIMIZATION += -fsanitize=undefined
+  ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_TRAP_ON_ERROR),y)
diff --git a/arch/arm/src/armv8-m/Toolchain.defs b/arch/arm/src/armv8-m/Toolchain.defs
index c0a5e72550..67989a43cd 100644
--- a/arch/arm/src/armv8-m/Toolchain.defs
+++ b/arch/arm/src/armv8-m/Toolchain.defs
@@ -90,7 +90,7 @@ ifeq ($(CONFIG_ARMV8M_STACKCHECK),y)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_ALL),y)
-  ARCHOPTIMIZATION += -fsanitize=undefined
+  ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_TRAP_ON_ERROR),y)
diff --git a/arch/arm64/src/Toolchain.defs b/arch/arm64/src/Toolchain.defs
index 3d49f4e164..dc725d4133 100644
--- a/arch/arm64/src/Toolchain.defs
+++ b/arch/arm64/src/Toolchain.defs
@@ -63,7 +63,7 @@ ifeq ($(CONFIG_ARCH_COVERAGE_ALL),y)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_ALL),y)
-  ARCHOPTIMIZATION += -fsanitize=undefined
+  ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_TRAP_ON_ERROR),y)
diff --git a/arch/risc-v/src/common/Toolchain.defs b/arch/risc-v/src/common/Toolchain.defs
index 9d6e1031c7..8e6b9edac6 100644
--- a/arch/risc-v/src/common/Toolchain.defs
+++ b/arch/risc-v/src/common/Toolchain.defs
@@ -167,7 +167,7 @@ ifeq ($(CONFIG_MM_KASAN_ALL),y)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_ALL),y)
-  ARCHOPTIMIZATION += -fsanitize=undefined
+  ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_TRAP_ON_ERROR),y)
diff --git a/arch/xtensa/src/lx6/Toolchain.defs b/arch/xtensa/src/lx6/Toolchain.defs
index e5a7e444cd..7cc1c55c89 100644
--- a/arch/xtensa/src/lx6/Toolchain.defs
+++ b/arch/xtensa/src/lx6/Toolchain.defs
@@ -48,7 +48,7 @@ ifeq ($(CONFIG_MM_KASAN_ALL),y)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_ALL),y)
-  ARCHOPTIMIZATION += -fsanitize=undefined
+  ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_TRAP_ON_ERROR),y)
diff --git a/arch/xtensa/src/lx7/Toolchain.defs b/arch/xtensa/src/lx7/Toolchain.defs
index 5ff6a0dc1b..9f92ef3e7f 100644
--- a/arch/xtensa/src/lx7/Toolchain.defs
+++ b/arch/xtensa/src/lx7/Toolchain.defs
@@ -48,7 +48,7 @@ ifeq ($(CONFIG_MM_KASAN_ALL),y)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_ALL),y)
-  ARCHOPTIMIZATION += -fsanitize=undefined
+  ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_TRAP_ON_ERROR),y)
diff --git a/boards/sim/sim/sim/scripts/Make.defs b/boards/sim/sim/sim/scripts/Make.defs
index af6e6054a0..ef4b1462b9 100644
--- a/boards/sim/sim/sim/scripts/Make.defs
+++ b/boards/sim/sim/sim/scripts/Make.defs
@@ -78,9 +78,9 @@ else ifeq ($(CONFIG_MM_KASAN_ALL),y)
 endif
 
 ifeq ($(CONFIG_SIM_UBSAN),y)
-  ARCHOPTIMIZATION += -fsanitize=undefined
+  ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 else ifeq ($(CONFIG_MM_UBSAN_ALL),y)
-  ARCHOPTIMIZATION += -fsanitize=undefined
+  ARCHOPTIMIZATION += $(CONFIG_MM_UBSAN_OPTION)
 endif
 
 ifeq ($(CONFIG_MM_UBSAN_TRAP_ON_ERROR),y)
diff --git a/mm/Kconfig b/mm/Kconfig
index c123565025..f198396d11 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -222,6 +222,15 @@ config MM_UBSAN_ALL
 		will get image size increased and performance decreased
 		significantly.
 
+config MM_UBSAN_OPTION
+	string "UBSan options"
+	depends on MM_UBSAN
+	default "-fsanitize=undefined"
+	---help---
+		This option activates specified UBSan instrumentation. Please
+		refer to https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
+		for available options.
+
 config MM_UBSAN_TRAP_ON_ERROR
 	bool "Enable UBsan trap on error to crash immediately"
 	depends on MM_UBSAN