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

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

 1) Use 32-bit index for tails calls in s390 bpf JIT, from Ilya
    Leoshkevich.

 2) Fix missed EPOLLOUT events in TCP, from Eric Dumazet. Same fix for
    SMC from Jason Baron.

 3) ipv6_mc_may_pull() should return 0 for malformed packets, not
    -EINVAL. From Stefano Brivio.

 4) Don't forget to unpin umem xdp pages in error path of
    xdp_umem_reg(). From Ivan Khoronzhuk.

 5) Fix sta object leak in mac80211, from Johannes Berg.

 6) Fix regression by not configuring PHYLINK on CPU port of bcm_sf2
    switches. From Florian Fainelli.

 7) Revert DMA sync removal from r8169 which was causing regressions on
    some MIPS Loongson platforms. From Heiner Kallweit.

 8) Use after free in flow dissector, from Jakub Sitnicki.

 9) Fix NULL derefs of net devices during ICMP processing across
    collect_md tunnels, from Hangbin Liu.

10) proto_register() memory leaks, from Zhang Lin.

11) Set NLM_F_MULTI flag in multipart netlink messages consistently,
    from John Fastabend.

* git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (66 commits)
  r8152: Set memory to all 0xFFs on failed reg reads
  openvswitch: Fix conntrack cache with timeout
  ipv4: mpls: fix mpls_xmit for iptunnel
  nexthop: Fix nexthop_num_path for blackhole nexthops
  net: rds: add service level support in rds-info
  net: route dump netlink NLM_F_MULTI flag missing
  s390/qeth: reject oversized SNMP requests
  sock: fix potential memory leak in proto_register()
  MAINTAINERS: Add phylink keyword to SFF/SFP/SFP+ MODULE SUPPORT
  xfrm/xfrm_policy: fix dst dev null pointer dereference in collect_md mode
  ipv4/icmp: fix rt dst dev null pointer dereference
  openvswitch: Fix log message in ovs conntrack
  bpf: allow narrow loads of some sk_reuseport_md fields with offset > 0
  bpf: fix use after free in prog symbol exposure
  bpf: fix precision tracking in presence of bpf2bpf calls
  flow_dissector: Fix potential use-after-free on BPF_PROG_DETACH
  Revert "r8169: remove not needed call to dma_sync_single_for_device"
  ipv6: propagate ipv6_add_dev's error returns out of ipv6_find_idev
  net/ncsi: Fix the payload copying for the request coming from Netlink
  qed: Add cleanup in qed_slowpath_start()
  ...
parents a55aa89a f53a7ad1
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -8454,11 +8454,6 @@ S: Maintained
F:	fs/io_uring.c
F:	include/uapi/linux/io_uring.h

IP MASQUERADING
M:	Juanjo Ciarlante <jjciarla@raiz.uncu.edu.ar>
S:	Maintained
F:	net/ipv4/netfilter/ipt_MASQUERADE.c

IPMI SUBSYSTEM
M:	Corey Minyard <minyard@acm.org>
L:	openipmi-developer@lists.sourceforge.net (moderated for non-subscribers)
@@ -11086,7 +11081,7 @@ NET_FAILOVER MODULE
M:	Sridhar Samudrala <sridhar.samudrala@intel.com>
L:	netdev@vger.kernel.org
S:	Supported
F:	driver/net/net_failover.c
F:	drivers/net/net_failover.c
F:	include/net/net_failover.h
F:	Documentation/networking/net_failover.rst

@@ -14478,6 +14473,7 @@ F: drivers/net/phy/phylink.c
F:	drivers/net/phy/sfp*
F:	include/linux/phylink.h
F:	include/linux/sfp.h
K:	phylink

SGI GRU DRIVER
M:	Dimitri Sivanich <sivanich@sgi.com>
+7 −5
Original line number Diff line number Diff line
@@ -863,7 +863,7 @@ static noinline int bpf_jit_insn(struct bpf_jit *jit, struct bpf_prog *fp, int i
		break;
	case BPF_ALU64 | BPF_NEG: /* dst = -dst */
		/* lcgr %dst,%dst */
		EMIT4(0xb9130000, dst_reg, dst_reg);
		EMIT4(0xb9030000, dst_reg, dst_reg);
		break;
	/*
	 * BPF_FROM_BE/LE
@@ -1049,8 +1049,8 @@ static noinline int bpf_jit_insn(struct bpf_jit *jit, struct bpf_prog *fp, int i
		/* llgf %w1,map.max_entries(%b2) */
		EMIT6_DISP_LH(0xe3000000, 0x0016, REG_W1, REG_0, BPF_REG_2,
			      offsetof(struct bpf_array, map.max_entries));
		/* clgrj %b3,%w1,0xa,label0: if %b3 >= %w1 goto out */
		EMIT6_PCREL_LABEL(0xec000000, 0x0065, BPF_REG_3,
		/* clrj %b3,%w1,0xa,label0: if (u32)%b3 >= (u32)%w1 goto out */
		EMIT6_PCREL_LABEL(0xec000000, 0x0077, BPF_REG_3,
				  REG_W1, 0, 0xa);

		/*
@@ -1076,8 +1076,10 @@ static noinline int bpf_jit_insn(struct bpf_jit *jit, struct bpf_prog *fp, int i
		 *         goto out;
		 */

		/* sllg %r1,%b3,3: %r1 = index * 8 */
		EMIT6_DISP_LH(0xeb000000, 0x000d, REG_1, BPF_REG_3, REG_0, 3);
		/* llgfr %r1,%b3: %r1 = (u32) index */
		EMIT4(0xb9160000, REG_1, BPF_REG_3);
		/* sllg %r1,%r1,3: %r1 *= 8 */
		EMIT6_DISP_LH(0xeb000000, 0x000d, REG_1, REG_1, REG_0, 3);
		/* lg %r1,prog(%b2,%r1) */
		EMIT6_DISP_LH(0xe3000000, 0x0004, REG_1, BPF_REG_2,
			      REG_1, offsetof(struct bpf_array, ptrs));
+1 −1
Original line number Diff line number Diff line
@@ -200,7 +200,7 @@ config ATM_NICSTAR_USE_SUNI
	  make the card work).

config ATM_NICSTAR_USE_IDT77105
	bool "Use IDT77015 PHY driver (25Mbps)"
	bool "Use IDT77105 PHY driver (25Mbps)"
	depends on ATM_NICSTAR
	help
	  Support for the PHYsical layer chip in ForeRunner LE25 cards. In
+8 −2
Original line number Diff line number Diff line
@@ -478,6 +478,7 @@ static void bcm_sf2_sw_validate(struct dsa_switch *ds, int port,
				unsigned long *supported,
				struct phylink_link_state *state)
{
	struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
	__ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, };

	if (!phy_interface_mode_is_rgmii(state->interface) &&
@@ -487,8 +488,10 @@ static void bcm_sf2_sw_validate(struct dsa_switch *ds, int port,
	    state->interface != PHY_INTERFACE_MODE_INTERNAL &&
	    state->interface != PHY_INTERFACE_MODE_MOCA) {
		bitmap_zero(supported, __ETHTOOL_LINK_MODE_MASK_NBITS);
		if (port != core_readl(priv, CORE_IMP0_PRT_ID))
			dev_err(ds->dev,
			"Unsupported interface: %d\n", state->interface);
				"Unsupported interface: %d for port %d\n",
				state->interface, port);
		return;
	}

@@ -526,6 +529,9 @@ static void bcm_sf2_sw_mac_config(struct dsa_switch *ds, int port,
	u32 id_mode_dis = 0, port_mode;
	u32 reg, offset;

	if (port == core_readl(priv, CORE_IMP0_PRT_ID))
		return;

	if (priv->type == BCM7445_DEVICE_ID)
		offset = CORE_STS_OVERRIDE_GMIIP_PORT(port);
	else
+1 −1
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ static void gve_get_stats(struct net_device *dev, struct rtnl_link_stats64 *s)
				  u64_stats_fetch_begin(&priv->tx[ring].statss);
				s->tx_packets += priv->tx[ring].pkt_done;
				s->tx_bytes += priv->tx[ring].bytes_done;
			} while (u64_stats_fetch_retry(&priv->rx[ring].statss,
			} while (u64_stats_fetch_retry(&priv->tx[ring].statss,
						       start));
		}
	}
Loading