The patch titled Subject: linux-next-git-rejects has been added to the -mm tree. Its filename is linux-next-git-rejects.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/linux-next-git-rejects.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/linux-next-git-rejects.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: linux-next-git-rejects Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/uapi/linux/bpf.h | 7 -- kernel/bpf/verifier.c | 22 ------- net/core/filter.c | 3 - net/ipv6/route.c | 7 -- tools/include/uapi/linux/bpf.h | 7 -- tools/lib/bpf/btf.c | 3 - tools/testing/selftests/bpf/verifier/ref_tracking.c | 28 ---------- 7 files changed, 77 deletions(-) --- a/include/uapi/linux/bpf.h~linux-next-git-rejects +++ a/include/uapi/linux/bpf.h @@ -2445,8 +2445,6 @@ union bpf_attr { * Return * A **struct bpf_sock** pointer on success, or **NULL** in * case of failure. -<<<<<<< HEAD -======= * * struct bpf_sock *bpf_skc_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags) * Description @@ -2479,7 +2477,6 @@ union bpf_attr { * Return * 0 if iph and th are a valid SYN cookie ACK, or a negative error * otherwise. ->>>>>>> linux-next/akpm-base */ #define __BPF_FUNC_MAPPER(FN) \ FN(unspec), \ @@ -2580,13 +2577,9 @@ union bpf_attr { FN(sk_fullsock), \ FN(tcp_sock), \ FN(skb_ecn_set_ce), \ -<<<<<<< HEAD - FN(get_listener_sock), -======= FN(get_listener_sock), \ FN(skc_lookup_tcp), \ FN(tcp_check_syncookie), ->>>>>>> linux-next/akpm-base /* integer value in 'imm' field of BPF_CALL instruction selects which helper * function eBPF program intends to call --- a/kernel/bpf/verifier.c~linux-next-git-rejects +++ a/kernel/bpf/verifier.c @@ -3164,27 +3164,11 @@ static int check_helper_call(struct bpf_ } else if (fn->ret_type == RET_PTR_TO_SOCKET_OR_NULL) { mark_reg_known_zero(env, regs, BPF_REG_0); regs[BPF_REG_0].type = PTR_TO_SOCKET_OR_NULL; -<<<<<<< HEAD - if (is_acquire_function(func_id)) { - int id = acquire_reference_state(env, insn_idx); - - if (id < 0) - return id; - /* For mark_ptr_or_null_reg() */ - regs[BPF_REG_0].id = id; - /* For release_reference() */ - regs[BPF_REG_0].ref_obj_id = id; - } else { - /* For mark_ptr_or_null_reg() */ - regs[BPF_REG_0].id = ++env->id_gen; - } -======= regs[BPF_REG_0].id = ++env->id_gen; } else if (fn->ret_type == RET_PTR_TO_SOCK_COMMON_OR_NULL) { mark_reg_known_zero(env, regs, BPF_REG_0); regs[BPF_REG_0].type = PTR_TO_SOCK_COMMON_OR_NULL; regs[BPF_REG_0].id = ++env->id_gen; ->>>>>>> linux-next/akpm-base } else if (fn->ret_type == RET_PTR_TO_TCP_SOCK_OR_NULL) { mark_reg_known_zero(env, regs, BPF_REG_0); regs[BPF_REG_0].type = PTR_TO_TCP_SOCK_OR_NULL; @@ -3195,11 +3179,6 @@ static int check_helper_call(struct bpf_ return -EINVAL; } -<<<<<<< HEAD - if (is_ptr_cast_function(func_id)) - /* For release_reference() */ - regs[BPF_REG_0].ref_obj_id = meta.ref_obj_id; -======= if (is_ptr_cast_function(func_id)) { /* For release_reference() */ regs[BPF_REG_0].ref_obj_id = meta.ref_obj_id; @@ -3213,7 +3192,6 @@ static int check_helper_call(struct bpf_ /* For release_reference() */ regs[BPF_REG_0].ref_obj_id = id; } ->>>>>>> linux-next/akpm-base do_refine_retval_range(regs, fn->ret_type, func_id, &meta); --- a/net/core/filter.c~linux-next-git-rejects +++ a/net/core/filter.c @@ -5955,15 +5955,12 @@ tc_cls_act_func_proto(enum bpf_func_id f return &bpf_tcp_sock_proto; case BPF_FUNC_get_listener_sock: return &bpf_get_listener_sock_proto; -<<<<<<< HEAD -======= case BPF_FUNC_skc_lookup_tcp: return &bpf_skc_lookup_tcp_proto; case BPF_FUNC_tcp_check_syncookie: return &bpf_tcp_check_syncookie_proto; case BPF_FUNC_skb_ecn_set_ce: return &bpf_skb_ecn_set_ce_proto; ->>>>>>> linux-next/akpm-base #endif default: return bpf_base_func_proto(func_id); --- a/net/ipv6/route.c~linux-next-git-rejects +++ a/net/ipv6/route.c @@ -1046,17 +1046,10 @@ static struct rt6_info *ip6_create_rt_rc fib6_info_release(rt); goto fallback; } -<<<<<<< HEAD ip6_rt_copy_init(nrt, rt); return nrt; -======= - - ip6_rt_copy_init(nrt, rt); - return nrt; - ->>>>>>> linux-next/akpm-base fallback: nrt = dev_net(dev)->ipv6.ip6_null_entry; dst_hold(&nrt->dst); --- a/tools/include/uapi/linux/bpf.h~linux-next-git-rejects +++ a/tools/include/uapi/linux/bpf.h @@ -2445,8 +2445,6 @@ union bpf_attr { * Return * A **struct bpf_sock** pointer on success, or **NULL** in * case of failure. -<<<<<<< HEAD -======= * * struct bpf_sock *bpf_skc_lookup_tcp(void *ctx, struct bpf_sock_tuple *tuple, u32 tuple_size, u64 netns, u64 flags) * Description @@ -2479,7 +2477,6 @@ union bpf_attr { * Return * 0 if iph and th are a valid SYN cookie ACK, or a negative error * otherwise. ->>>>>>> linux-next/akpm-base */ #define __BPF_FUNC_MAPPER(FN) \ FN(unspec), \ @@ -2580,13 +2577,9 @@ union bpf_attr { FN(sk_fullsock), \ FN(tcp_sock), \ FN(skb_ecn_set_ce), \ -<<<<<<< HEAD - FN(get_listener_sock), -======= FN(get_listener_sock), \ FN(skc_lookup_tcp), \ FN(tcp_check_syncookie), ->>>>>>> linux-next/akpm-base /* integer value in 'imm' field of BPF_CALL instruction selects which helper * function eBPF program intends to call --- a/tools/lib/bpf/btf.c~linux-next-git-rejects +++ a/tools/lib/bpf/btf.c @@ -2107,12 +2107,9 @@ static int btf_dedup_is_equiv(struct btf return fwd_kind == real_kind; } -<<<<<<< HEAD -======= if (cand_kind != canon_kind) return 0; ->>>>>>> linux-next/akpm-base switch (cand_kind) { case BTF_KIND_INT: return btf_equal_int(cand_type, canon_type); --- a/tools/testing/selftests/bpf/verifier/ref_tracking.c~linux-next-git-rejects +++ a/tools/testing/selftests/bpf/verifier/ref_tracking.c @@ -656,11 +656,7 @@ { "reference tracking: use ptr from bpf_tcp_sock() after release", .insns = { -<<<<<<< HEAD - BPF_SK_LOOKUP, -======= BPF_SK_LOOKUP(sk_lookup_tcp), ->>>>>>> linux-next/akpm-base BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1), BPF_EXIT_INSN(), BPF_MOV64_REG(BPF_REG_6, BPF_REG_0), @@ -683,11 +679,7 @@ { "reference tracking: use ptr from bpf_sk_fullsock() after release", .insns = { -<<<<<<< HEAD - BPF_SK_LOOKUP, -======= BPF_SK_LOOKUP(sk_lookup_tcp), ->>>>>>> linux-next/akpm-base BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1), BPF_EXIT_INSN(), BPF_MOV64_REG(BPF_REG_6, BPF_REG_0), @@ -710,11 +702,7 @@ { "reference tracking: use ptr from bpf_sk_fullsock(tp) after release", .insns = { -<<<<<<< HEAD - BPF_SK_LOOKUP, -======= BPF_SK_LOOKUP(sk_lookup_tcp), ->>>>>>> linux-next/akpm-base BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1), BPF_EXIT_INSN(), BPF_MOV64_REG(BPF_REG_6, BPF_REG_0), @@ -741,11 +729,7 @@ { "reference tracking: use sk after bpf_sk_release(tp)", .insns = { -<<<<<<< HEAD - BPF_SK_LOOKUP, -======= BPF_SK_LOOKUP(sk_lookup_tcp), ->>>>>>> linux-next/akpm-base BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1), BPF_EXIT_INSN(), BPF_MOV64_REG(BPF_REG_6, BPF_REG_0), @@ -767,11 +751,7 @@ { "reference tracking: use ptr from bpf_get_listener_sock() after bpf_sk_release(sk)", .insns = { -<<<<<<< HEAD - BPF_SK_LOOKUP, -======= BPF_SK_LOOKUP(sk_lookup_tcp), ->>>>>>> linux-next/akpm-base BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1), BPF_EXIT_INSN(), BPF_MOV64_REG(BPF_REG_6, BPF_REG_0), @@ -793,11 +773,7 @@ { "reference tracking: bpf_sk_release(listen_sk)", .insns = { -<<<<<<< HEAD - BPF_SK_LOOKUP, -======= BPF_SK_LOOKUP(sk_lookup_tcp), ->>>>>>> linux-next/akpm-base BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1), BPF_EXIT_INSN(), BPF_MOV64_REG(BPF_REG_6, BPF_REG_0), @@ -822,11 +798,7 @@ /* !bpf_sk_fullsock(sk) is checked but !bpf_tcp_sock(sk) is not checked */ "reference tracking: tp->snd_cwnd after bpf_sk_fullsock(sk) and bpf_tcp_sock(sk)", .insns = { -<<<<<<< HEAD - BPF_SK_LOOKUP, -======= BPF_SK_LOOKUP(sk_lookup_tcp), ->>>>>>> linux-next/akpm-base BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1), BPF_EXIT_INSN(), BPF_MOV64_REG(BPF_REG_6, BPF_REG_0), _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are mm-mempolicy-make-mbind-return-eio-when-mpol_mf_strict-is-specified-fix.patch ocfs2-clear-zero-in-unaligned-direct-io-checkpatch-fixes.patch mm.patch userfaultfd-sysctl-add-vmunprivileged_userfaultfd-fix.patch mm-compaction-fix-an-undefined-behaviour-fix.patch mm-add-probe_user_read-fix.patch mm-maintain-randomization-of-page-free-lists-checkpatch-fixes.patch bitmap_parselist-move-non-parser-logic-to-helpers-fix.patch fs-binfmt_elfc-remove-unneeded-initialization-of-mm-start_stack.patch linux-next-rejects.patch linux-next-git-rejects.patch scripts-atomic-check-atomicssh-dont-assume-that-scripts-are-executable.patch kernel-forkc-export-kernel_thread-to-modules.patch slab-leaks3-default-y.patch