Commit 399bd66e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking fixes from Paolo Abeni:
 "Including fixes from bpf and netfilter.

  Current release - regressions:

   - netfilter: cttimeout: fix slab-out-of-bounds read in
     cttimeout_net_exit

Current release - new code bugs:

   - bpf: ftrace: keep address offset in ftrace_lookup_symbols

   - bpf: force cookies array to follow symbols sorting

  Previous releases - regressions:

   - ipv4: ping: fix bind address validity check

   - tipc: fix use-after-free read in tipc_named_reinit

   - eth: veth: add updating of trans_start

  Previous releases - always broken:

   - sock: redo the psock vs ULP protection check

   - netfilter: nf_dup_netdev: fix skb_under_panic

   - bpf: fix request_sock leak in sk lookup helpers

   - eth: igb: fix a use-after-free issue in igb_clean_tx_ring

   - eth: ice: prohibit improper channel config for DCB

   - eth: at803x: fix null pointer dereference on AR9331 phy

   - eth: virtio_net: fix xdp_rxq_info bug after suspend/resume

  Misc:

   - eth: hinic: replace memcpy() with direct assignment"

* tag 'net-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (47 commits)
  net: openvswitch: fix parsing of nw_proto for IPv6 fragments
  sock: redo the psock vs ULP protection check
  Revert "net/tls: fix tls_sk_proto_close executed repeatedly"
  virtio_net: fix xdp_rxq_info bug after suspend/resume
  igb: Make DMA faster when CPU is active on the PCIe link
  net: dsa: qca8k: reduce mgmt ethernet timeout
  net: dsa: qca8k: reset cpu port on MTU change
  MAINTAINERS: Add a maintainer for OCP Time Card
  hinic: Replace memcpy() with direct assignment
  Revert "drivers/net/ethernet/neterion/vxge: Fix a use-after-free bug in vxge-main.c"
  net: phy: smsc: Disable Energy Detect Power-Down in interrupt mode
  ice: ethtool: Prohibit improper channel config for DCB
  ice: ethtool: advertise 1000M speeds properly
  ice: Fix switchdev rules book keeping
  ice: ignore protocol field in GTP offload
  netfilter: nf_dup_netdev: add and use recursion counter
  netfilter: nf_dup_netdev: do not push mac header a second time
  selftests: netfilter: correct PKTGEN_SCRIPT_PATHS in nft_concat_range.sh
  net/tls: fix tls_sk_proto_close executed repeatedly
  erspan: do not assume transport header is always set
  ...
parents f410c3e0 12378a5a
Loading
Loading
Loading
Loading
+21 −21
Original line number Diff line number Diff line
@@ -3662,7 +3662,7 @@ BPF JIT for ARM
M:	Shubham Bansal <illusionist.neo@gmail.com>
L:	netdev@vger.kernel.org
L:	bpf@vger.kernel.org
S:	Maintained
S:	Odd Fixes
F:	arch/arm/net/
BPF JIT for ARM64
@@ -3686,14 +3686,15 @@ BPF JIT for NFP NICs
M:	Jakub Kicinski <kuba@kernel.org>
L:	netdev@vger.kernel.org
L:	bpf@vger.kernel.org
S:	Supported
S:	Odd Fixes
F:	drivers/net/ethernet/netronome/nfp/bpf/
BPF JIT for POWERPC (32-BIT AND 64-BIT)
M:	Naveen N. Rao <naveen.n.rao@linux.ibm.com>
M:	Michael Ellerman <mpe@ellerman.id.au>
L:	netdev@vger.kernel.org
L:	bpf@vger.kernel.org
S:	Maintained
S:	Supported
F:	arch/powerpc/net/
BPF JIT for RISC-V (32-bit)
@@ -3719,7 +3720,7 @@ M: Heiko Carstens <hca@linux.ibm.com>
M:	Vasily Gorbik <gor@linux.ibm.com>
L:	netdev@vger.kernel.org
L:	bpf@vger.kernel.org
S:	Maintained
S:	Supported
F:	arch/s390/net/
X:	arch/s390/net/pnet.c
@@ -3727,14 +3728,14 @@ BPF JIT for SPARC (32-BIT AND 64-BIT)
M:	David S. Miller <davem@davemloft.net>
L:	netdev@vger.kernel.org
L:	bpf@vger.kernel.org
S:	Maintained
S:	Odd Fixes
F:	arch/sparc/net/
BPF JIT for X86 32-BIT
M:	Wang YanQing <udknight@gmail.com>
L:	netdev@vger.kernel.org
L:	bpf@vger.kernel.org
S:	Maintained
S:	Odd Fixes
F:	arch/x86/net/bpf_jit_comp32.c
BPF JIT for X86 64-BIT
@@ -3757,6 +3758,19 @@ F: include/linux/bpf_lsm.h
F:	kernel/bpf/bpf_lsm.c
F:	security/bpf/
BPF L7 FRAMEWORK
M:	John Fastabend <john.fastabend@gmail.com>
M:	Jakub Sitnicki <jakub@cloudflare.com>
L:	netdev@vger.kernel.org
L:	bpf@vger.kernel.org
S:	Maintained
F:	include/linux/skmsg.h
F:	net/core/skmsg.c
F:	net/core/sock_map.c
F:	net/ipv4/tcp_bpf.c
F:	net/ipv4/udp_bpf.c
F:	net/unix/unix_bpf.c
BPFTOOL
M:	Quentin Monnet <quentin@isovalent.com>
L:	bpf@vger.kernel.org
@@ -11098,20 +11112,6 @@ S: Maintained
F:	include/net/l3mdev.h
F:	net/l3mdev
L7 BPF FRAMEWORK
M:	John Fastabend <john.fastabend@gmail.com>
M:	Daniel Borkmann <daniel@iogearbox.net>
M:	Jakub Sitnicki <jakub@cloudflare.com>
L:	netdev@vger.kernel.org
L:	bpf@vger.kernel.org
S:	Maintained
F:	include/linux/skmsg.h
F:	net/core/skmsg.c
F:	net/core/sock_map.c
F:	net/ipv4/tcp_bpf.c
F:	net/ipv4/udp_bpf.c
F:	net/unix/unix_bpf.c
LANDLOCK SECURITY MODULE
M:	Mickaël Salaün <mic@digikod.net>
L:	linux-security-module@vger.kernel.org
@@ -13954,7 +13954,6 @@ F: net/ipv6/tcp*.c
NETWORKING [TLS]
M:	Boris Pismenny <borisp@nvidia.com>
M:	John Fastabend <john.fastabend@gmail.com>
M:	Daniel Borkmann <daniel@iogearbox.net>
M:	Jakub Kicinski <kuba@kernel.org>
L:	netdev@vger.kernel.org
S:	Maintained
@@ -14871,6 +14870,7 @@ F: include/dt-bindings/
OPENCOMPUTE PTP CLOCK DRIVER
M:	Jonathan Lemon <jonathan.lemon@gmail.com>
M:	Vadim Fedorenko <vadfed@fb.com>
L:	netdev@vger.kernel.org
S:	Maintained
F:	drivers/ptp/ptp_ocp.c
+2 −1
Original line number Diff line number Diff line
@@ -1420,8 +1420,9 @@ st: if (is_imm8(insn->off))
		case BPF_JMP | BPF_CALL:
			func = (u8 *) __bpf_call_base + imm32;
			if (tail_call_reachable) {
				/* mov rax, qword ptr [rbp - rounded_stack_depth - 8] */
				EMIT3_off32(0x48, 0x8B, 0x85,
					    -(bpf_prog->aux->stack_depth + 8));
					    -round_up(bpf_prog->aux->stack_depth, 8) - 8);
				if (!imm32 || emit_call(&prog, func, image + addrs[i - 1] + 7))
					return -EINVAL;
			} else {
+3 −1
Original line number Diff line number Diff line
@@ -3684,9 +3684,11 @@ static void bond_activebackup_arp_mon(struct bonding *bond)
		if (!rtnl_trylock())
			return;

		if (should_notify_peers)
		if (should_notify_peers) {
			bond->send_peer_notif--;
			call_netdevice_notifiers(NETDEV_NOTIFY_PEERS,
						 bond->dev);
		}
		if (should_notify_rtnl) {
			bond_slave_state_notify(bond);
			bond_slave_link_notify(bond);
+21 −1
Original line number Diff line number Diff line
@@ -2334,6 +2334,7 @@ static int
qca8k_port_change_mtu(struct dsa_switch *ds, int port, int new_mtu)
{
	struct qca8k_priv *priv = ds->priv;
	int ret;

	/* We have only have a general MTU setting.
	 * DSA always set the CPU port's MTU to the largest MTU of the slave
@@ -2344,8 +2345,27 @@ qca8k_port_change_mtu(struct dsa_switch *ds, int port, int new_mtu)
	if (!dsa_is_cpu_port(ds, port))
		return 0;

	/* To change the MAX_FRAME_SIZE the cpu ports must be off or
	 * the switch panics.
	 * Turn off both cpu ports before applying the new value to prevent
	 * this.
	 */
	if (priv->port_enabled_map & BIT(0))
		qca8k_port_set_status(priv, 0, 0);

	if (priv->port_enabled_map & BIT(6))
		qca8k_port_set_status(priv, 6, 0);

	/* Include L2 header / FCS length */
	return qca8k_write(priv, QCA8K_MAX_FRAME_SIZE, new_mtu + ETH_HLEN + ETH_FCS_LEN);
	ret = qca8k_write(priv, QCA8K_MAX_FRAME_SIZE, new_mtu + ETH_HLEN + ETH_FCS_LEN);

	if (priv->port_enabled_map & BIT(0))
		qca8k_port_set_status(priv, 0, 1);

	if (priv->port_enabled_map & BIT(6))
		qca8k_port_set_status(priv, 6, 1);

	return ret;
}

static int
+1 −1
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@

#define QCA8K_ETHERNET_MDIO_PRIORITY			7
#define QCA8K_ETHERNET_PHY_PRIORITY			6
#define QCA8K_ETHERNET_TIMEOUT				100
#define QCA8K_ETHERNET_TIMEOUT				5

#define QCA8K_NUM_PORTS					7
#define QCA8K_NUM_CPU_PORTS				2
Loading