diff --git a/arch/arm/src/armv6-m/arm_backtrace.c b/arch/arm/src/armv6-m/arm_backtrace.c index 6934361656..ad03627c3c 100644 --- a/arch/arm/src/armv6-m/arm_backtrace.c +++ b/arch/arm/src/armv6-m/arm_backtrace.c @@ -74,6 +74,9 @@ static FAR void **g_backtrace_code_regions; * ****************************************************************************/ +#ifdef CONFIG_MM_KASAN +__attribute__((no_sanitize_address)) +#endif static bool in_code_region(FAR void *pc) { int i = 0; @@ -111,6 +114,9 @@ static bool in_code_region(FAR void *pc) * ****************************************************************************/ +#ifdef CONFIG_MM_KASAN +__attribute__((no_sanitize_address)) +#endif static int backtrace_branch(FAR void *limit, FAR void *sp, FAR void **buffer, int size) { @@ -186,6 +192,9 @@ static int backtrace_branch(FAR void *limit, FAR void *sp, * ****************************************************************************/ +#ifdef CONFIG_MM_KASAN +__attribute__((no_sanitize_address)) +#endif void arm_backtrace_init_code_regions(FAR void **regions) { g_backtrace_code_regions = regions; @@ -215,6 +224,9 @@ void arm_backtrace_init_code_regions(FAR void **regions) * ****************************************************************************/ +#ifdef CONFIG_MM_KASAN +__attribute__((no_sanitize_address)) +#endif int up_backtrace(FAR struct tcb_s *tcb, FAR void **buffer, int size) { FAR struct tcb_s *rtcb = running_task(); diff --git a/arch/arm/src/armv7-m/arm_backtrace.c b/arch/arm/src/armv7-m/arm_backtrace.c index 02a1eead74..fdea7d23da 100644 --- a/arch/arm/src/armv7-m/arm_backtrace.c +++ b/arch/arm/src/armv7-m/arm_backtrace.c @@ -74,6 +74,9 @@ static FAR void **g_backtrace_code_regions; * ****************************************************************************/ +#ifdef CONFIG_MM_KASAN +__attribute__((no_sanitize_address)) +#endif static bool in_code_region(FAR void *pc) { int i = 0; @@ -111,6 +114,9 @@ static bool in_code_region(FAR void *pc) * ****************************************************************************/ +#ifdef CONFIG_MM_KASAN +__attribute__((no_sanitize_address)) +#endif static int backtrace_branch(FAR void *limit, FAR void *sp, FAR void **buffer, int size) { @@ -186,6 +192,9 @@ static int backtrace_branch(FAR void *limit, FAR void *sp, * ****************************************************************************/ +#ifdef CONFIG_MM_KASAN +__attribute__((no_sanitize_address)) +#endif void arm_backtrace_init_code_regions(FAR void **regions) { g_backtrace_code_regions = regions; @@ -215,6 +224,9 @@ void arm_backtrace_init_code_regions(FAR void **regions) * ****************************************************************************/ +#ifdef CONFIG_MM_KASAN +__attribute__((no_sanitize_address)) +#endif int up_backtrace(FAR struct tcb_s *tcb, FAR void **buffer, int size) { FAR struct tcb_s *rtcb = running_task(); diff --git a/arch/arm/src/armv8-m/arm_backtrace.c b/arch/arm/src/armv8-m/arm_backtrace.c index 7e6c1e59a4..2edefa65f1 100644 --- a/arch/arm/src/armv8-m/arm_backtrace.c +++ b/arch/arm/src/armv8-m/arm_backtrace.c @@ -74,6 +74,9 @@ static FAR void **g_backtrace_code_regions; * ****************************************************************************/ +#ifdef CONFIG_MM_KASAN +__attribute__((no_sanitize_address)) +#endif static bool in_code_region(FAR void *pc) { int i = 0; @@ -111,6 +114,9 @@ static bool in_code_region(FAR void *pc) * ****************************************************************************/ +#ifdef CONFIG_MM_KASAN +__attribute__((no_sanitize_address)) +#endif static int backtrace_branch(FAR void *limit, FAR void *sp, FAR void **buffer, int size) { @@ -186,6 +192,9 @@ static int backtrace_branch(FAR void *limit, FAR void *sp, * ****************************************************************************/ +#ifdef CONFIG_MM_KASAN +__attribute__((no_sanitize_address)) +#endif void arm_backtrace_init_code_regions(FAR void **regions) { g_backtrace_code_regions = regions; @@ -215,6 +224,9 @@ void arm_backtrace_init_code_regions(FAR void **regions) * ****************************************************************************/ +#ifdef CONFIG_MM_KASAN +__attribute__((no_sanitize_address)) +#endif int up_backtrace(FAR struct tcb_s *tcb, FAR void **buffer, int size) { FAR struct tcb_s *rtcb = running_task();