aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/bpf/core.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/bpf/core.c b/kernel/bpf/core.c
index b54bb2c2e494..2c2bfaacce66 100644
--- a/kernel/bpf/core.c
+++ b/kernel/bpf/core.c
@@ -242,6 +242,7 @@ static unsigned int __bpf_prog_run(void *ctx, const struct bpf_insn *insn)
242 [BPF_LD | BPF_IND | BPF_W] = &&LD_IND_W, 242 [BPF_LD | BPF_IND | BPF_W] = &&LD_IND_W,
243 [BPF_LD | BPF_IND | BPF_H] = &&LD_IND_H, 243 [BPF_LD | BPF_IND | BPF_H] = &&LD_IND_H,
244 [BPF_LD | BPF_IND | BPF_B] = &&LD_IND_B, 244 [BPF_LD | BPF_IND | BPF_B] = &&LD_IND_B,
245 [BPF_LD | BPF_IMM | BPF_DW] = &&LD_IMM_DW,
245 }; 246 };
246 void *ptr; 247 void *ptr;
247 int off; 248 int off;
@@ -301,6 +302,10 @@ select_insn:
301 ALU64_MOV_K: 302 ALU64_MOV_K:
302 DST = IMM; 303 DST = IMM;
303 CONT; 304 CONT;
305 LD_IMM_DW:
306 DST = (u64) (u32) insn[0].imm | ((u64) (u32) insn[1].imm) << 32;
307 insn++;
308 CONT;
304 ALU64_ARSH_X: 309 ALU64_ARSH_X:
305 (*(s64 *) &DST) >>= SRC; 310 (*(s64 *) &DST) >>= SRC;
306 CONT; 311 CONT;