On Tue, Aug 26, 2025 at 3:08 PM Tiezhu Yang <yangtiezhu@xxxxxxxxxxx> wrote: > > On 2025/8/19 下午7:19, Huacai Chen wrote: > > In __arch_prepare_bpf_trampoline(), retval_off is meaningful only when > > save_ret is not 0, so the current logic is correct. But it may cause a > > build warning: > > > > arch/loongarch/net/bpf_jit.c:1547 __arch_prepare_bpf_trampoline() error: uninitialized symbol 'retval_off'. > > > > So initialize retval_off unconditionally to fix it. > > > > Fixes: f9b6b41f0cf3 ("LoongArch: BPF: Add basic bpf trampoline support") > > Closes: https://lore.kernel.org/r/202508191020.PBBh07cK-lkp@xxxxxxxxx/ > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > > Signed-off-by: Huacai Chen <chenhuacai@xxxxxxxxxxx> > > --- > > arch/loongarch/net/bpf_jit.c | 9 ++++----- > > 1 file changed, 4 insertions(+), 5 deletions(-) > > > > diff --git a/arch/loongarch/net/bpf_jit.c b/arch/loongarch/net/bpf_jit.c > > index abfdb6bb5c38..a73f6ea4ed4a 100644 > > --- a/arch/loongarch/net/bpf_jit.c > > +++ b/arch/loongarch/net/bpf_jit.c > > @@ -1504,11 +1504,10 @@ static int __arch_prepare_bpf_trampoline(struct jit_ctx *ctx, struct bpf_tramp_i > > stack_size += 16; > > > > save_ret = flags & (BPF_TRAMP_F_CALL_ORIG | BPF_TRAMP_F_RET_FENTRY_RET); > > - if (save_ret) { > > - /* Save BPF R0 and A0 */ > > - stack_size += 16; > > - retval_off = stack_size; > > - } > > + if (save_ret) > > + stack_size += 16; /* Save BPF R0 and A0 */ > > + > > + retval_off = stack_size; > > Just init retval_off as 0 at the beginning of this function? > What is the difference? which is better? This patch is more like ARM64 does. In addition, if save_ret is true, "init retval_off as 0" causes retval_off to be evaluated twice, while this patch is only evaluated once. But surely this is not a big deal. Huacai > > Thanks, > Tiezhu >