From: Jakub Kicinski Date: Mon, 24 Oct 2022 17:32:00 +0000 (-0700) Subject: Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf X-Git-Tag: v6.6.17~6292^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e28c44450b14474009a7ac84eb2bd631357c9635;hp=-c;p=platform%2Fkernel%2Flinux-rpi.git Merge tag 'for-netdev' of https://git./linux/kernel/git/bpf/bpf Alexei Starovoitov says: ==================== pull-request: bpf 2022-10-23 We've added 7 non-merge commits during the last 18 day(s) which contain a total of 8 files changed, 69 insertions(+), 5 deletions(-). The main changes are: 1) Wait for busy refill_work when destroying bpf memory allocator, from Hou. 2) Allow bpf_user_ringbuf_drain() callbacks to return 1, from David. 3) Fix dispatcher patchable function entry to 5 bytes nop, from Jiri. 4) Prevent decl_tag from being referenced in func_proto, from Stanislav. * tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf: bpf: Use __llist_del_all() whenever possbile during memory draining bpf: Wait for busy refill_work when destroying bpf memory allocator bpf: Fix dispatcher patchable function entry to 5 bytes nop bpf: prevent decl_tag from being referenced in func_proto selftests/bpf: Add reproducer for decl_tag in func_proto return type selftests/bpf: Make bpf_user_ringbuf_drain() selftest callback return 1 bpf: Allow bpf_user_ringbuf_drain() callbacks to return 1 ==================== Link: https://lore.kernel.org/r/20221023192244.81137-1-alexei.starovoitov@gmail.com Signed-off-by: Jakub Kicinski --- e28c44450b14474009a7ac84eb2bd631357c9635 diff --combined kernel/bpf/verifier.c index 014ee09,9ab7188..7f0a9f6 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@@ -6946,6 -6946,7 +6946,7 @@@ static int set_user_ringbuf_callback_st __mark_reg_not_init(env, &callee->regs[BPF_REG_5]); callee->in_callback_fn = true; + callee->callback_ret_range = tnum_range(0, 1); return 0; } @@@ -13350,7 -13351,7 +13351,7 @@@ static int opt_subreg_zext_lo32_rnd_hi3 aux[adj_idx].ptr_type == PTR_TO_CTX) continue; - imm_rnd = get_random_int(); + imm_rnd = get_random_u32(); rnd_hi32_patch[0] = insn; rnd_hi32_patch[1].imm = imm_rnd; rnd_hi32_patch[3].dst_reg = load_reg;