aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/bpf.txt12
-rw-r--r--sys/linux/bpf.txt.const1
-rw-r--r--sys/linux/test/bpf_helpers2
3 files changed, 14 insertions, 1 deletions
diff --git a/sys/linux/bpf.txt b/sys/linux/bpf.txt
index eb1c2761b..ae84b0c5e 100644
--- a/sys/linux/bpf.txt
+++ b/sys/linux/bpf.txt
@@ -400,6 +400,7 @@ bpf_program_ringbuf {
initr0 bpf_insn_init_r0
reserve bpf_insn_ringbuf_reserve
body array[bpf_insn]
+ free bpf_insn_ringbuf_submit
exit bpf_insn_exit
} [packed]
@@ -749,6 +750,17 @@ bpf_insn_ringbuf_reserve {
insn5 bpf_insn_mov_reg[BPF_REG_0, BPF_REG_9]
}
+# (bf) r1 = r9
+# (b7) r2 = 0
+# (85) call bpf_ringbuf_submit#322192
+# (bf) r0 = 0
+bpf_insn_ringbuf_submit {
+ insn1 bpf_insn_mov_reg[BPF_REG_9, BPF_REG_1]
+ insn2 bpf_insn_mov_imm[BPF_REG_2, 0]
+ insn3 bpf_insn_call_helper_t[const[BPF_FUNC_ringbuf_submit, int32]]
+ insn4 bpf_insn_mov_imm[BPF_REG_0, 0]
+}
+
define MAX_BPF_REG __MAX_BPF_REG
bpf_obj_pin_map [
diff --git a/sys/linux/bpf.txt.const b/sys/linux/bpf.txt.const
index 8091b3944..c0ee42926 100644
--- a/sys/linux/bpf.txt.const
+++ b/sys/linux/bpf.txt.const
@@ -67,6 +67,7 @@ BPF_EXIT0 = 9
BPF_FLOW_DISSECTOR = 17
BPF_FUNC_INFO_SIZE = 8
BPF_FUNC_ringbuf_reserve = 131
+BPF_FUNC_ringbuf_submit = 132
BPF_FUNC_snprintf = 165
BPF_FUNC_tail_call = 12
BPF_FUNC_trace_printk = 6
diff --git a/sys/linux/test/bpf_helpers b/sys/linux/test/bpf_helpers
index 0bc1ce513..598395ac2 100644
--- a/sys/linux/test/bpf_helpers
+++ b/sys/linux/test/bpf_helpers
@@ -25,4 +25,4 @@ r4 = bpf$PROG_LOAD(AUTO, &AUTO={0x3, AUTO, &AUTO=@framed={{AUTO, AUTO, AUTO, AUT
r1 = bpf$MAP_CREATE_RINGBUF(AUTO, &AUTO={AUTO, AUTO, AUTO, 0x40000, AUTO, 0x0, 0x0, "00000000000000000000000000000000", 0x0, 0x0, 0x0, 0x0, 0x0, AUTO}, 0x48)
-r2 = bpf$PROG_LOAD(AUTO, &AUTO={0x3, AUTO, &AUTO=@ringbuf={{AUTO, AUTO, AUTO, AUTO, 0x0, AUTO, AUTO, AUTO, 0x0}, {{AUTO, AUTO, AUTO, AUTO, r1, AUTO, AUTO, AUTO, AUTO}, {AUTO, AUTO, AUTO, AUTO, AUTO, AUTO, AUTO}, {AUTO, AUTO, AUTO, AUTO, AUTO, AUTO, AUTO}, {AUTO, AUTO, AUTO, AUTO}, {AUTO, AUTO, AUTO, AUTO, AUTO, AUTO, AUTO}}, [], {AUTO, AUTO, AUTO, AUTO}}, &AUTO='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, "00000000000000000000000000000000", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0xa0) # EINVAL
+r2 = bpf$PROG_LOAD(AUTO, &AUTO={0x3, AUTO, &AUTO=@ringbuf={{AUTO, AUTO, AUTO, AUTO, 0x0, AUTO, AUTO, AUTO, 0x0}, {{AUTO, AUTO, AUTO, AUTO, r1, AUTO, AUTO, AUTO, AUTO}, {AUTO, AUTO, AUTO, AUTO, AUTO, AUTO, AUTO}, {AUTO, AUTO, AUTO, AUTO, AUTO, AUTO, AUTO}, {AUTO, AUTO, AUTO, AUTO}, {AUTO, AUTO, AUTO, AUTO, AUTO, AUTO, AUTO}}, [], {{AUTO, AUTO, AUTO, AUTO, AUTO, AUTO, AUTO}, {AUTO, AUTO, AUTO, AUTO, AUTO, AUTO, AUTO}, {AUTO, AUTO, AUTO, AUTO}, {AUTO, AUTO, AUTO, AUTO, AUTO, AUTO, AUTO}}, {AUTO, AUTO, AUTO, AUTO}}, &AUTO='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, "00000000000000000000000000000000", 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0xa0)