Re: [PATCH bpf-next v3 2/7] ftrace: Fix deadloop caused by direct call in ftrace selftest

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/25/2022 11:05 PM, Steven Rostedt wrote:
> On Sun, 24 Apr 2022 11:40:23 -0400
> Xu Kuohai <xukuohai@xxxxxxxxxx> wrote:
> 
>> diff --git a/kernel/trace/trace_selftest.c b/kernel/trace/trace_selftest.c
>> index abcadbe933bb..d2eff2b1d743 100644
>> --- a/kernel/trace/trace_selftest.c
>> +++ b/kernel/trace/trace_selftest.c
>> @@ -785,8 +785,24 @@ static struct fgraph_ops fgraph_ops __initdata  = {
>>  };
>>  
>>  #ifdef CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
>> +#ifdef CONFIG_ARM64
> 
> Please find a way to add this in arm specific code. Do not add architecture
> defines in generic code.
> 
> You could add:
> 
> #ifndef ARCH_HAVE_FTRACE_DIRECT_TEST_FUNC
> noinline __noclone static void trace_direct_tramp(void) { }
> #endif
> 
> here, and in arch/arm64/include/ftrace.h
> 
> #define ARCH_HAVE_FTRACE_DIRECT_TEST_FUNC
> 
> and define your test function in the arm64 specific code.
> 
> -- Steve
> 
> 

will move this to arch/arm64/ in v4, thanks.

> 
> 
>> +extern void trace_direct_tramp(void);
>> +
>> +asm (
>> +"	.pushsection	.text, \"ax\", @progbits\n"
>> +"	.type		trace_direct_tramp, %function\n"
>> +"	.global		trace_direct_tramp\n"
>> +"trace_direct_tramp:"
>> +"	mov	x10, x30\n"
>> +"	mov	x30, x9\n"
>> +"	ret	x10\n"
>> +"	.size		trace_direct_tramp, .-trace_direct_tramp\n"
>> +"	.popsection\n"
>> +);
>> +#else
>>  noinline __noclone static void trace_direct_tramp(void) { }
>>  #endif
>> +#endif
>>  
>>  /*
>>   * Pretty much the same than for the function tracer from which the selftest
> 
> .




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux