Jan Kiszka <[email protected]> writes:

> On 10.06.21 09:29, Philippe Gerum via Xenomai wrote:
>> From: Philippe Gerum <[email protected]>
>> 
>> Signed-off-by: Philippe Gerum <[email protected]>
>> ---
>>  kernel/trace/trace_preemptirq.c | 8 ++++++++
>>  1 file changed, 8 insertions(+)
>> 
>> diff --git a/kernel/trace/trace_preemptirq.c 
>> b/kernel/trace/trace_preemptirq.c
>> index 261ea4101d018ac..2b4110cf6ea2824 100644
>> --- a/kernel/trace/trace_preemptirq.c
>> +++ b/kernel/trace/trace_preemptirq.c
>> @@ -124,6 +124,8 @@ void trace_hardirqs_off_pipelined(void)
>>      if (running_inband())
>>              trace_hardirqs_off();
>>  }
>> +EXPORT_SYMBOL(trace_hardirqs_off_pipelined);
>> +NOKPROBE_SYMBOL(trace_hardirqs_off_pipelined);
>>  
>>  void trace_hardirqs_on_pipelined(void)
>>  {
>> @@ -142,6 +144,8 @@ void trace_hardirqs_on_pipelined(void)
>>              unstall_inband_nocheck();
>>      }
>>  }
>> +EXPORT_SYMBOL(trace_hardirqs_on_pipelined);
>> +NOKPROBE_SYMBOL(trace_hardirqs_on_pipelined);
>>  
>>  #else
>>  
>> @@ -149,11 +153,15 @@ void trace_hardirqs_off_pipelined(void)
>>  {
>>      trace_hardirqs_off();
>>  }
>> +EXPORT_SYMBOL(trace_hardirqs_off_pipelined);
>> +NOKPROBE_SYMBOL(trace_hardirqs_off_pipelined);
>>  
>>  void trace_hardirqs_on_pipelined(void)
>>  {
>>      trace_hardirqs_on();
>>  }
>> +EXPORT_SYMBOL(trace_hardirqs_on_pipelined);
>> +NOKPROBE_SYMBOL(trace_hardirqs_on_pipelined);
>>  
>>  #endif
>>  
>> 
>
> How about
>
> "blacklist pipeline tracepoints for kprobe"
>
> as subject? The symbols were already exported, but not in the right way.
> The kernel says
>
> "Probing (trapping) such functions can cause a recursive trap (e.g.
> double fault) or the nested probe handler may never be called.
> Kprobes manages such functions as a blacklist."
>

This is actually the export line which was missing for me. The kbprobe
bits are a careless by-product.

-- 
Philippe.

Reply via email to