Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
authorJakub Kicinski <kuba@kernel.org>
Thu, 17 Feb 2022 20:22:28 +0000 (12:22 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 17 Feb 2022 20:22:28 +0000 (12:22 -0800)
Fast path bpf marge for some -next work.

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1  2 
include/linux/bpf.h
kernel/bpf/btf.c
kernel/bpf/helpers.c
kernel/bpf/syscall.c
net/core/filter.c

Simple merge
index 11740b300de93efb0d78a60d131ffc44e7ba240f,3e23b3fa79ff6115caa606098a74d893c7c51fc9..6f094c9f7f0b01ccb1c5c642d8f1de626d68ac73
@@@ -5805,19 -5705,9 +5806,19 @@@ static int btf_check_func_arg_match(str
                        if (reg->type == PTR_TO_BTF_ID) {
                                reg_btf = reg->btf;
                                reg_ref_id = reg->btf_id;
 +                              /* Ensure only one argument is referenced PTR_TO_BTF_ID */
 +                              if (reg->ref_obj_id) {
 +                                      if (ref_obj_id) {
 +                                              bpf_log(log, "verifier internal error: more than one arg with ref_obj_id R%d %u %u\n",
 +                                                      regno, reg->ref_obj_id, ref_obj_id);
 +                                              return -EFAULT;
 +                                      }
 +                                      ref_regno = regno;
 +                                      ref_obj_id = reg->ref_obj_id;
 +                              }
                        } else {
                                reg_btf = btf_vmlinux;
-                               reg_ref_id = *reg2btf_ids[reg->type];
+                               reg_ref_id = *reg2btf_ids[base_type(reg->type)];
                        }
  
                        reg_ref_t = btf_type_skip_modifiers(reg_btf, reg_ref_id,
Simple merge
Simple merge
Simple merge