[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAEbi=3dmw4nTkU1cF4atXDE6Go-tujqseRKjdX7rmPaid_3D3w@mail.gmail.com>
Date: Mon, 27 Sep 2021 18:06:11 +0800
From: Greentime Hu <green.hu@...il.com>
To: Randy Dunlap <rdunlap@...radead.org>,
Alan Kao <alankao@...estech.com>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Nickhu <nickhu@...estech.com>,
Vincent Chen <deanbo422@...il.com>, kclin@...estech.com
Subject: Re: [PATCH] NDS32: perf_event_cpu: fix 2 build errors
Randy Dunlap <rdunlap@...radead.org> 於 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@...radead.org>
> Cc: Nickhu <nickhu@...estech.com>
> Cc: Greentime Hu <green.hu@...il.com>
> Cc: Vincent Chen <deanbo422@...il.com>
> ---
> 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.
Powered by blists - more mailing lists