]> xenbits.xensource.com Git - people/jgross/linux.git/commitdiff
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
authorDavid S. Miller <davem@davemloft.net>
Sun, 2 Aug 2020 08:02:12 +0000 (01:02 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 2 Aug 2020 08:02:12 +0000 (01:02 -0700)
Resolved kernel/bpf/btf.c using instructions from merge commit
69138b34a7248d2396ab85c8652e20c0c39beaba

Signed-off-by: David S. Miller <davem@davemloft.net>
46 files changed:
1  2 
MAINTAINERS
Makefile
drivers/net/bareudp.c
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
drivers/net/ethernet/intel/e1000e/ich8lan.c
drivers/net/ethernet/intel/igb/igb_main.c
drivers/net/ethernet/mediatek/mtk_eth_soc.c
drivers/net/ethernet/mellanox/mlx4/main.c
drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
drivers/net/ethernet/mellanox/mlx5/core/eswitch.h
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
drivers/net/ethernet/mellanox/mlxsw/core.c
drivers/net/ethernet/mellanox/mlxsw/reg.h
drivers/net/ethernet/mscc/ocelot.c
drivers/net/ethernet/pensando/ionic/ionic_lif.c
drivers/net/vxlan.c
include/linux/mlx5/mlx5_ifc.h
include/net/devlink.h
include/net/xfrm.h
kernel/bpf/btf.c
kernel/bpf/hashtab.c
net/bluetooth/hci_event.c
net/bpfilter/bpfilter_kern.c
net/compat.c
net/core/devlink.c
net/ipv4/fib_trie.c
net/ipv6/ipv6_sockglue.c
net/ipv6/route.c
net/key/af_key.c
net/mac80211/cfg.c
net/mac80211/mesh.c
net/mac80211/mesh_pathtbl.c
net/mac80211/sta_info.c
net/mac80211/tx.c
net/mac80211/util.c
net/mptcp/protocol.c
net/sched/act_ct.c
net/wireless/nl80211.c
net/xfrm/xfrm_policy.c
tools/testing/selftests/net/forwarding/ethtool.sh
tools/testing/selftests/net/rxtimestamp.c

diff --cc MAINTAINERS
Simple merge
diff --cc Makefile
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index ee36b7f609368416bdd31056479389880b4835ac,0443600146dc27edd385e5c7dd594b087605a012..4ff0de860ab754736394dbe94fd45a1e42a081a1
@@@ -4080,14 -4052,98 +4080,14 @@@ error
  int btf_resolve_helper_id(struct bpf_verifier_log *log,
                          const struct bpf_func_proto *fn, int arg)
  {
 -      int *btf_id = &fn->btf_id[arg];
 -      int ret;
 +      int id;
  
--      if (fn->arg_type[arg] != ARG_PTR_TO_BTF_ID)
++      if (fn->arg_type[arg] != ARG_PTR_TO_BTF_ID || !btf_vmlinux)
                return -EINVAL;
 -
 -      ret = READ_ONCE(*btf_id);
 -      if (ret)
 -              return ret;
 -      /* ok to race the search. The result is the same */
 -      ret = __btf_resolve_helper_id(log, fn->func, arg);
 -      if (!ret) {
 -              /* Function argument cannot be type 'void' */
 -              bpf_log(log, "BTF resolution bug\n");
 -              return -EFAULT;
 -      }
 -      WRITE_ONCE(*btf_id, ret);
 -      return ret;
 +      id = fn->btf_id[arg];
 +      if (!id || id > btf_vmlinux->nr_types)
 +              return -EINVAL;
 +      return id;
  }
  
  static int __get_type_size(struct btf *btf, u32 btf_id,
Simple merge
Simple merge
index f580c3344cb3ac4233e7a13723532bb3ff07ccff,4494ea6056cdb81e189c4d6cf95209d182a9fc0d..51a941b56ec3aab03d8151b4ce1fa169139f05cb
@@@ -31,20 -33,30 +31,20 @@@ static void __stop_umh(void
                shutdown_umh();
  }
  
 -static int __bpfilter_process_sockopt(struct sock *sk, int optname,
 -                                    char __user *optval,
 -                                    unsigned int optlen, bool is_set)
 +static int bpfilter_send_req(struct mbox_request *req)
  {
 -      struct mbox_request req;
        struct mbox_reply reply;
-       loff_t pos;
+       loff_t pos = 0;
        ssize_t n;
 -      int ret = -EFAULT;
 -
 -      req.is_set = is_set;
 -      req.pid = current->pid;
 -      req.cmd = optname;
 -      req.addr = (long __force __user)optval;
 -      req.len = optlen;
 -      if (!bpfilter_ops.info.pid)
 -              goto out;
 -      n = kernel_write(bpfilter_ops.info.pipe_to_umh, &req, sizeof(req),
 +
 +      if (!bpfilter_ops.info.tgid)
 +              return -EFAULT;
 +      pos = 0;
 +      n = kernel_write(bpfilter_ops.info.pipe_to_umh, req, sizeof(*req),
                           &pos);
 -      if (n != sizeof(req)) {
 +      if (n != sizeof(*req)) {
                pr_err("write fail %zd\n", n);
 -              __stop_umh();
 -              ret = -EFAULT;
 -              goto out;
 +              goto stop;
        }
        pos = 0;
        n = kernel_read(bpfilter_ops.info.pipe_from_umh, &reply, sizeof(reply),
diff --cc net/compat.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 221fdece47d4510adbf8d30b4e71b99eab2c3a88,bcb79ba1f2143e1569fd96943170c357044f1d38..e4613ce4ed6934ba415a816bd5fe92d10794d43e
@@@ -354,13 -327,9 +354,12 @@@ int main(int argc, char **argv
  {
        bool all_protocols = true;
        bool all_tests = true;
 +      bool cfg_ipv4 = false;
 +      bool cfg_ipv6 = false;
 +      bool strict = false;
        int arg_index = 0;
        int failures = 0;
-       int s, t;
-       char opt;
+       int s, t, opt;
  
        while ((opt = getopt_long(argc, argv, "", long_options,
                                  &arg_index)) != -1) {