mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-30 15:43:08 -04:00
powerpc64/bpf: Fix build break in bpf_jit_emit_func_call_rel()
With CONFIG_PPC_KERNEL_PCREL enabled, build breaks with below error:
CC mm/dmapool.o
CC fs/readdir.o
arch/powerpc/net/bpf_jit_comp64.c: In function 'bpf_jit_emit_func_call_rel':
arch/powerpc/net/bpf_jit_comp64.c:475:13: error: unused variable 'ret' [-Werror=unused-variable]
475 | int ret;
| ^~~
Commit b55b6b9ad7 ("powerpc64/bpf: Add powerpc64 JIT support for timed may_goto")
introduced "ret" at function scope, but it is only used within its
respective conditional blocks. Same holds true for reladdr. Move both
variable declarations to the scopes where they are actually used:
"reladdr" to the CONFIG_PPC_KERNEL_PCREL block and "ret" to the non-PCREL
else block.
Fixes: b55b6b9ad7 ("powerpc64/bpf: Add powerpc64 JIT support for timed may_goto")
Signed-off-by: Saket Kumar Bhaskar <skb99@linux.ibm.com>
Reviewed-by: Hari Bathini <hbathini@linux.ibm.com>
Signed-off-by: Madhavan Srinivasan <maddy@linux.ibm.com>
Link: https://patch.msgid.link/e8e582fb425db165a72f00e3337cdf4c6ae383ad.1785387718.git.skb99@linux.ibm.com
This commit is contained in:
@@ -471,8 +471,6 @@ static int bpf_jit_emit_func_call(u32 *image, struct codegen_context *ctx, u64 f
|
||||
int bpf_jit_emit_func_call_rel(u32 *image, u32 *fimage, struct codegen_context *ctx, u64 func)
|
||||
{
|
||||
unsigned long func_addr = func ? ppc_function_entry((void *)func) : 0;
|
||||
long __maybe_unused reladdr;
|
||||
int ret;
|
||||
|
||||
/* bpf to bpf call, func is not known in the initial pass. Emit 5 nops as a placeholder */
|
||||
if (!func) {
|
||||
@@ -487,6 +485,8 @@ int bpf_jit_emit_func_call_rel(u32 *image, u32 *fimage, struct codegen_context *
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PPC_KERNEL_PCREL
|
||||
long reladdr;
|
||||
|
||||
reladdr = func_addr - local_paca->kernelbase;
|
||||
|
||||
/*
|
||||
@@ -525,7 +525,7 @@ int bpf_jit_emit_func_call_rel(u32 *image, u32 *fimage, struct codegen_context *
|
||||
EMIT(PPC_RAW_BCTRL());
|
||||
#else
|
||||
if (core_kernel_text(func_addr)) {
|
||||
ret = bpf_jit_emit_func_call(image, ctx, func_addr, _R12);
|
||||
int ret = bpf_jit_emit_func_call(image, ctx, func_addr, _R12);
|
||||
if (ret)
|
||||
return ret;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user