Re: [PATCH] NDS32: perf_event_cpu: fix 2 build errors

From: Randy Dunlap
Date: Thu Feb 17 2022 - 13:58:35 EST


Hi--

On 9/27/21 03:06, Greentime Hu wrote:
> Randy Dunlap <rdunlap@xxxxxxxxxxxxx> 於 2021年9月26日 週日 下午1:58寫道:
>>
>> ../arch/nds32/kernel/perf_event_cpu.c: In function 'unwind_frame_kernel':
>> ../arch/nds32/include/asm/current.h:10:13: error: '$r25' undeclared (first use in this function)
>> 10 | #define tsk $r25
>> ../arch/nds32/kernel/perf_event_cpu.c:1255:50: note: in expansion of macro 'tsk'
>> 1255 | (tsk, &graph, frame->lp, NULL);
>>
>> ../arch/nds32/kernel/perf_event_cpu.c:1257:27: error: assignment to 'long unsigned int' from 'long unsigned int *' makes integer from pointer without a cast [-Werror=int-conversion]
>> 1257 | frame->sp = ((unsigned long *)frame->sp) + 1;
>>
>> For $r25, use the register function for current() instead.
>>
>> Fixes: c8b34461705e ("nds32: Add perf call-graph support.")
>> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
>> Cc: Nickhu <nickhu@xxxxxxxxxxxxx>
>> Cc: Greentime Hu <green.hu@xxxxxxxxx>
>> Cc: Vincent Chen <deanbo422@xxxxxxxxx>
>> ---
>> Please check the frame->sp cast/arithmetic.
>>
>> arch/nds32/kernel/perf_event_cpu.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> --- linux-next-20210917.orig/arch/nds32/kernel/perf_event_cpu.c
>> +++ linux-next-20210917/arch/nds32/kernel/perf_event_cpu.c
>> @@ -1252,9 +1252,9 @@ static int unwind_frame_kernel(struct st
>> */
>> if (__kernel_text_address(frame->lp))
>> frame->lp = ftrace_graph_ret_addr
>> - (tsk, &graph, frame->lp, NULL);
>> + (current, &graph, frame->lp, NULL);
>>
>> - frame->sp = ((unsigned long *)frame->sp) + 1;
>> + frame->sp = (unsigned long)(((unsigned long *)frame->sp)) + 1;
>>
>> return 0;
>> } else {
>
> Loop in Alan and KC.

Ping. Does anybody care?

--
~Randy