2021-09-26 05:59:29

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH] NDS32: perf_event_cpu: fix 2 build errors

../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 <[email protected]>
Cc: Nickhu <[email protected]>
Cc: Greentime Hu <[email protected]>
Cc: Vincent Chen <[email protected]>
---
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 {


2021-09-27 10:08:01

by Greentime Hu

[permalink] [raw]
Subject: Re: [PATCH] NDS32: perf_event_cpu: fix 2 build errors

Randy Dunlap <[email protected]> 於 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 <[email protected]>
> Cc: Nickhu <[email protected]>
> Cc: Greentime Hu <[email protected]>
> Cc: Vincent Chen <[email protected]>
> ---
> 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.

2022-02-17 20:56:13

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] NDS32: perf_event_cpu: fix 2 build errors

Hi--

On 9/27/21 03:06, Greentime Hu wrote:
> Randy Dunlap <[email protected]> 於 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 <[email protected]>
>> Cc: Nickhu <[email protected]>
>> Cc: Greentime Hu <[email protected]>
>> Cc: Vincent Chen <[email protected]>
>> ---
>> 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