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

  There are a bunch of regressions addressed here, but hopefully nothing
  spectacular. We are still waiting the driver fix from Intel, mentioned
  by Jakub in the previous networking pull.

  Current release - regressions:

   - core: add softirq safety to netdev_rename_lock

   - tcp: fix tcp_rcv_fastopen_synack() to enter TCP_CA_Loss for failed
     TFO

   - batman-adv: fix RCU race at module unload time

  Previous releases - regressions:

   - openvswitch: get related ct labels from its master if it is not
     confirmed

   - eth: bonding: fix incorrect software timestamping report

   - eth: mlxsw: fix memory corruptions on spectrum-4 systems

   - eth: ionic: use dev_consume_skb_any outside of napi

  Previous releases - always broken:

   - netfilter: fully validate NFT_DATA_VALUE on store to data registers

   - unix: several fixes for OoB data

   - tcp: fix race for duplicate reqsk on identical SYN

   - bpf:
       - fix may_goto with negative offset
       - fix the corner case with may_goto and jump to the 1st insn
       - fix overrunning reservations in ringbuf

   - can:
       - j1939: recover socket queue on CAN bus error during BAM
         transmission
       - mcp251xfd: fix infinite loop when xmit fails

   - dsa: microchip: monitor potential faults in half-duplex mode

   - eth: vxlan: pull inner IP header in vxlan_xmit_one()

   - eth: ionic: fix kernel panic due to multi-buffer handling

  Misc:

   - selftest: unix tests refactor and a lot of new cases added"

* tag 'net-6.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (61 commits)
  net: mana: Fix possible double free in error handling path
  selftest: af_unix: Check SIOCATMARK after every send()/recv() in msg_oob.c.
  af_unix: Fix wrong ioctl(SIOCATMARK) when consumed OOB skb is at the head.
  selftest: af_unix: Check EPOLLPRI after every send()/recv() in msg_oob.c
  selftest: af_unix: Check SIGURG after every send() in msg_oob.c
  selftest: af_unix: Add SO_OOBINLINE test cases in msg_oob.c
  af_unix: Don't stop recv() at consumed ex-OOB skb.
  selftest: af_unix: Add non-TCP-compliant test cases in msg_oob.c.
  af_unix: Don't stop recv(MSG_DONTWAIT) if consumed OOB skb is at the head.
  af_unix: Stop recv(MSG_PEEK) at consumed OOB skb.
  selftest: af_unix: Add msg_oob.c.
  selftest: af_unix: Remove test_unix_oob.c.
  tracing/net_sched: NULL pointer dereference in perf_trace_qdisc_reset()
  netfilter: nf_tables: fully validate NFT_DATA_VALUE on store to data registers
  net: usb: qmi_wwan: add Telit FN912 compositions
  tcp: fix tcp_rcv_fastopen_synack() to enter TCP_CA_Loss for failed TFO
  ionic: use dev_consume_skb_any outside of napi
  net: dsa: microchip: fix wrong register write when masking interrupt
  Fix race for duplicate reqsk on identical SYN
  ibmvnic: Add tx check to prevent skb leak
  ...
parents 3c1d29e5 b62cb6a7
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -128,7 +128,6 @@ required:
  - cell-index
  - reg
  - fsl,fman-ports
  - ptp-timer

dependencies:
  pcs-handle-names:
+5 −2
Original line number Diff line number Diff line
@@ -1603,7 +1603,7 @@ operations:
          attributes:
            - header
        reply:
          attributes: &pse
          attributes:
            - header
            - podl-pse-admin-state
            - podl-pse-admin-control
@@ -1620,7 +1620,10 @@ operations:

      do:
        request:
          attributes: *pse
          attributes:
            - header
            - podl-pse-admin-control
            - c33-pse-admin-control
    -
      name: rss-get
      doc: Get RSS params.
+2 −2
Original line number Diff line number Diff line
@@ -4083,12 +4083,13 @@ F: kernel/bpf/ringbuf.c
BPF [SECURITY & LSM] (Security Audit and Enforcement using BPF)
M:	KP Singh <kpsingh@kernel.org>
R:	Matt Bobrowski <mattbobrowski@google.com>
M:	Matt Bobrowski <mattbobrowski@google.com>
L:	bpf@vger.kernel.org
S:	Maintained
F:	Documentation/bpf/prog_lsm.rst
F:	include/linux/bpf_lsm.h
F:	kernel/bpf/bpf_lsm.c
F:	kernel/trace/bpf_trace.c
F:	security/bpf/
BPF [SELFTESTS] (Test Runners & Infrastructure)
@@ -17531,7 +17532,6 @@ F: include/linux/peci.h
PENSANDO ETHERNET DRIVERS
M:	Shannon Nelson <shannon.nelson@amd.com>
M:	Brett Creeley <brett.creeley@amd.com>
M:	drivers@pensando.io
L:	netdev@vger.kernel.org
S:	Supported
F:	Documentation/networking/device_drivers/ethernet/pensando/ionic.rst
+3 −0
Original line number Diff line number Diff line
@@ -5773,6 +5773,9 @@ static int bond_ethtool_get_ts_info(struct net_device *bond_dev,
	if (real_dev) {
		ret = ethtool_get_ts_info_by_layer(real_dev, info);
	} else {
		info->phc_index = -1;
		info->so_timestamping = SOF_TIMESTAMPING_RX_SOFTWARE |
					SOF_TIMESTAMPING_SOFTWARE;
		/* Check if all slaves support software tx timestamping */
		rcu_read_lock();
		bond_for_each_slave_rcu(bond, slave, iter) {
+13 −1
Original line number Diff line number Diff line
@@ -1618,11 +1618,20 @@ static int mcp251xfd_open(struct net_device *ndev)
	clear_bit(MCP251XFD_FLAGS_DOWN, priv->flags);
	can_rx_offload_enable(&priv->offload);

	priv->wq = alloc_ordered_workqueue("%s-mcp251xfd_wq",
					   WQ_FREEZABLE | WQ_MEM_RECLAIM,
					   dev_name(&spi->dev));
	if (!priv->wq) {
		err = -ENOMEM;
		goto out_can_rx_offload_disable;
	}
	INIT_WORK(&priv->tx_work, mcp251xfd_tx_obj_write_sync);

	err = request_threaded_irq(spi->irq, NULL, mcp251xfd_irq,
				   IRQF_SHARED | IRQF_ONESHOT,
				   dev_name(&spi->dev), priv);
	if (err)
		goto out_can_rx_offload_disable;
		goto out_destroy_workqueue;

	err = mcp251xfd_chip_interrupts_enable(priv);
	if (err)
@@ -1634,6 +1643,8 @@ static int mcp251xfd_open(struct net_device *ndev)

 out_free_irq:
	free_irq(spi->irq, priv);
 out_destroy_workqueue:
	destroy_workqueue(priv->wq);
 out_can_rx_offload_disable:
	can_rx_offload_disable(&priv->offload);
	set_bit(MCP251XFD_FLAGS_DOWN, priv->flags);
@@ -1661,6 +1672,7 @@ static int mcp251xfd_stop(struct net_device *ndev)
	hrtimer_cancel(&priv->tx_irq_timer);
	mcp251xfd_chip_interrupts_disable(priv);
	free_irq(ndev->irq, priv);
	destroy_workqueue(priv->wq);
	can_rx_offload_disable(&priv->offload);
	mcp251xfd_timestamp_stop(priv);
	mcp251xfd_chip_stop(priv, CAN_STATE_STOPPED);
Loading