2022-03-11 23:23:40

by Nikita Shubin

[permalink] [raw]
Subject: [PATCH] riscv: Fix fill_callchain return value

From: Nikita Shubin <[email protected]>

perf_callchain_store return 0 on success, -1 otherwise,
fix fill_callchain to return correct bool value.

Fixes: dbeb90b0c1eb ("riscv: Add perf callchain support")
Signed-off-by: Nikita Shubin <[email protected]>
---
arch/riscv/kernel/perf_callchain.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/riscv/kernel/perf_callchain.c b/arch/riscv/kernel/perf_callchain.c
index 1fc075b8f764..7aca6a238173 100644
--- a/arch/riscv/kernel/perf_callchain.c
+++ b/arch/riscv/kernel/perf_callchain.c
@@ -68,7 +68,7 @@ void perf_callchain_user(struct perf_callchain_entry_ctx *entry,

static bool fill_callchain(void *entry, unsigned long pc)
{
- return perf_callchain_store(entry, pc);
+ return perf_callchain_store(entry, pc) == 0;
}

void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,
--
2.34.1


2022-03-31 06:27:12

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH] riscv: Fix fill_callchain return value

On Thu, 10 Mar 2022 22:58:15 PST (-0800), [email protected] wrote:
> From: Nikita Shubin <[email protected]>
>
> perf_callchain_store return 0 on success, -1 otherwise,
> fix fill_callchain to return correct bool value.
>
> Fixes: dbeb90b0c1eb ("riscv: Add perf callchain support")
> Signed-off-by: Nikita Shubin <[email protected]>
> ---
> arch/riscv/kernel/perf_callchain.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/riscv/kernel/perf_callchain.c b/arch/riscv/kernel/perf_callchain.c
> index 1fc075b8f764..7aca6a238173 100644
> --- a/arch/riscv/kernel/perf_callchain.c
> +++ b/arch/riscv/kernel/perf_callchain.c
> @@ -68,7 +68,7 @@ void perf_callchain_user(struct perf_callchain_entry_ctx *entry,
>
> static bool fill_callchain(void *entry, unsigned long pc)
> {
> - return perf_callchain_store(entry, pc);
> + return perf_callchain_store(entry, pc) == 0;
> }
>
> void perf_callchain_kernel(struct perf_callchain_entry_ctx *entry,

Thanks, this is on for-next. Looks like we share some of this code with
at least arm64, it might be worth refactoring this into something
generic.