hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/arch/riscv/net/bpf_jit.h
....@@ -69,6 +69,7 @@
6969 struct bpf_prog *prog;
7070 u16 *insns; /* RV insns */
7171 int ninsns;
72
+ int prologue_len;
7273 int epilogue_offset;
7374 int *offset; /* BPF to RV */
7475 unsigned long flags;
....@@ -214,8 +215,8 @@
214215 int from, to;
215216
216217 off++; /* BPF branch is from PC+1, RV is from PC */
217
- from = (insn > 0) ? ctx->offset[insn - 1] : 0;
218
- to = (insn + off > 0) ? ctx->offset[insn + off - 1] : 0;
218
+ from = (insn > 0) ? ctx->offset[insn - 1] : ctx->prologue_len;
219
+ to = (insn + off > 0) ? ctx->offset[insn + off - 1] : ctx->prologue_len;
219220 return ninsns_rvoff(to - from);
220221 }
221222