test_kprobes: Fix implicit declaration error of test_kprobes

Message ID 20221121030620.63181-1-hucool.lihua@huawei.com
State New
Headers
Series test_kprobes: Fix implicit declaration error of test_kprobes |

Commit Message

Lihua (lihua, ran) Nov. 21, 2022, 3:06 a.m. UTC
  If KPROBES_SANITY_TEST and ARCH_CORRECT_STACKTRACE_ON_KRETPROBE is enabled, but
STACKTRACE is not set. Build failed as below:

lib/test_kprobes.c: In function ‘stacktrace_return_handler’:
lib/test_kprobes.c:228:8: error: implicit declaration of function ‘stack_trace_save’; did you mean ‘stacktrace_driver’? [-Werror=implicit-function-declaration]
  ret = stack_trace_save(stack_buf, STACK_BUF_SIZE, 0);
        ^~~~~~~~~~~~~~~~
        stacktrace_driver
cc1: all warnings being treated as errors
scripts/Makefile.build:250: recipe for target 'lib/test_kprobes.o' failed
make[2]: *** [lib/test_kprobes.o] Error 1

To fix this error, Select STACKTRACE if ARCH_CORRECT_STACKTRACE_ON_KRETPROBE is enabled.

Fixes: 1f6d3a8f5e39 ("kprobes: Add a test case for stacktrace from kretprobe handler")
Signed-off-by: Li Hua <hucool.lihua@huawei.com>
---
 lib/Kconfig.debug | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Masami Hiramatsu (Google) Nov. 22, 2022, 4:51 a.m. UTC | #1
On Mon, 21 Nov 2022 11:06:20 +0800
Li Hua <hucool.lihua@huawei.com> wrote:

> If KPROBES_SANITY_TEST and ARCH_CORRECT_STACKTRACE_ON_KRETPROBE is enabled, but
> STACKTRACE is not set. Build failed as below:
> 
> lib/test_kprobes.c: In function ‘stacktrace_return_handler’:
> lib/test_kprobes.c:228:8: error: implicit declaration of function ‘stack_trace_save’; did you mean ‘stacktrace_driver’? [-Werror=implicit-function-declaration]
>   ret = stack_trace_save(stack_buf, STACK_BUF_SIZE, 0);
>         ^~~~~~~~~~~~~~~~
>         stacktrace_driver
> cc1: all warnings being treated as errors
> scripts/Makefile.build:250: recipe for target 'lib/test_kprobes.o' failed
> make[2]: *** [lib/test_kprobes.o] Error 1
> 
> To fix this error, Select STACKTRACE if ARCH_CORRECT_STACKTRACE_ON_KRETPROBE is enabled.

Good catch!

Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Thanks!

> 
> Fixes: 1f6d3a8f5e39 ("kprobes: Add a test case for stacktrace from kretprobe handler")
> Signed-off-by: Li Hua <hucool.lihua@huawei.com>
> ---
>  lib/Kconfig.debug | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index c3c0b077ade3..a1005415f0f4 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -2107,6 +2107,7 @@ config KPROBES_SANITY_TEST
>  	depends on DEBUG_KERNEL
>  	depends on KPROBES
>  	depends on KUNIT
> +	select STACKTRACE if ARCH_CORRECT_STACKTRACE_ON_KRETPROBE
>  	default KUNIT_ALL_TESTS
>  	help
>  	  This option provides for testing basic kprobes functionality on
> -- 
> 2.17.1
>
  

Patch

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index c3c0b077ade3..a1005415f0f4 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -2107,6 +2107,7 @@  config KPROBES_SANITY_TEST
 	depends on DEBUG_KERNEL
 	depends on KPROBES
 	depends on KUNIT
+	select STACKTRACE if ARCH_CORRECT_STACKTRACE_ON_KRETPROBE
 	default KUNIT_ALL_TESTS
 	help
 	  This option provides for testing basic kprobes functionality on