From: Stanislav Fomichev <sdf@google.com>
To: Eduard Zingerman <eddyz87@gmail.com>
Cc: bpf@vger.kernel.org, ast@kernel.org, andrii@kernel.org,
daniel@iogearbox.net, martin.lau@linux.dev, kernel-team@fb.com,
yhs@fb.com
Subject: Re: [PATCH bpf-next 00/43] First set of verifier/*.c migrated to inline assembly
Date: Fri, 24 Mar 2023 20:23:01 -0700 [thread overview]
Message-ID: <ZB5pFYZGnwNORSN9@google.com> (raw)
In-Reply-To: <20230325025524.144043-1-eddyz87@gmail.com>
On 03/25, Eduard Zingerman wrote:
> This is a follow up for RFC [1]. It migrates a first batch of 38
> verifier/*.c tests to inline assembly and use of ./test_progs for
> actual execution. The migration is done by a python script (see [2]).
Jesus Christ, 43 patches on a Friday night (^_^)
Unless I get bored on the weekend, will get to them Monday morning
(or unless Alexei/Andrii beat me to it; I see they were commenting
on the RFC).
> Each migrated verifier/xxx.c file is mapped to progs/verifier_xxx.c
> plus an entry in the prog_tests/verifier.c. One patch per each file.
> A few patches at the beginning of the patch-set extend test_loader
> with necessary functionality, mainly:
> - support for tests execution in unprivileged mode;
> - support for test runs for test programs.
> Migrated tests could be selected for execution using the following filter:
> ./test_progs -a verifier_*
> An example of the migrated test:
> SEC("xdp")
> __description("XDP pkt read, pkt_data' > pkt_end, corner case, good
> access")
> __success __retval(0) __flag(BPF_F_ANY_ALIGNMENT)
> __naked void end_corner_case_good_access_1(void)
> {
> asm volatile (" \
> r2 = *(u32*)(r1 + %[xdp_md_data]); \
> r3 = *(u32*)(r1 + %[xdp_md_data_end]); \
> r1 = r2; \
> r1 += 8; \
> if r1 > r3 goto l0_%=; \
> r0 = *(u64*)(r1 - 8); \
> l0_%=: r0 = 0; \
> exit; \
> " :
> : __imm_const(xdp_md_data, offsetof(struct xdp_md, data)),
> __imm_const(xdp_md_data_end, offsetof(struct xdp_md,
> data_end))
> : __clobber_all);
> }
Are those '\' at the end required? Can we do regular string coalescing
like the following below?
asm volatile(
"r2 = *(u32*)(r1 + %[xdp_md_data]);"
"r3 = *(u32*)(r1 + %[xdp_md_data_end]);"
"r1 = r2;"
...
);
Or is asm directive somehow special?
> Changes compared to RFC:
> - test_loader.c is extended to support test program runs;
> - capabilities handling now matches behavior of test_verifier;
> - BPF_ST_MEM instructions are automatically replaced by BPF_STX_MEM
> instructions to overcome current clang limitations;
> - tests styling updates according to RFC feedback;
> - 38 migrated files are included instead of 1.
> I used the following means for testing:
> - migration tool itself has a set of self-tests;
> - migrated tests are passing;
> - manually compared each old/new file side-by-side.
> While doing side-by-side comparison I've noted a few defects in the
> original tests:
> - and.c:
> - One of the jump targets is off by one;
> - BPF_ST_MEM wrong OFF/IMM ordering;
> - array_access.c:
> - BPF_ST_MEM wrong OFF/IMM ordering;
> - value_or_null.c:
> - BPF_ST_MEM wrong OFF/IMM ordering.
> These defects would be addressed separately.
> [1] RFC
>
> https://lore.kernel.org/bpf/20230123145148.2791939-1-eddyz87@gmail.com/
> [2] Migration tool
> https://github.com/eddyz87/verifier-tests-migrator
> Eduard Zingerman (43):
> selftests/bpf: Report program name on parse_test_spec error
> selftests/bpf: __imm_insn & __imm_const macro for bpf_misc.h
> selftests/bpf: Unprivileged tests for test_loader.c
> selftests/bpf: Tests execution support for test_loader.c
> selftests/bpf: prog_tests entry point for migrated test_verifier tests
> selftests/bpf: verifier/and.c converted to inline assembly
> selftests/bpf: verifier/array_access.c converted to inline assembly
> selftests/bpf: verifier/basic_stack.c converted to inline assembly
> selftests/bpf: verifier/bounds_deduction.c converted to inline
> assembly
> selftests/bpf: verifier/bounds_mix_sign_unsign.c converted to inline
> assembly
> selftests/bpf: verifier/cfg.c converted to inline assembly
> selftests/bpf: verifier/cgroup_inv_retcode.c converted to inline
> assembly
> selftests/bpf: verifier/cgroup_skb.c converted to inline assembly
> selftests/bpf: verifier/cgroup_storage.c converted to inline assembly
> selftests/bpf: verifier/const_or.c converted to inline assembly
> selftests/bpf: verifier/ctx_sk_msg.c converted to inline assembly
> selftests/bpf: verifier/direct_stack_access_wraparound.c converted to
> inline assembly
> selftests/bpf: verifier/div0.c converted to inline assembly
> selftests/bpf: verifier/div_overflow.c converted to inline assembly
> selftests/bpf: verifier/helper_access_var_len.c converted to inline
> assembly
> selftests/bpf: verifier/helper_packet_access.c converted to inline
> assembly
> selftests/bpf: verifier/helper_restricted.c converted to inline
> assembly
> selftests/bpf: verifier/helper_value_access.c converted to inline
> assembly
> selftests/bpf: verifier/int_ptr.c converted to inline assembly
> selftests/bpf: verifier/ld_ind.c converted to inline assembly
> selftests/bpf: verifier/leak_ptr.c converted to inline assembly
> selftests/bpf: verifier/map_ptr.c converted to inline assembly
> selftests/bpf: verifier/map_ret_val.c converted to inline assembly
> selftests/bpf: verifier/masking.c converted to inline assembly
> selftests/bpf: verifier/meta_access.c converted to inline assembly
> selftests/bpf: verifier/raw_stack.c converted to inline assembly
> selftests/bpf: verifier/raw_tp_writable.c converted to inline assembly
> selftests/bpf: verifier/ringbuf.c converted to inline assembly
> selftests/bpf: verifier/spill_fill.c converted to inline assembly
> selftests/bpf: verifier/stack_ptr.c converted to inline assembly
> selftests/bpf: verifier/uninit.c converted to inline assembly
> selftests/bpf: verifier/value_adj_spill.c converted to inline assembly
> selftests/bpf: verifier/value.c converted to inline assembly
> selftests/bpf: verifier/value_or_null.c converted to inline assembly
> selftests/bpf: verifier/var_off.c converted to inline assembly
> selftests/bpf: verifier/xadd.c converted to inline assembly
> selftests/bpf: verifier/xdp.c converted to inline assembly
> selftests/bpf: verifier/xdp_direct_packet_access.c converted to inline
> assembly
> tools/testing/selftests/bpf/Makefile | 10 +-
> tools/testing/selftests/bpf/autoconf_helper.h | 9 +
> .../selftests/bpf/prog_tests/verifier.c | 106 +
> tools/testing/selftests/bpf/progs/bpf_misc.h | 42 +
> .../selftests/bpf/progs/verifier_and.c | 107 +
> .../bpf/progs/verifier_array_access.c | 529 +++++
> .../bpf/progs/verifier_basic_stack.c | 100 +
> .../bpf/progs/verifier_bounds_deduction.c | 171 ++
> .../progs/verifier_bounds_mix_sign_unsign.c | 554 ++++++
> .../selftests/bpf/progs/verifier_cfg.c | 100 +
> .../bpf/progs/verifier_cgroup_inv_retcode.c | 89 +
> .../selftests/bpf/progs/verifier_cgroup_skb.c | 227 +++
> .../bpf/progs/verifier_cgroup_storage.c | 308 +++
> .../selftests/bpf/progs/verifier_const_or.c | 82 +
> .../selftests/bpf/progs/verifier_ctx_sk_msg.c | 228 +++
> .../verifier_direct_stack_access_wraparound.c | 56 +
> .../selftests/bpf/progs/verifier_div0.c | 213 ++
> .../bpf/progs/verifier_div_overflow.c | 144 ++
> .../progs/verifier_helper_access_var_len.c | 825 ++++++++
> .../bpf/progs/verifier_helper_packet_access.c | 550 ++++++
> .../bpf/progs/verifier_helper_restricted.c | 279 +++
> .../bpf/progs/verifier_helper_value_access.c | 1245 ++++++++++++
> .../selftests/bpf/progs/verifier_int_ptr.c | 157 ++
> .../selftests/bpf/progs/verifier_ld_ind.c | 110 ++
> .../selftests/bpf/progs/verifier_leak_ptr.c | 92 +
> .../selftests/bpf/progs/verifier_map_ptr.c | 159 ++
> .../bpf/progs/verifier_map_ret_val.c | 110 ++
> .../selftests/bpf/progs/verifier_masking.c | 410 ++++
> .../bpf/progs/verifier_meta_access.c | 284 +++
> .../selftests/bpf/progs/verifier_raw_stack.c | 371 ++++
> .../bpf/progs/verifier_raw_tp_writable.c | 50 +
> .../selftests/bpf/progs/verifier_ringbuf.c | 131 ++
> .../selftests/bpf/progs/verifier_spill_fill.c | 374 ++++
> .../selftests/bpf/progs/verifier_stack_ptr.c | 484 +++++
> .../selftests/bpf/progs/verifier_uninit.c | 61 +
> .../selftests/bpf/progs/verifier_value.c | 158 ++
> .../bpf/progs/verifier_value_adj_spill.c | 78 +
> .../bpf/progs/verifier_value_or_null.c | 288 +++
> .../selftests/bpf/progs/verifier_var_off.c | 349 ++++
> .../selftests/bpf/progs/verifier_xadd.c | 124 ++
> .../selftests/bpf/progs/verifier_xdp.c | 24 +
> .../progs/verifier_xdp_direct_packet_access.c | 1722 +++++++++++++++++
> tools/testing/selftests/bpf/test_loader.c | 536 ++++-
> tools/testing/selftests/bpf/test_verifier.c | 25 +-
> tools/testing/selftests/bpf/unpriv_helpers.c | 26 +
> tools/testing/selftests/bpf/unpriv_helpers.h | 7 +
> tools/testing/selftests/bpf/verifier/and.c | 68 -
> .../selftests/bpf/verifier/array_access.c | 379 ----
> .../selftests/bpf/verifier/basic_stack.c | 64 -
> .../selftests/bpf/verifier/bounds_deduction.c | 136 --
> .../bpf/verifier/bounds_mix_sign_unsign.c | 411 ----
> tools/testing/selftests/bpf/verifier/cfg.c | 73 -
> .../bpf/verifier/cgroup_inv_retcode.c | 72 -
> .../selftests/bpf/verifier/cgroup_skb.c | 197 --
> .../selftests/bpf/verifier/cgroup_storage.c | 220 ---
> .../testing/selftests/bpf/verifier/const_or.c | 60 -
> .../selftests/bpf/verifier/ctx_sk_msg.c | 181 --
> .../verifier/direct_stack_access_wraparound.c | 40 -
> tools/testing/selftests/bpf/verifier/div0.c | 184 --
> .../selftests/bpf/verifier/div_overflow.c | 110 --
> .../bpf/verifier/helper_access_var_len.c | 650 -------
> .../bpf/verifier/helper_packet_access.c | 460 -----
> .../bpf/verifier/helper_restricted.c | 196 --
> .../bpf/verifier/helper_value_access.c | 953 ---------
> .../testing/selftests/bpf/verifier/int_ptr.c | 161 --
> tools/testing/selftests/bpf/verifier/ld_ind.c | 72 -
> .../testing/selftests/bpf/verifier/leak_ptr.c | 67 -
> .../testing/selftests/bpf/verifier/map_ptr.c | 99 -
> .../selftests/bpf/verifier/map_ret_val.c | 65 -
> .../testing/selftests/bpf/verifier/masking.c | 322 ---
> .../selftests/bpf/verifier/meta_access.c | 235 ---
> .../selftests/bpf/verifier/raw_stack.c | 305 ---
> .../selftests/bpf/verifier/raw_tp_writable.c | 35 -
> .../testing/selftests/bpf/verifier/ringbuf.c | 95 -
> .../selftests/bpf/verifier/spill_fill.c | 345 ----
> .../selftests/bpf/verifier/stack_ptr.c | 359 ----
> tools/testing/selftests/bpf/verifier/uninit.c | 39 -
> tools/testing/selftests/bpf/verifier/value.c | 104 -
> .../selftests/bpf/verifier/value_adj_spill.c | 43 -
> .../selftests/bpf/verifier/value_or_null.c | 220 ---
> .../testing/selftests/bpf/verifier/var_off.c | 291 ---
> tools/testing/selftests/bpf/verifier/xadd.c | 97 -
> tools/testing/selftests/bpf/verifier/xdp.c | 14 -
> .../bpf/verifier/xdp_direct_packet_access.c | 1468 --------------
> 84 files changed, 11994 insertions(+), 9000 deletions(-)
> create mode 100644 tools/testing/selftests/bpf/autoconf_helper.h
> create mode 100644 tools/testing/selftests/bpf/prog_tests/verifier.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_and.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_array_access.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_basic_stack.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_bounds_deduction.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_bounds_mix_sign_unsign.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_cfg.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_cgroup_inv_retcode.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_cgroup_skb.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_cgroup_storage.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_const_or.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_ctx_sk_msg.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_direct_stack_access_wraparound.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_div0.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_div_overflow.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_helper_access_var_len.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_helper_packet_access.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_helper_restricted.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_helper_value_access.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_int_ptr.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_ld_ind.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_leak_ptr.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_map_ptr.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_map_ret_val.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_masking.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_meta_access.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_raw_stack.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_raw_tp_writable.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_ringbuf.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_spill_fill.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_stack_ptr.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_uninit.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_value.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_value_adj_spill.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_value_or_null.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_var_off.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_xadd.c
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_xdp.c
> create mode 100644
> tools/testing/selftests/bpf/progs/verifier_xdp_direct_packet_access.c
> create mode 100644 tools/testing/selftests/bpf/unpriv_helpers.c
> create mode 100644 tools/testing/selftests/bpf/unpriv_helpers.h
> delete mode 100644 tools/testing/selftests/bpf/verifier/and.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/array_access.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/basic_stack.c
> delete mode 100644
> tools/testing/selftests/bpf/verifier/bounds_deduction.c
> delete mode 100644
> tools/testing/selftests/bpf/verifier/bounds_mix_sign_unsign.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/cfg.c
> delete mode 100644
> tools/testing/selftests/bpf/verifier/cgroup_inv_retcode.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/cgroup_skb.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/cgroup_storage.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/const_or.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/ctx_sk_msg.c
> delete mode 100644
> tools/testing/selftests/bpf/verifier/direct_stack_access_wraparound.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/div0.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/div_overflow.c
> delete mode 100644
> tools/testing/selftests/bpf/verifier/helper_access_var_len.c
> delete mode 100644
> tools/testing/selftests/bpf/verifier/helper_packet_access.c
> delete mode 100644
> tools/testing/selftests/bpf/verifier/helper_restricted.c
> delete mode 100644
> tools/testing/selftests/bpf/verifier/helper_value_access.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/int_ptr.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/ld_ind.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/leak_ptr.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/map_ptr.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/map_ret_val.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/masking.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/meta_access.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/raw_stack.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/raw_tp_writable.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/ringbuf.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/spill_fill.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/stack_ptr.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/uninit.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/value.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/value_adj_spill.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/value_or_null.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/var_off.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/xadd.c
> delete mode 100644 tools/testing/selftests/bpf/verifier/xdp.c
> delete mode 100644
> tools/testing/selftests/bpf/verifier/xdp_direct_packet_access.c
> --
> 2.40.0
next prev parent reply other threads:[~2023-03-25 3:23 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-25 2:54 [PATCH bpf-next 00/43] First set of verifier/*.c migrated to inline assembly Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 01/43] selftests/bpf: Report program name on parse_test_spec error Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 02/43] selftests/bpf: __imm_insn & __imm_const macro for bpf_misc.h Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 03/43] selftests/bpf: Unprivileged tests for test_loader.c Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 04/43] selftests/bpf: Tests execution support " Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 05/43] selftests/bpf: prog_tests entry point for migrated test_verifier tests Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 06/43] selftests/bpf: verifier/and.c converted to inline assembly Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 07/43] selftests/bpf: verifier/array_access.c " Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 08/43] selftests/bpf: verifier/basic_stack.c " Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 09/43] selftests/bpf: verifier/bounds_deduction.c " Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 10/43] selftests/bpf: verifier/bounds_mix_sign_unsign.c " Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 11/43] selftests/bpf: verifier/cfg.c " Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 12/43] selftests/bpf: verifier/cgroup_inv_retcode.c " Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 13/43] selftests/bpf: verifier/cgroup_skb.c " Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 14/43] selftests/bpf: verifier/cgroup_storage.c " Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 15/43] selftests/bpf: verifier/const_or.c " Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 16/43] selftests/bpf: verifier/ctx_sk_msg.c " Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 17/43] selftests/bpf: verifier/direct_stack_access_wraparound.c " Eduard Zingerman
2023-03-25 2:54 ` [PATCH bpf-next 18/43] selftests/bpf: verifier/div0.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 19/43] selftests/bpf: verifier/div_overflow.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 20/43] selftests/bpf: verifier/helper_access_var_len.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 21/43] selftests/bpf: verifier/helper_packet_access.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 22/43] selftests/bpf: verifier/helper_restricted.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 23/43] selftests/bpf: verifier/helper_value_access.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 24/43] selftests/bpf: verifier/int_ptr.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 25/43] selftests/bpf: verifier/ld_ind.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 26/43] selftests/bpf: verifier/leak_ptr.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 27/43] selftests/bpf: verifier/map_ptr.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 28/43] selftests/bpf: verifier/map_ret_val.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 29/43] selftests/bpf: verifier/masking.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 30/43] selftests/bpf: verifier/meta_access.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 31/43] selftests/bpf: verifier/raw_stack.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 32/43] selftests/bpf: verifier/raw_tp_writable.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 33/43] selftests/bpf: verifier/ringbuf.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 34/43] selftests/bpf: verifier/spill_fill.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 35/43] selftests/bpf: verifier/stack_ptr.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 36/43] selftests/bpf: verifier/uninit.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 37/43] selftests/bpf: verifier/value_adj_spill.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 38/43] selftests/bpf: verifier/value.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 39/43] selftests/bpf: verifier/value_or_null.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 40/43] selftests/bpf: verifier/var_off.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 41/43] selftests/bpf: verifier/xadd.c " Eduard Zingerman
2023-03-25 2:55 ` [PATCH bpf-next 42/43] selftests/bpf: verifier/xdp.c " Eduard Zingerman
2023-03-25 3:23 ` Stanislav Fomichev [this message]
2023-03-25 12:20 ` [PATCH bpf-next 00/43] First set of verifier/*.c migrated " Eduard Zingerman
2023-03-25 16:16 ` Stanislav Fomichev
2023-03-26 1:19 ` Alexei Starovoitov
2023-03-27 3:15 ` Andrii Nakryiko
2023-03-27 3:57 ` Alexei Starovoitov
2023-03-27 11:26 ` Eduard Zingerman
2023-03-27 16:35 ` Andrii Nakryiko
2023-03-27 16:37 ` Andrii Nakryiko
2023-03-26 1:32 ` patchwork-bot+netdevbpf
2023-03-28 3:48 ` Daniel Borkmann
2023-03-28 21:52 ` Eduard Zingerman
2023-03-28 22:24 ` Andrii Nakryiko
2023-03-28 22:38 ` Eduard Zingerman
2023-03-28 23:31 ` Alexei Starovoitov
2023-03-29 0:11 ` Andrii Nakryiko
2023-03-29 0:07 ` Andrii Nakryiko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZB5pFYZGnwNORSN9@google.com \
--to=sdf@google.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=eddyz87@gmail.com \
--cc=kernel-team@fb.com \
--cc=martin.lau@linux.dev \
--cc=yhs@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.