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 --- |