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

  Fixes to fixes:

   - nf_tables:
       - GC transaction race with abort path
       - defer gc run if previous batch is still pending

  Previous releases - regressions:

   - ipv4: fix data-races around inet->inet_id

   - phy: fix deadlocking in phy_error() invocation

   - mdio: fix C45 read/write protocol

   - ipvlan: fix a reference count leak warning in ipvlan_ns_exit()

   - ice: fix NULL pointer deref during VF reset

   - i40e: fix potential NULL pointer dereferencing of pf->vf in
     i40e_sync_vsi_filters()

   - tg3: use slab_build_skb() when needed

   - mtk_eth_soc: fix NULL pointer on hw reset

  Previous releases - always broken:

   - core: validate veth and vxcan peer ifindexes

   - sched: fix a qdisc modification with ambiguous command request

   - devlink: add missing unregister linecard notification

   - wifi: mac80211: limit reorder_buf_filtered to avoid UBSAN warning

   - batman:
      - do not get eth header before batadv_check_management_packet
      - fix batadv_v_ogm_aggr_send memory leak

   - bonding: fix macvlan over alb bond support

   - mlxsw: set time stamp fields also when its type is MIRROR_UTC"

* tag 'net-6.5-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (54 commits)
  selftests: bonding: add macvlan over bond testing
  selftest: bond: add new topo bond_topo_2d1c.sh
  bonding: fix macvlan over alb bond support
  rtnetlink: Reject negative ifindexes in RTM_NEWLINK
  netfilter: nf_tables: defer gc run if previous batch is still pending
  netfilter: nf_tables: fix out of memory error handling
  netfilter: nf_tables: use correct lock to protect gc_list
  netfilter: nf_tables: GC transaction race with abort path
  netfilter: nf_tables: flush pending destroy work before netlink notifier
  netfilter: nf_tables: validate all pending tables
  ibmveth: Use dcbf rather than dcbfl
  i40e: fix potential NULL pointer dereferencing of pf->vf i40e_sync_vsi_filters()
  net/sched: fix a qdisc modification with ambiguous command request
  igc: Fix the typo in the PTM Control macro
  batman-adv: Hold rtnl lock during MTU update via netlink
  igb: Avoid starting unnecessary workqueues
  can: raw: add missing refcount for memory leak fix
  can: isotp: fix support for transmission of SF without flow control
  bnx2x: new flag for track HW resource allocation
  sfc: allocate a big enough SKB for loopback selftest packet
  ...
parents 93f5de5f 8938fc0c
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ Description:
		Specifies the duration of the LED blink in milliseconds.
		Defaults to 50 ms.

		With hw_control ON, the interval value MUST be set to the
		When offloaded is true, the interval value MUST be set to the
		default value and cannot be changed.
		Trying to set any value in this specific mode will return
		an EINVAL error.
@@ -44,8 +44,8 @@ Description:
		If set to 1, the LED will blink for the milliseconds specified
		in interval to signal transmission.

		With hw_control ON, the blink interval is controlled by hardware
		and won't reflect the value set in interval.
		When offloaded is true, the blink interval is controlled by
		hardware and won't reflect the value set in interval.

What:		/sys/class/leds/<led>/rx
Date:		Dec 2017
@@ -59,21 +59,21 @@ Description:
		If set to 1, the LED will blink for the milliseconds specified
		in interval to signal reception.

		With hw_control ON, the blink interval is controlled by hardware
		and won't reflect the value set in interval.
		When offloaded is true, the blink interval is controlled by
		hardware and won't reflect the value set in interval.

What:		/sys/class/leds/<led>/hw_control
What:		/sys/class/leds/<led>/offloaded
Date:		Jun 2023
KernelVersion:	6.5
Contact:	linux-leds@vger.kernel.org
Description:
		Communicate whether the LED trigger modes are driven by hardware
		or software fallback is used.
		Communicate whether the LED trigger modes are offloaded to
		hardware or whether software fallback is used.

		If 0, the LED is using software fallback to blink.

		If 1, the LED is using hardware control to blink and signal the
		requested modes.
		If 1, the LED blinking in requested mode is offloaded to
		hardware.

What:		/sys/class/leds/<led>/link_10
Date:		Jun 2023
+10 −0
Original line number Diff line number Diff line
@@ -14803,6 +14803,16 @@ F: net/netfilter/xt_CONNSECMARK.c
F:	net/netfilter/xt_SECMARK.c
F:	net/netlabel/
NETWORKING [MACSEC]
M:	Sabrina Dubroca <sd@queasysnail.net>
L:	netdev@vger.kernel.org
S:	Maintained
F:	drivers/net/macsec.c
F:	include/net/macsec.h
F:	include/uapi/linux/if_macsec.h
K:	macsec
K:	\bmdo_
NETWORKING [MPTCP]
M:	Matthieu Baerts <matthieu.baerts@tessares.net>
M:	Mat Martineau <martineau@kernel.org>
+4 −4
Original line number Diff line number Diff line
@@ -406,7 +406,7 @@ static ssize_t interval_store(struct device *dev,

static DEVICE_ATTR_RW(interval);

static ssize_t hw_control_show(struct device *dev,
static ssize_t offloaded_show(struct device *dev,
			      struct device_attribute *attr, char *buf)
{
	struct led_netdev_data *trigger_data = led_trigger_get_drvdata(dev);
@@ -414,7 +414,7 @@ static ssize_t hw_control_show(struct device *dev,
	return sprintf(buf, "%d\n", trigger_data->hw_control);
}

static DEVICE_ATTR_RO(hw_control);
static DEVICE_ATTR_RO(offloaded);

static struct attribute *netdev_trig_attrs[] = {
	&dev_attr_device_name.attr,
@@ -427,7 +427,7 @@ static struct attribute *netdev_trig_attrs[] = {
	&dev_attr_rx.attr,
	&dev_attr_tx.attr,
	&dev_attr_interval.attr,
	&dev_attr_hw_control.attr,
	&dev_attr_offloaded.attr,
	NULL
};
ATTRIBUTE_GROUPS(netdev_trig);
+3 −3
Original line number Diff line number Diff line
@@ -660,10 +660,10 @@ static struct slave *rlb_arp_xmit(struct sk_buff *skb, struct bonding *bond)
		return NULL;
	arp = (struct arp_pkt *)skb_network_header(skb);

	/* Don't modify or load balance ARPs that do not originate locally
	 * (e.g.,arrive via a bridge).
	/* Don't modify or load balance ARPs that do not originate
	 * from the bond itself or a VLAN directly above the bond.
	 */
	if (!bond_slave_has_mac_rx(bond, arp->mac_src))
	if (!bond_slave_has_mac_rcu(bond, arp->mac_src))
		return NULL;

	dev = ip_dev_find(dev_net(bond->dev), arp->ip_src);
+1 −6
Original line number Diff line number Diff line
@@ -192,12 +192,7 @@ static int vxcan_newlink(struct net *net, struct net_device *dev,

		nla_peer = data[VXCAN_INFO_PEER];
		ifmp = nla_data(nla_peer);
		err = rtnl_nla_parse_ifla(peer_tb,
					  nla_data(nla_peer) +
					  sizeof(struct ifinfomsg),
					  nla_len(nla_peer) -
					  sizeof(struct ifinfomsg),
					  NULL);
		err = rtnl_nla_parse_ifinfomsg(peer_tb, nla_peer, extack);
		if (err < 0)
			return err;

Loading