core.c (f59cddd8517ab880fb09bf1465b07b337e058b22) core.c (080b6f40763565f65ebb9540219c71ce885cf568)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Linux Socket Filter - Kernel level socket filtering
4 *
5 * Based on the design of the Berkeley Packet Filter. The new
6 * internal format has been designed by PLUMgrid:
7 *
8 * Copyright (c) 2011 - 2014 PLUMgrid, http://plumgrid.com

--- 1355 unchanged lines hidden (view full) ---

1364/**
1365 * __bpf_prog_run - run eBPF program on a given context
1366 * @regs: is the array of MAX_BPF_EXT_REG eBPF pseudo-registers
1367 * @insn: is the array of eBPF instructions
1368 * @stack: is the eBPF storage stack
1369 *
1370 * Decode and execute eBPF instructions.
1371 */
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Linux Socket Filter - Kernel level socket filtering
4 *
5 * Based on the design of the Berkeley Packet Filter. The new
6 * internal format has been designed by PLUMgrid:
7 *
8 * Copyright (c) 2011 - 2014 PLUMgrid, http://plumgrid.com

--- 1355 unchanged lines hidden (view full) ---

1364/**
1365 * __bpf_prog_run - run eBPF program on a given context
1366 * @regs: is the array of MAX_BPF_EXT_REG eBPF pseudo-registers
1367 * @insn: is the array of eBPF instructions
1368 * @stack: is the eBPF storage stack
1369 *
1370 * Decode and execute eBPF instructions.
1371 */
1372static u64 __no_fgcse ___bpf_prog_run(u64 *regs, const struct bpf_insn *insn, u64 *stack)
1372static u64 ___bpf_prog_run(u64 *regs, const struct bpf_insn *insn, u64 *stack)
1373{
1374#define BPF_INSN_2_LBL(x, y) [BPF_##x | BPF_##y] = &&x##_##y
1375#define BPF_INSN_3_LBL(x, y, z) [BPF_##x | BPF_##y | BPF_##z] = &&x##_##y##_##z
1376 static const void * const jumptable[256] __annotate_jump_table = {
1377 [0 ... 255] = &&default_label,
1378 /* Now overwrite non-defaults ... */
1379 BPF_INSN_MAP(BPF_INSN_2_LBL, BPF_INSN_3_LBL),
1380 /* Non-UAPI available opcodes. */

--- 921 unchanged lines hidden ---
1373{
1374#define BPF_INSN_2_LBL(x, y) [BPF_##x | BPF_##y] = &&x##_##y
1375#define BPF_INSN_3_LBL(x, y, z) [BPF_##x | BPF_##y | BPF_##z] = &&x##_##y##_##z
1376 static const void * const jumptable[256] __annotate_jump_table = {
1377 [0 ... 255] = &&default_label,
1378 /* Now overwrite non-defaults ... */
1379 BPF_INSN_MAP(BPF_INSN_2_LBL, BPF_INSN_3_LBL),
1380 /* Non-UAPI available opcodes. */

--- 921 unchanged lines hidden ---