Thread (37 messages) 37 messages, 3 authors, 2021-09-18

Re: [PATCH] perf: fix panic by disable ftrace on fault.c

From: 王贇 <hidden>
Date: 2021-09-15 07:34:28
Also in: bpf, lkml
Subsystem: the rest, x86 architecture (32-bit and 64-bit) · Maintainers: Linus Torvalds, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen


On 2021/9/15 下午3:22, 王贇 wrote:

On 2021/9/15 上午11:27, Dave Hansen wrote:
quoted
On 9/14/21 6:56 PM, 王贇 wrote:
quoted
quoted
quoted
[   44.134987][    C0]  ? __sanitizer_cov_trace_pc+0x7/0x60
[   44.135005][    C0]  ? kcov_common_handle+0x30/0x30
Just turning off tracing for the page fault handler is papering over the
problem.  It'll just come back later with a slightly different form.
Cool~ please let me know when you have the proper approach.
It's an entertaining issue, but I wasn't planning on fixing it myself.
Do you have any suggestion on how should we fix the problem?

I'd like to help fix it, but sounds like all the known working approach
are not acceptable...
Hi, Dave, Peter

What if we just increase the stack size when ftrace enabled?

Maybe like:
diff --git a/arch/x86/include/asm/page_64_types.h b/arch/x86/include/asm/page_64_types.h
index a8d4ad85..bc2e0c1 100644
--- a/arch/x86/include/asm/page_64_types.h
+++ b/arch/x86/include/asm/page_64_types.h
@@ -12,10 +12,16 @@
 #define KASAN_STACK_ORDER 0
 #endif

+#ifdef CONFIG_FUNCTION_TRACER
+#define FTRACE_STACK_ORDER 1
+#else
+#define FTRACE_STACK_ORDER 0
+#endif
+
 #define THREAD_SIZE_ORDER      (2 + KASAN_STACK_ORDER)
 #define THREAD_SIZE  (PAGE_SIZE << THREAD_SIZE_ORDER)

-#define EXCEPTION_STACK_ORDER (0 + KASAN_STACK_ORDER)
+#define EXCEPTION_STACK_ORDER (0 + KASAN_STACK_ORDER + FTRACE_STACK_ORDER)
 #define EXCEPTION_STKSZ (PAGE_SIZE << EXCEPTION_STACK_ORDER)

 #define IRQ_STACK_ORDER (2 + KASAN_STACK_ORDER)
Just like kasan we give more stack space for ftrace, is this looks
acceptable to you?

Regards,
Michael Wang
Regards,
Michael Wang
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help