Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 48bddb14 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking fixes from David Miller:

 1) Fix hotplug deadlock in hv_netvsc, from Stephen Hemminger.

 2) Fix double-free in rmnet driver, from Dan Carpenter.

 3) INET connection socket layer can double put request sockets, fix
    from Eric Dumazet.

 4) Don't match collect metadata-mode tunnels if the device is down,
    from Haishuang Yan.

 5) Do not perform TSO6/GSO on ipv6 packets with extensions headers in
    be2net driver, from Suresh Reddy.

 6) Fix scaling error in gen_estimator, from Eric Dumazet.

 7) Fix 64-bit statistics deadlock in systemport driver, from Florian
    Fainelli.

 8) Fix use-after-free in sctp_sock_dump, from Xin Long.

 9) Reject invalid BPF_END instructions in verifier, from Edward Cree.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (43 commits)
  mlxsw: spectrum_router: Only handle IPv4 and IPv6 events
  Documentation: link in networking docs
  tcp: fix data delivery rate
  bpf/verifier: reject BPF_ALU64|BPF_END
  sctp: do not mark sk dumped when inet_sctp_diag_fill returns err
  sctp: fix an use-after-free issue in sctp_sock_dump
  netvsc: increase default receive buffer size
  tcp: update skb->skb_mstamp more carefully
  net: ipv4: fix l3slave check for index returned in IP_PKTINFO
  net: smsc911x: Quieten netif during suspend
  net: systemport: Fix 64-bit stats deadlock
  net: vrf: avoid gcc-4.6 warning
  qed: remove unnecessary call to memset
  tg3: clean up redundant initialization of tnapi
  tls: make tls_sw_free_resources static
  sctp: potential read out of bounds in sctp_ulpevent_type_enabled()
  MAINTAINERS: review Renesas DT bindings as well
  net_sched: gen_estimator: fix scaling error in bytes/packets samples
  nfp: wait for the NSP resource to appear on boot
  nfp: wait for board state before talking to the NSP
  ...
parents c8503720 8e29f979
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -45,7 +45,7 @@ in many more places. There's xt_bpf for netfilter, cls_bpf in the kernel
qdisc layer, SECCOMP-BPF (SECure COMPuting [1]), and lots of other places
qdisc layer, SECCOMP-BPF (SECure COMPuting [1]), and lots of other places
such as team driver, PTP code, etc where BPF is being used.
such as team driver, PTP code, etc where BPF is being used.


 [1] Documentation/prctl/seccomp_filter.txt
 [1] Documentation/userspace-api/seccomp_filter.rst


Original BPF paper:
Original BPF paper:


+2 −0
Original line number Original line Diff line number Diff line
@@ -11435,6 +11435,8 @@ RENESAS ETHERNET DRIVERS
R:	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
R:	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
L:	netdev@vger.kernel.org
L:	netdev@vger.kernel.org
L:	linux-renesas-soc@vger.kernel.org
L:	linux-renesas-soc@vger.kernel.org
F:	Documentation/devicetree/bindings/net/renesas,*.txt
F:	Documentation/devicetree/bindings/net/sh_eth.txt
F:	drivers/net/ethernet/renesas/
F:	drivers/net/ethernet/renesas/
F:	include/linux/sh_eth.h
F:	include/linux/sh_eth.h


+7 −10
Original line number Original line Diff line number Diff line
@@ -4289,7 +4289,7 @@ static int bond_check_params(struct bond_params *params)
	int bond_mode	= BOND_MODE_ROUNDROBIN;
	int bond_mode	= BOND_MODE_ROUNDROBIN;
	int xmit_hashtype = BOND_XMIT_POLICY_LAYER2;
	int xmit_hashtype = BOND_XMIT_POLICY_LAYER2;
	int lacp_fast = 0;
	int lacp_fast = 0;
	int tlb_dynamic_lb = 0;
	int tlb_dynamic_lb;


	/* Convert string parameters. */
	/* Convert string parameters. */
	if (mode) {
	if (mode) {
@@ -4601,16 +4601,13 @@ static int bond_check_params(struct bond_params *params)
	}
	}
	ad_user_port_key = valptr->value;
	ad_user_port_key = valptr->value;


	if ((bond_mode == BOND_MODE_TLB) || (bond_mode == BOND_MODE_ALB)) {
	bond_opt_initstr(&newval, "default");
	bond_opt_initstr(&newval, "default");
		valptr = bond_opt_parse(bond_opt_get(BOND_OPT_TLB_DYNAMIC_LB),
	valptr = bond_opt_parse(bond_opt_get(BOND_OPT_TLB_DYNAMIC_LB), &newval);
					&newval);
	if (!valptr) {
	if (!valptr) {
		pr_err("Error: No tlb_dynamic_lb default value");
		pr_err("Error: No tlb_dynamic_lb default value");
		return -EINVAL;
		return -EINVAL;
	}
	}
	tlb_dynamic_lb = valptr->value;
	tlb_dynamic_lb = valptr->value;
	}


	if (lp_interval == 0) {
	if (lp_interval == 0) {
		pr_warn("Warning: ip_interval must be between 1 and %d, so it was reset to %d\n",
		pr_warn("Warning: ip_interval must be between 1 and %d, so it was reset to %d\n",
+3 −0
Original line number Original line Diff line number Diff line
@@ -754,6 +754,9 @@ static int bond_option_mode_set(struct bonding *bond,
			   bond->params.miimon);
			   bond->params.miimon);
	}
	}


	if (newval->value == BOND_MODE_ALB)
		bond->params.tlb_dynamic_lb = 1;

	/* don't cache arp_validate between modes */
	/* don't cache arp_validate between modes */
	bond->params.arp_validate = BOND_ARP_VALIDATE_NONE;
	bond->params.arp_validate = BOND_ARP_VALIDATE_NONE;
	bond->params.mode = newval->value;
	bond->params.mode = newval->value;
+0 −3
Original line number Original line Diff line number Diff line
@@ -1735,11 +1735,8 @@ static void bcm_sysport_get_stats64(struct net_device *dev,
		stats->tx_packets += tx_packets;
		stats->tx_packets += tx_packets;
	}
	}


	/* lockless update tx_bytes and tx_packets */
	u64_stats_update_begin(&priv->syncp);
	stats64->tx_bytes = stats->tx_bytes;
	stats64->tx_bytes = stats->tx_bytes;
	stats64->tx_packets = stats->tx_packets;
	stats64->tx_packets = stats->tx_packets;
	u64_stats_update_end(&priv->syncp);


	do {
	do {
		start = u64_stats_fetch_begin_irq(&priv->syncp);
		start = u64_stats_fetch_begin_irq(&priv->syncp);
Loading