Archive-only list for patches
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Rongwei Liu <rongweil@nvidia.com>,
	Saeed Mahameed <saeedm@nvidia.com>,
	Mark Bloch <mbloch@nvidia.com>, Tariq Toukan <tariqt@nvidia.com>,
	Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.12 078/497] net/mlx5: LAG, Refactor lag logic
Date: Tue, 13 Oct 2026 13:34:05 +0200	[thread overview]
Message-ID: <20261013112909.738059436@linuxfoundation.org> (raw)
In-Reply-To: <20261013112907.864180619@linuxfoundation.org>

6.12-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Rongwei Liu <rongweil@nvidia.com>

[ Upstream commit ddbb5ddc43ad000a984149db5af1133433938404 ]

Wrap the lag pf access into two new macros:
1. ldev_for_each()
2. ldev_for_each_reverse()
The maximum number of lag ports and the index to `natvie_port_num`
mapping will be handled by the two new macros.
Users shouldn't use the for loop anymore.

Signed-off-by: Rongwei Liu <rongweil@nvidia.com>
Reviewed-by: Saeed Mahameed <saeedm@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20241219175841.1094544-2-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: 04c824940d52 ("net/mlx5: Fix slab-out-of-bounds when handling team device events")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 .../ethernet/mellanox/mlx5/core/lag/debugfs.c |  13 +-
 .../net/ethernet/mellanox/mlx5/core/lag/lag.c | 181 +++++++++---------
 .../net/ethernet/mellanox/mlx5/core/lag/lag.h |  14 +-
 .../net/ethernet/mellanox/mlx5/core/lag/mp.c  |  24 ++-
 .../ethernet/mellanox/mlx5/core/lag/mpesw.c   |  10 +-
 .../mellanox/mlx5/core/lag/port_sel.c         |  16 +-
 6 files changed, 137 insertions(+), 121 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/debugfs.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/debugfs.c
index 41ddca52e9547..b8d5f6a44d26a 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag/debugfs.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/debugfs.c
@@ -105,20 +105,20 @@ static int mapping_show(struct seq_file *file, void *priv)
 	struct mlx5_lag *ldev;
 	bool hash = false;
 	bool lag_active;
+	int i, idx = 0;
 	int num_ports;
-	int i;
 
 	ldev = mlx5_lag_dev(dev);
 	mutex_lock(&ldev->lock);
 	lag_active = __mlx5_lag_is_active(ldev);
 	if (lag_active) {
 		if (test_bit(MLX5_LAG_MODE_FLAG_HASH_BASED, &ldev->mode_flags)) {
-			mlx5_infer_tx_enabled(&ldev->tracker, ldev->ports, ports,
+			mlx5_infer_tx_enabled(&ldev->tracker, ldev, ports,
 					      &num_ports);
 			hash = true;
 		} else {
-			for (i = 0; i < ldev->ports; i++)
-				ports[i] = ldev->v2p_map[i];
+			mlx5_ldev_for_each(i, 0, ldev)
+				ports[idx++] = ldev->v2p_map[i];
 			num_ports = ldev->ports;
 		}
 	}
@@ -144,11 +144,8 @@ static int members_show(struct seq_file *file, void *priv)
 
 	ldev = mlx5_lag_dev(dev);
 	mutex_lock(&ldev->lock);
-	for (i = 0; i < ldev->ports; i++) {
-		if (!ldev->pf[i].dev)
-			continue;
+	mlx5_ldev_for_each(i, 0, ldev)
 		seq_printf(file, "%s\n", dev_name(ldev->pf[i].dev->device));
-	}
 	mutex_unlock(&ldev->lock);
 
 	return 0;
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
index 4b3da7ebd6310..8f6c8a60a1dd3 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
@@ -43,10 +43,6 @@
 #include "mp.h"
 #include "mpesw.h"
 
-enum {
-	MLX5_LAG_EGRESS_PORT_1 = 1,
-	MLX5_LAG_EGRESS_PORT_2,
-};
 
 /* General purpose, use for short periods of time.
  * Beware of lock dependencies (preferably, no locks should be acquired
@@ -72,7 +68,7 @@ static u8 lag_active_port_bits(struct mlx5_lag *ldev)
 	int num_enabled;
 	int idx;
 
-	mlx5_infer_tx_enabled(&ldev->tracker, ldev->ports, enabled_ports,
+	mlx5_infer_tx_enabled(&ldev->tracker, ldev, enabled_ports,
 			      &num_enabled);
 	for (idx = 0; idx < num_enabled; idx++)
 		active_port |= BIT_MASK(enabled_ports[idx]);
@@ -113,7 +109,7 @@ static int mlx5_cmd_create_lag(struct mlx5_core_dev *dev, u8 *ports, int mode,
 	return mlx5_cmd_exec_in(dev, create_lag, in);
 }
 
-static int mlx5_cmd_modify_lag(struct mlx5_core_dev *dev, u8 num_ports,
+static int mlx5_cmd_modify_lag(struct mlx5_core_dev *dev, struct mlx5_lag *ldev,
 			       u8 *ports)
 {
 	u32 in[MLX5_ST_SZ_DW(modify_lag_in)] = {};
@@ -148,33 +144,31 @@ int mlx5_cmd_destroy_vport_lag(struct mlx5_core_dev *dev)
 }
 EXPORT_SYMBOL(mlx5_cmd_destroy_vport_lag);
 
-static void mlx5_infer_tx_disabled(struct lag_tracker *tracker, u8 num_ports,
+static void mlx5_infer_tx_disabled(struct lag_tracker *tracker, struct mlx5_lag *ldev,
 				   u8 *ports, int *num_disabled)
 {
 	int i;
 
 	*num_disabled = 0;
-	for (i = 0; i < num_ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev)
 		if (!tracker->netdev_state[i].tx_enabled ||
 		    !tracker->netdev_state[i].link_up)
 			ports[(*num_disabled)++] = i;
-	}
 }
 
-void mlx5_infer_tx_enabled(struct lag_tracker *tracker, u8 num_ports,
+void mlx5_infer_tx_enabled(struct lag_tracker *tracker, struct mlx5_lag *ldev,
 			   u8 *ports, int *num_enabled)
 {
 	int i;
 
 	*num_enabled = 0;
-	for (i = 0; i < num_ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev)
 		if (tracker->netdev_state[i].tx_enabled &&
 		    tracker->netdev_state[i].link_up)
 			ports[(*num_enabled)++] = i;
-	}
 
 	if (*num_enabled == 0)
-		mlx5_infer_tx_disabled(tracker, num_ports, ports, num_enabled);
+		mlx5_infer_tx_disabled(tracker, ldev, ports, num_enabled);
 }
 
 static void mlx5_lag_print_mapping(struct mlx5_core_dev *dev,
@@ -192,7 +186,7 @@ static void mlx5_lag_print_mapping(struct mlx5_core_dev *dev,
 	int j;
 
 	if (test_bit(MLX5_LAG_MODE_FLAG_HASH_BASED, &flags)) {
-		mlx5_infer_tx_enabled(tracker, ldev->ports, enabled_ports,
+		mlx5_infer_tx_enabled(tracker, ldev, enabled_ports,
 				      &num_enabled);
 		for (i = 0; i < num_enabled; i++) {
 			err = scnprintf(buf + written, 4, "%d, ", enabled_ports[i] + 1);
@@ -203,7 +197,7 @@ static void mlx5_lag_print_mapping(struct mlx5_core_dev *dev,
 		buf[written - 2] = 0;
 		mlx5_core_info(dev, "lag map active ports: %s\n", buf);
 	} else {
-		for (i = 0; i < ldev->ports; i++) {
+		mlx5_ldev_for_each(i, 0, ldev) {
 			for (j  = 0; j < ldev->buckets; j++) {
 				idx = i * ldev->buckets + j;
 				err = scnprintf(buf + written, 10,
@@ -286,7 +280,7 @@ int mlx5_lag_dev_get_netdev_idx(struct mlx5_lag *ldev,
 {
 	int i;
 
-	for (i = 0; i < ldev->ports; i++)
+	mlx5_ldev_for_each(i, 0, ldev)
 		if (ldev->pf[i].netdev == ndev)
 			return i;
 
@@ -310,7 +304,7 @@ static bool __mlx5_lag_is_sriov(struct mlx5_lag *ldev)
  * with mapping that points to active ports.
  */
 static void mlx5_infer_tx_affinity_mapping(struct lag_tracker *tracker,
-					   u8 num_ports,
+					   struct mlx5_lag *ldev,
 					   u8 buckets,
 					   u8 *ports)
 {
@@ -323,7 +317,7 @@ static void mlx5_infer_tx_affinity_mapping(struct lag_tracker *tracker,
 	int i;
 	int j;
 
-	for (i = 0; i < num_ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev) {
 		if (tracker->netdev_state[i].tx_enabled &&
 		    tracker->netdev_state[i].link_up)
 			enabled[enabled_ports_num++] = i;
@@ -334,15 +328,16 @@ static void mlx5_infer_tx_affinity_mapping(struct lag_tracker *tracker,
 	/* Use native mapping by default where each port's buckets
 	 * point the native port: 1 1 1 .. 1 2 2 2 ... 2 3 3 3 ... 3 etc
 	 */
-	for (i = 0; i < num_ports; i++)
+	mlx5_ldev_for_each(i, 0, ldev) {
 		for (j = 0; j < buckets; j++) {
 			idx = i * buckets + j;
-			ports[idx] = MLX5_LAG_EGRESS_PORT_1 + i;
+			ports[idx] = i + 1;
 		}
+	}
 
 	/* If all ports are disabled/enabled keep native mapping */
-	if (enabled_ports_num == num_ports ||
-	    disabled_ports_num == num_ports)
+	if (enabled_ports_num == ldev->ports ||
+	    disabled_ports_num == ldev->ports)
 		return;
 
 	/* Go over the disabled ports and for each assign a random active port */
@@ -358,7 +353,7 @@ static bool mlx5_lag_has_drop_rule(struct mlx5_lag *ldev)
 {
 	int i;
 
-	for (i = 0; i < ldev->ports; i++)
+	mlx5_ldev_for_each(i, 0, ldev)
 		if (ldev->pf[i].has_drop)
 			return true;
 	return false;
@@ -368,7 +363,7 @@ static void mlx5_lag_drop_rule_cleanup(struct mlx5_lag *ldev)
 {
 	int i;
 
-	for (i = 0; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev) {
 		if (!ldev->pf[i].has_drop)
 			continue;
 
@@ -396,7 +391,7 @@ static void mlx5_lag_drop_rule_setup(struct mlx5_lag *ldev,
 	if (!ldev->tracker.has_inactive)
 		return;
 
-	mlx5_infer_tx_disabled(tracker, ldev->ports, disabled_ports, &num_disabled);
+	mlx5_infer_tx_disabled(tracker, ldev, disabled_ports, &num_disabled);
 
 	for (i = 0; i < num_disabled; i++) {
 		disabled_index = disabled_ports[i];
@@ -442,7 +437,7 @@ static int _mlx5_modify_lag(struct mlx5_lag *ldev, u8 *ports)
 
 		return mlx5_cmd_modify_active_port(dev0, active_ports);
 	}
-	return mlx5_cmd_modify_lag(dev0, ldev->ports, ports);
+	return mlx5_cmd_modify_lag(dev0, ldev, ports);
 }
 
 static struct net_device *mlx5_lag_active_backup_get_netdev(struct mlx5_core_dev *dev)
@@ -458,7 +453,7 @@ static struct net_device *mlx5_lag_active_backup_get_netdev(struct mlx5_core_dev
 	if (!ldev)
 		goto unlock;
 
-	for (i = 0; i < ldev->ports; i++)
+	mlx5_ldev_for_each(i, 0, ldev)
 		if (ldev->tracker.netdev_state[i].tx_enabled)
 			ndev = ldev->pf[i].netdev;
 	if (!ndev)
@@ -483,9 +478,9 @@ void mlx5_modify_lag(struct mlx5_lag *ldev,
 	int i;
 	int j;
 
-	mlx5_infer_tx_affinity_mapping(tracker, ldev->ports, ldev->buckets, ports);
+	mlx5_infer_tx_affinity_mapping(tracker, ldev, ldev->buckets, ports);
 
-	for (i = 0; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev) {
 		for (j = 0; j < ldev->buckets; j++) {
 			idx = i * ldev->buckets + j;
 			if (ports[idx] == ldev->v2p_map[idx])
@@ -596,9 +591,9 @@ static int mlx5_lag_create_single_fdb(struct mlx5_lag *ldev)
 	struct mlx5_core_dev *dev0 = ldev->pf[MLX5_LAG_P1].dev;
 	struct mlx5_eswitch *master_esw = dev0->priv.eswitch;
 	int err;
-	int i;
+	int i, j;
 
-	for (i = MLX5_LAG_P1 + 1; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, 1, ldev) {
 		struct mlx5_eswitch *slave_esw = ldev->pf[i].dev->priv.eswitch;
 
 		err = mlx5_eswitch_offloads_single_fdb_add_one(master_esw,
@@ -608,9 +603,9 @@ static int mlx5_lag_create_single_fdb(struct mlx5_lag *ldev)
 	}
 	return 0;
 err:
-	for (; i > MLX5_LAG_P1; i--)
+	mlx5_ldev_for_each_reverse(j, i, 1, ldev)
 		mlx5_eswitch_offloads_single_fdb_del_one(master_esw,
-							 ldev->pf[i].dev->priv.eswitch);
+							 ldev->pf[j].dev->priv.eswitch);
 	return err;
 }
 
@@ -671,7 +666,7 @@ int mlx5_activate_lag(struct mlx5_lag *ldev,
 		return err;
 
 	if (mode != MLX5_LAG_MODE_MPESW) {
-		mlx5_infer_tx_affinity_mapping(tracker, ldev->ports, ldev->buckets, ldev->v2p_map);
+		mlx5_infer_tx_affinity_mapping(tracker, ldev, ldev->buckets, ldev->v2p_map);
 		if (test_bit(MLX5_LAG_MODE_FLAG_HASH_BASED, &flags)) {
 			err = mlx5_lag_port_sel_create(ldev, tracker->hash_type,
 						       ldev->v2p_map);
@@ -722,7 +717,7 @@ int mlx5_deactivate_lag(struct mlx5_lag *ldev)
 	mlx5_lag_mp_reset(ldev);
 
 	if (test_bit(MLX5_LAG_MODE_FLAG_SHARED_FDB, &flags)) {
-		for (i = MLX5_LAG_P1 + 1; i < ldev->ports; i++)
+		mlx5_ldev_for_each(i, 1, ldev)
 			mlx5_eswitch_offloads_single_fdb_del_one(master_esw,
 								 ldev->pf[i].dev->priv.eswitch);
 		clear_bit(MLX5_LAG_MODE_FLAG_SHARED_FDB, &flags);
@@ -766,7 +761,7 @@ bool mlx5_lag_check_prereq(struct mlx5_lag *ldev)
 			return false;
 
 #ifdef CONFIG_MLX5_ESWITCH
-	for (i = 0; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev) {
 		dev = ldev->pf[i].dev;
 		if (mlx5_eswitch_num_vfs(dev->priv.eswitch) && !is_mdev_switchdev_mode(dev))
 			return false;
@@ -774,17 +769,17 @@ bool mlx5_lag_check_prereq(struct mlx5_lag *ldev)
 
 	dev = ldev->pf[MLX5_LAG_P1].dev;
 	mode = mlx5_eswitch_mode(dev);
-	for (i = 0; i < ldev->ports; i++)
+	mlx5_ldev_for_each(i, 0, ldev)
 		if (mlx5_eswitch_mode(ldev->pf[i].dev) != mode)
 			return false;
 
 #else
-	for (i = 0; i < ldev->ports; i++)
+	mlx5_ldev_for_each(i, 0, ldev)
 		if (mlx5_sriov_is_enabled(ldev->pf[i].dev))
 			return false;
 #endif
 	roce_support = mlx5_get_roce_state(ldev->pf[MLX5_LAG_P1].dev);
-	for (i = 1; i < ldev->ports; i++)
+	mlx5_ldev_for_each(i, MLX5_LAG_P2, ldev)
 		if (mlx5_get_roce_state(ldev->pf[i].dev) != roce_support)
 			return false;
 
@@ -795,10 +790,7 @@ void mlx5_lag_add_devices(struct mlx5_lag *ldev)
 {
 	int i;
 
-	for (i = 0; i < ldev->ports; i++) {
-		if (!ldev->pf[i].dev)
-			continue;
-
+	mlx5_ldev_for_each(i, 0, ldev) {
 		if (ldev->pf[i].dev->priv.flags &
 		    MLX5_PRIV_FLAGS_DISABLE_ALL_ADEV)
 			continue;
@@ -812,10 +804,7 @@ void mlx5_lag_remove_devices(struct mlx5_lag *ldev)
 {
 	int i;
 
-	for (i = 0; i < ldev->ports; i++) {
-		if (!ldev->pf[i].dev)
-			continue;
-
+	mlx5_ldev_for_each(i, 0, ldev) {
 		if (ldev->pf[i].dev->priv.flags &
 		    MLX5_PRIV_FLAGS_DISABLE_ALL_ADEV)
 			continue;
@@ -842,7 +831,7 @@ void mlx5_disable_lag(struct mlx5_lag *ldev)
 			dev0->priv.flags |= MLX5_PRIV_FLAGS_DISABLE_IB_ADEV;
 			mlx5_rescan_drivers_locked(dev0);
 		}
-		for (i = 1; i < ldev->ports; i++)
+		mlx5_ldev_for_each(i, MLX5_LAG_P2, ldev)
 			mlx5_nic_vport_disable_roce(ldev->pf[i].dev);
 	}
 
@@ -854,7 +843,7 @@ void mlx5_disable_lag(struct mlx5_lag *ldev)
 		mlx5_lag_add_devices(ldev);
 
 	if (shared_fdb)
-		for (i = 0; i < ldev->ports; i++)
+		mlx5_ldev_for_each(i, 0, ldev)
 			if (!(ldev->pf[i].dev->priv.flags & MLX5_PRIV_FLAGS_DISABLE_ALL_ADEV))
 				mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch);
 }
@@ -864,7 +853,7 @@ bool mlx5_lag_shared_fdb_supported(struct mlx5_lag *ldev)
 	struct mlx5_core_dev *dev;
 	int i;
 
-	for (i = MLX5_LAG_P1 + 1; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, MLX5_LAG_P1 + 1, ldev) {
 		dev = ldev->pf[i].dev;
 		if (is_mdev_switchdev_mode(dev) &&
 		    mlx5_eswitch_vport_match_metadata_enabled(dev->priv.eswitch) &&
@@ -892,11 +881,11 @@ static bool mlx5_lag_is_roce_lag(struct mlx5_lag *ldev)
 	bool roce_lag = true;
 	int i;
 
-	for (i = 0; i < ldev->ports; i++)
+	mlx5_ldev_for_each(i, 0, ldev)
 		roce_lag = roce_lag && !mlx5_sriov_is_enabled(ldev->pf[i].dev);
 
 #ifdef CONFIG_MLX5_ESWITCH
-	for (i = 0; i < ldev->ports; i++)
+	mlx5_ldev_for_each(i, 0, ldev)
 		roce_lag = roce_lag && is_mdev_legacy_mode(ldev->pf[i].dev);
 #endif
 
@@ -956,7 +945,7 @@ static void mlx5_do_bond(struct mlx5_lag *ldev)
 		} else if (roce_lag) {
 			dev0->priv.flags &= ~MLX5_PRIV_FLAGS_DISABLE_IB_ADEV;
 			mlx5_rescan_drivers_locked(dev0);
-			for (i = 1; i < ldev->ports; i++) {
+			mlx5_ldev_for_each(i, MLX5_LAG_P2, ldev) {
 				if (mlx5_get_roce_state(ldev->pf[i].dev))
 					mlx5_nic_vport_enable_roce(ldev->pf[i].dev);
 			}
@@ -966,7 +955,7 @@ static void mlx5_do_bond(struct mlx5_lag *ldev)
 			dev0->priv.flags &= ~MLX5_PRIV_FLAGS_DISABLE_IB_ADEV;
 			mlx5_rescan_drivers_locked(dev0);
 
-			for (i = 0; i < ldev->ports; i++) {
+			mlx5_ldev_for_each(i, 0, ldev) {
 				err = mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch);
 				if (err)
 					break;
@@ -977,7 +966,7 @@ static void mlx5_do_bond(struct mlx5_lag *ldev)
 				mlx5_rescan_drivers_locked(dev0);
 				mlx5_deactivate_lag(ldev);
 				mlx5_lag_add_devices(ldev);
-				for (i = 0; i < ldev->ports; i++)
+				mlx5_ldev_for_each(i, 0, ldev)
 					mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch);
 				mlx5_core_err(dev0, "Failed to enable lag\n");
 				return;
@@ -1010,12 +999,9 @@ struct mlx5_devcom_comp_dev *mlx5_lag_get_devcom_comp(struct mlx5_lag *ldev)
 	int i;
 
 	mutex_lock(&ldev->lock);
-	for (i = 0; i < ldev->ports; i++) {
-		if (ldev->pf[i].dev) {
-			devcom = ldev->pf[i].dev->priv.hca_devcom_comp;
-			break;
-		}
-	}
+	i = mlx5_get_next_ldev_func(ldev, 0);
+	if (i < MLX5_MAX_PORTS)
+		devcom = ldev->pf[i].dev->priv.hca_devcom_comp;
 	mutex_unlock(&ldev->lock);
 	return devcom;
 }
@@ -1068,7 +1054,7 @@ static int mlx5_handle_changeupper_event(struct mlx5_lag *ldev,
 	u8 bond_status = 0;
 	int num_slaves = 0;
 	int changed = 0;
-	int idx;
+	int i, idx = -1;
 
 	if (!netif_is_lag_master(upper))
 		return 0;
@@ -1083,8 +1069,13 @@ static int mlx5_handle_changeupper_event(struct mlx5_lag *ldev,
 	 */
 	rcu_read_lock();
 	for_each_netdev_in_bond_rcu(upper, ndev_tmp) {
-		idx = mlx5_lag_dev_get_netdev_idx(ldev, ndev_tmp);
-		if (idx >= 0) {
+		mlx5_ldev_for_each(i, 0, ldev) {
+			if (ldev->pf[i].netdev == ndev_tmp) {
+				idx++;
+				break;
+			}
+		}
+		if (i < MLX5_MAX_PORTS) {
 			slave = bond_slave_get_rcu(ndev_tmp);
 			if (slave)
 				has_inactive |= bond_is_slave_inactive(slave);
@@ -1234,15 +1225,12 @@ static int mlx5_lag_netdev_event(struct notifier_block *this,
 }
 
 static void mlx5_ldev_add_netdev(struct mlx5_lag *ldev,
-				 struct mlx5_core_dev *dev,
-				 struct net_device *netdev)
+				struct mlx5_core_dev *dev,
+				struct net_device *netdev)
 {
 	unsigned int fn = mlx5_get_dev_index(dev);
 	unsigned long flags;
 
-	if (fn >= ldev->ports)
-		return;
-
 	spin_lock_irqsave(&lag_lock, flags);
 	ldev->pf[fn].netdev = netdev;
 	ldev->tracker.netdev_state[fn].link_up = 0;
@@ -1257,7 +1245,7 @@ static void mlx5_ldev_remove_netdev(struct mlx5_lag *ldev,
 	int i;
 
 	spin_lock_irqsave(&lag_lock, flags);
-	for (i = 0; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev) {
 		if (ldev->pf[i].netdev == netdev) {
 			ldev->pf[i].netdev = NULL;
 			break;
@@ -1267,13 +1255,10 @@ static void mlx5_ldev_remove_netdev(struct mlx5_lag *ldev,
 }
 
 static void mlx5_ldev_add_mdev(struct mlx5_lag *ldev,
-			       struct mlx5_core_dev *dev)
+			      struct mlx5_core_dev *dev)
 {
 	unsigned int fn = mlx5_get_dev_index(dev);
 
-	if (fn >= ldev->ports)
-		return;
-
 	ldev->pf[fn].dev = dev;
 	dev->priv.lag = ldev;
 }
@@ -1281,16 +1266,13 @@ static void mlx5_ldev_add_mdev(struct mlx5_lag *ldev,
 static void mlx5_ldev_remove_mdev(struct mlx5_lag *ldev,
 				  struct mlx5_core_dev *dev)
 {
-	int i;
+	int fn;
 
-	for (i = 0; i < ldev->ports; i++)
-		if (ldev->pf[i].dev == dev)
-			break;
-
-	if (i == ldev->ports)
+	fn = mlx5_get_dev_index(dev);
+	if (ldev->pf[fn].dev != dev)
 		return;
 
-	ldev->pf[i].dev = NULL;
+	ldev->pf[fn].dev = NULL;
 	dev->priv.lag = NULL;
 }
 
@@ -1406,7 +1388,6 @@ void mlx5_lag_add_netdev(struct mlx5_core_dev *dev,
 
 	mutex_lock(&ldev->lock);
 	mlx5_ldev_add_netdev(ldev, dev, netdev);
-
 	for (i = 0; i < ldev->ports; i++)
 		if (!ldev->pf[i].netdev)
 			break;
@@ -1417,6 +1398,26 @@ void mlx5_lag_add_netdev(struct mlx5_core_dev *dev,
 	mlx5_queue_bond_work(ldev, 0);
 }
 
+int mlx5_get_pre_ldev_func(struct mlx5_lag *ldev, int start_idx, int end_idx)
+{
+	int i;
+
+	for (i = start_idx; i >= end_idx; i--)
+		if (ldev->pf[i].dev)
+			return i;
+	return -1;
+}
+
+int mlx5_get_next_ldev_func(struct mlx5_lag *ldev, int start_idx)
+{
+	int i;
+
+	for (i = start_idx; i < MLX5_MAX_PORTS; i++)
+		if (ldev->pf[i].dev)
+			return i;
+	return MLX5_MAX_PORTS;
+}
+
 bool mlx5_lag_is_roce(struct mlx5_core_dev *dev)
 {
 	struct mlx5_lag *ldev;
@@ -1467,7 +1468,7 @@ bool mlx5_lag_is_master(struct mlx5_core_dev *dev)
 {
 	struct mlx5_lag *ldev;
 	unsigned long flags;
-	bool res;
+	bool res = false;
 
 	spin_lock_irqsave(&lag_lock, flags);
 	ldev = mlx5_lag_dev(dev);
@@ -1555,7 +1556,7 @@ u8 mlx5_lag_get_slave_port(struct mlx5_core_dev *dev,
 	if (!(ldev && __mlx5_lag_is_roce(ldev)))
 		goto unlock;
 
-	for (i = 0; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev) {
 		if (ldev->pf[i].netdev == slave) {
 			port = i;
 			break;
@@ -1594,13 +1595,13 @@ struct mlx5_core_dev *mlx5_lag_get_next_peer_mdev(struct mlx5_core_dev *dev, int
 	if (!ldev)
 		goto unlock;
 
-	if (*i == ldev->ports)
+	if (*i == MLX5_MAX_PORTS)
 		goto unlock;
-	for (idx = *i; idx < ldev->ports; idx++)
+	mlx5_ldev_for_each(idx, *i, ldev)
 		if (ldev->pf[idx].dev != dev)
 			break;
 
-	if (idx == ldev->ports) {
+	if (idx == MLX5_MAX_PORTS) {
 		*i = idx;
 		goto unlock;
 	}
@@ -1621,10 +1622,10 @@ int mlx5_lag_query_cong_counters(struct mlx5_core_dev *dev,
 {
 	int outlen = MLX5_ST_SZ_BYTES(query_cong_statistics_out);
 	struct mlx5_core_dev **mdev;
+	int ret = 0, i, j, idx = 0;
 	struct mlx5_lag *ldev;
 	unsigned long flags;
 	int num_ports;
-	int ret, i, j;
 	void *out;
 
 	out = kvzalloc(outlen, GFP_KERNEL);
@@ -1643,8 +1644,8 @@ int mlx5_lag_query_cong_counters(struct mlx5_core_dev *dev,
 	ldev = mlx5_lag_dev(dev);
 	if (ldev && __mlx5_lag_is_active(ldev)) {
 		num_ports = ldev->ports;
-		for (i = 0; i < ldev->ports; i++)
-			mdev[i] = ldev->pf[i].dev;
+		mlx5_ldev_for_each(i, 0, ldev)
+			mdev[idx++] = ldev->pf[i].dev;
 	} else {
 		num_ports = 1;
 		mdev[MLX5_LAG_P1] = dev;
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h
index 48a5f3e7b91a8..99232bca610c7 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h
@@ -104,7 +104,7 @@ int mlx5_lag_dev_get_netdev_idx(struct mlx5_lag *ldev,
 				struct net_device *ndev);
 
 char *mlx5_get_str_port_sel_mode(enum mlx5_lag_mode mode, unsigned long flags);
-void mlx5_infer_tx_enabled(struct lag_tracker *tracker, u8 num_ports,
+void mlx5_infer_tx_enabled(struct lag_tracker *tracker, struct mlx5_lag *ldev,
 			   u8 *ports, int *num_enabled);
 
 void mlx5_ldev_add_debugfs(struct mlx5_core_dev *dev);
@@ -120,9 +120,21 @@ static inline bool mlx5_lag_is_supported(struct mlx5_core_dev *dev)
 	if (!MLX5_CAP_GEN(dev, vport_group_manager) ||
 	    !MLX5_CAP_GEN(dev, lag_master) ||
 	    MLX5_CAP_GEN(dev, num_lag_ports) < 2 ||
+	    mlx5_get_dev_index(dev) >= MLX5_MAX_PORTS ||
 	    MLX5_CAP_GEN(dev, num_lag_ports) > MLX5_MAX_PORTS)
 		return false;
 	return true;
 }
 
+#define mlx5_ldev_for_each(i, start_index, ldev) \
+	for (int tmp = start_index; tmp = mlx5_get_next_ldev_func(ldev, tmp), \
+	     i = tmp, tmp < MLX5_MAX_PORTS; tmp++)
+
+#define mlx5_ldev_for_each_reverse(i, start_index, end_index, ldev)      \
+	for (int tmp = start_index, tmp1 = end_index; \
+	     tmp = mlx5_get_pre_ldev_func(ldev, tmp, tmp1), \
+	     i = tmp, tmp >= tmp1; tmp--)
+
+int mlx5_get_pre_ldev_func(struct mlx5_lag *ldev, int start_idx, int end_idx);
+int mlx5_get_next_ldev_func(struct mlx5_lag *ldev, int start_idx);
 #endif /* __MLX5_LAG_H__ */
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c
index b1aa494c76ba8..40406d04adc98 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c
@@ -153,6 +153,7 @@ static void mlx5_lag_fib_route_event(struct mlx5_lag *ldev, unsigned long event,
 	struct net_device *nh_dev0, *nh_dev1;
 	struct fib_info *fi = fen_info->fi;
 	struct lag_mp *mp = &ldev->lag_mp;
+	int i, dev_idx = 0;
 
 	/* Handle delete event */
 	if (event == FIB_EVENT_ENTRY_DEL) {
@@ -186,10 +187,12 @@ static void mlx5_lag_fib_route_event(struct mlx5_lag *ldev, unsigned long event,
 
 	if (!nh_dev1) {
 		if (__mlx5_lag_is_active(ldev)) {
-			int i = mlx5_lag_dev_get_netdev_idx(ldev, nh_dev0);
-
-			i++;
-			mlx5_lag_set_port_affinity(ldev, i);
+			mlx5_ldev_for_each(i, 0, ldev) {
+				dev_idx++;
+				if (ldev->pf[i].netdev == nh_dev0)
+					break;
+			}
+			mlx5_lag_set_port_affinity(ldev, dev_idx);
 			mlx5_lag_fib_set(mp, fi, fen_info->dst, fen_info->dst_len);
 		}
 
@@ -214,6 +217,7 @@ static void mlx5_lag_fib_nexthop_event(struct mlx5_lag *ldev,
 				       struct fib_info *fi)
 {
 	struct lag_mp *mp = &ldev->lag_mp;
+	int i, dev_idx = 0;
 
 	/* Check the nh event is related to the route */
 	if (!mp->fib.mfi || mp->fib.mfi != fi)
@@ -221,11 +225,15 @@ static void mlx5_lag_fib_nexthop_event(struct mlx5_lag *ldev,
 
 	/* nh added/removed */
 	if (event == FIB_EVENT_NH_DEL) {
-		int i = mlx5_lag_dev_get_netdev_idx(ldev, fib_nh->fib_nh_dev);
+		mlx5_ldev_for_each(i, 0, ldev) {
+			if (ldev->pf[i].netdev == fib_nh->fib_nh_dev)
+				break;
+			dev_idx++;
+		}
 
-		if (i >= 0) {
-			i = (i + 1) % 2 + 1; /* peer port */
-			mlx5_lag_set_port_affinity(ldev, i);
+		if (dev_idx >= 0) {
+			dev_idx = (dev_idx + 1) % 2 + 1; /* peer port */
+			mlx5_lag_set_port_affinity(ldev, dev_idx);
 		}
 	} else if (event == FIB_EVENT_NH_ADD &&
 		   fib_info_num_path(fi) == 2) {
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c
index c433d29a62f25..b0a60d2433e50 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c
@@ -15,7 +15,7 @@ static void mlx5_mpesw_metadata_cleanup(struct mlx5_lag *ldev)
 	u32 pf_metadata;
 	int i;
 
-	for (i = 0; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev) {
 		dev = ldev->pf[i].dev;
 		esw = dev->priv.eswitch;
 		pf_metadata = ldev->lag_mpesw.pf_metadata[i];
@@ -36,7 +36,7 @@ static int mlx5_mpesw_metadata_set(struct mlx5_lag *ldev)
 	u32 pf_metadata;
 	int i, err;
 
-	for (i = 0; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev) {
 		dev = ldev->pf[i].dev;
 		esw = dev->priv.eswitch;
 		pf_metadata = mlx5_esw_match_metadata_alloc(esw);
@@ -52,7 +52,7 @@ static int mlx5_mpesw_metadata_set(struct mlx5_lag *ldev)
 			goto err_metadata;
 	}
 
-	for (i = 0; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev) {
 		dev = ldev->pf[i].dev;
 		mlx5_notifier_call_chain(dev->priv.events, MLX5_DEV_EVENT_MULTIPORT_ESW,
 					 (void *)0);
@@ -99,7 +99,7 @@ static int enable_mpesw(struct mlx5_lag *ldev)
 
 	dev0->priv.flags &= ~MLX5_PRIV_FLAGS_DISABLE_IB_ADEV;
 	mlx5_rescan_drivers_locked(dev0);
-	for (i = 0; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev) {
 		err = mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch);
 		if (err)
 			goto err_rescan_drivers;
@@ -113,7 +113,7 @@ static int enable_mpesw(struct mlx5_lag *ldev)
 	mlx5_deactivate_lag(ldev);
 err_add_devices:
 	mlx5_lag_add_devices(ldev);
-	for (i = 0; i < ldev->ports; i++)
+	mlx5_ldev_for_each(i, 0, ldev)
 		mlx5_eswitch_reload_ib_reps(ldev->pf[i].dev->priv.eswitch);
 	mlx5_mpesw_metadata_cleanup(ldev);
 	return err;
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/port_sel.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/port_sel.c
index 39e80704b1c42..ba8c2bddde484 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag/port_sel.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/port_sel.c
@@ -44,9 +44,7 @@ static int mlx5_lag_create_port_sel_table(struct mlx5_lag *ldev,
 	struct mlx5_flow_destination dest = {};
 	MLX5_DECLARE_FLOW_ACT(flow_act);
 	struct mlx5_flow_namespace *ns;
-	int err, i;
-	int idx;
-	int j;
+	int err, i, j, k, idx;
 
 	ft_attr.max_fte = ldev->ports * ldev->buckets;
 	ft_attr.level = MLX5_LAG_FT_LEVEL_DEFINER;
@@ -74,7 +72,7 @@ static int mlx5_lag_create_port_sel_table(struct mlx5_lag *ldev,
 	dest.type = MLX5_FLOW_DESTINATION_TYPE_UPLINK;
 	dest.vport.flags |= MLX5_FLOW_DEST_VPORT_VHCA_ID;
 	flow_act.flags |= FLOW_ACT_NO_APPEND;
-	for (i = 0; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev) {
 		for (j = 0; j < ldev->buckets; j++) {
 			u8 affinity;
 
@@ -88,13 +86,13 @@ static int mlx5_lag_create_port_sel_table(struct mlx5_lag *ldev,
 								      &dest, 1);
 			if (IS_ERR(lag_definer->rules[idx])) {
 				err = PTR_ERR(lag_definer->rules[idx]);
-				do {
+				mlx5_ldev_for_each_reverse(k, i, 0, ldev) {
 					while (j--) {
-						idx = i * ldev->buckets + j;
+						idx = k * ldev->buckets + j;
 						mlx5_del_flow_rules(lag_definer->rules[idx]);
 					}
 					j = ldev->buckets;
-				} while (i--);
+				};
 				goto destroy_fg;
 			}
 		}
@@ -346,7 +344,7 @@ static void mlx5_lag_destroy_definer(struct mlx5_lag *ldev,
 	int i;
 	int j;
 
-	for (i = 0; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev) {
 		for (j = 0; j < ldev->buckets; j++) {
 			idx = i * ldev->buckets + j;
 			mlx5_del_flow_rules(lag_definer->rules[idx]);
@@ -567,7 +565,7 @@ static int __mlx5_lag_modify_definers_destinations(struct mlx5_lag *ldev,
 	dest.type = MLX5_FLOW_DESTINATION_TYPE_UPLINK;
 	dest.vport.flags |= MLX5_FLOW_DEST_VPORT_VHCA_ID;
 
-	for (i = 0; i < ldev->ports; i++) {
+	mlx5_ldev_for_each(i, 0, ldev) {
 		for (j = 0; j < ldev->buckets; j++) {
 			idx = i * ldev->buckets + j;
 			if (ldev->v2p_map[idx] == ports[idx])
-- 
2.53.0




  parent reply	other threads:[~2026-10-13 12:34 UTC|newest]

Thread overview: 503+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-13 11:32 [PATCH 6.12 000/497] 6.12.113-rc1 review Greg Kroah-Hartman
2026-10-13 11:32 ` [PATCH 6.12 001/497] smb: client: fix OOB read/write from unvalidated DataOffset in coalesce_t2() Greg Kroah-Hartman
2026-10-13 11:32 ` [PATCH 6.12 002/497] smb: client: fix cifsFileInfo reference leak in deferred close Greg Kroah-Hartman
2026-10-13 11:32 ` [PATCH 6.12 003/497] KVM: arm64: nv: Fix life cycle of the nested_mmus array Greg Kroah-Hartman
2026-10-13 11:32 ` [PATCH 6.12 004/497] KVM: arm64: nv: Delay freeing of shadow S2 structures until VM destruction Greg Kroah-Hartman
2026-10-13 11:32 ` [PATCH 6.12 005/497] selftests/mm: hugetlb-mremap: add setup of HugeTLB pages Greg Kroah-Hartman
2026-10-13 11:32 ` [PATCH 6.12 006/497] smb: client: use finish_no_open() for non-regular inodes Greg Kroah-Hartman
2026-10-13 11:32 ` [PATCH 6.12 007/497] xfs: dont let memory failures leak blocks and kill repairs Greg Kroah-Hartman
2026-10-13 11:32 ` [PATCH 6.12 008/497] RISC-V: KVM: Fix null pointer dereference in kvm_riscv_aia_imsic_has_attr() Greg Kroah-Hartman
2026-10-13 11:32 ` [PATCH 6.12 009/497] bpf, xdp: move offload check into dev_xdp_install() Greg Kroah-Hartman
2026-10-13 11:32 ` [PATCH 6.12 010/497] ASoC: sdw_utils: Set snd_soc_dai_link_ch_map.codec_ch_mask for capture Greg Kroah-Hartman
2026-10-13 11:32 ` [PATCH 6.12 011/497] Bluetooth: btusb: Add IMC Networks QCA9377 to quirks table Greg Kroah-Hartman
2026-10-13 11:32 ` [PATCH 6.12 012/497] ASoC: SOF: ipc4-priv: Add kernel doc for fw_context_save of sof_ipc4_fw_data Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 013/497] ASoC: SOF: ipc4/Intel: Add support for library restore firmware functionality Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 014/497] smb/client: use stack-allocated smb2_file_all_info in smb3_query_mf_symlink() Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 015/497] smb/client: pass cifs_open_info_data to SMB2_open() Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 016/497] smb: client: close handle after create-context parsing failure Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 017/497] Bluetooth: ISO: Fix data-race on iso_pi(sk) in socket and HCI event paths Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 018/497] Bluetooth: ISO: release unused CIS holds after channel attach Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 019/497] smb: client: close completed creates on compound wait errors Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 020/497] xfs: fix cursor and pointer handling when recovering iunlink buckets Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 021/497] neighbour: Skip default parms when resumed in neightbl_dump_info() Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 022/497] ALSA: usb-audio: Apply IGNORE_CTL_ERROR quirk to all Audient devices Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 023/497] audit: fix exe mark UAF in kill_rules() Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 024/497] HID: bpf: cast size to ssize_t when checking hid_bpf_hw_request Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 025/497] kprobes: Skip disarmed probes when checking optkprobe overlap Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 026/497] of/irq: Fix remaining refcount leaks in of_irq_init() Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 027/497] of/overlay: put property on deadprops only after changeset add succeeds Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 028/497] of/overlay: only treat a positive changeset id as registered Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 029/497] net: fix checksum offsets in skb_splice_from_iter() Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 030/497] netfilter: nft_flow_offload: drop flowtable reference on init error path Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 031/497] net/packet: prevent TX_RING byte count overflow Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 032/497] rtc: ac100: Assign .num before accessing .hws Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 033/497] rtc: spear: initialize IRQ state before requesting alarm IRQ Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 034/497] sctp: check RCV_SHUTDOWN after the sendmsg connect wait Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 035/497] tpm: Disable TPM on null key name mismatch Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 036/497] virt: vmgenid: set driver_data before registering notification handlers Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 037/497] smb: client: clear setuid/setgid bit on write with cifsacl/modefromsid/posix extensions Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 038/497] rds_tcp: close NULL deref window in rds_tcp_set_callbacks Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 039/497] vt: skip screen update for DEC alignment test on backgroup consoles Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 040/497] wifi: wlcore: Fix runtime PM leak in wlcore_remove() Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 041/497] ALSA: caiaq: unregister the input device when probe fails Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 042/497] ALSA: line6: reject oversized playback packets Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 043/497] mm/secretmem: properly account locked pages Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 044/497] perf/core: Fix WARN in perf_sigtrap() Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 045/497] random: vDSO: avoid call to memset() when zeroing reserved parameter Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 046/497] mm/damon/core: dont skip damos_adjust_quota() while esz is not zero Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 047/497] iio: accel: kionix-kx022a: Fix array boundary check Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 048/497] mtd: core: call _get_device() with the master MTD Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 049/497] nvmet: preserve device path on allocation failure Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 050/497] random: fix vgetrandom_opaque_params kernel-doc Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 051/497] of/overlay: dont leak fragment references when changeset init fails Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 052/497] of/overlay: dont create "//" paths for fragments targeting the root Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 053/497] ASoC: wm8903: Move the DRC QR threshold to the register that holds it Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 054/497] wifi: wfx: validate MIB read length before copying to caller Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 055/497] ASoC: tegra: Fix ASRC Stream6 input threshold control Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 056/497] wifi: ath11k: reset ar->num_stations on hardware start Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 057/497] wifi: ath9k: reject short WMI command responses Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 058/497] wifi: ath9k_htc: bound TX aggregation to MAX_TX_BUF_SIZE Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 059/497] rtc: dev: zero-initialize struct rtc_wkalrm to prevent information leak Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 060/497] rtc: Switch back to struct platform_driver::remove() Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 061/497] rtc: ac100: Fix clock provider use-after-free on probe failure Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 062/497] rtc: mpfs: fix unchecked devm_clk_get() error pointer in probe() Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 063/497] wifi: cfg80211: preserve hidden-group beacon IE ownership Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 064/497] wifi: mac80211: Add multicast to unicast support for 802.3 path Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 065/497] wifi: mac80211: Add 802.3 multicast encapsulation offload support Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 066/497] wifi: mac80211: prevent AP VLAN tx from other interfaces Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 067/497] ASoC: codecs: rt286: Revert delay value for jack setup Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 068/497] ASoC: codecs: rt274: Fix format setting for 44100 rate Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 069/497] Bluetooth: hci_core: free the HCI ID if naming fails Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 070/497] Bluetooth: btintel: validate DDC record lengths Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 071/497] net/mctp: publish the mctp_dev only after it is initialised Greg Kroah-Hartman
2026-10-13 11:33 ` [PATCH 6.12 072/497] net/sched: cls_api: reclaim an empty proto on the error path Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 073/497] ipv6: fix prefix route expiry in modify_prefix_route() Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 074/497] netfilter: ipset: do not update comments from kernel-side adds Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 075/497] Bluetooth: hci_sync: dont drain cmd_sync backlog on unregister Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 076/497] net: systemport: Fix buffer overflow in bcm_sysport_get_stats() Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 077/497] net: systemport: Fix RUNT MIB counter register offset calculation Greg Kroah-Hartman
2026-10-13 11:34 ` Greg Kroah-Hartman [this message]
2026-10-13 11:34 ` [PATCH 6.12 079/497] net/mlx5: Fix slab-out-of-bounds when handling team device events Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 080/497] octeontx2-af: mcs: Fix SC resource cleanup loop Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 081/497] tipc: prevent GCM nonce reuse on peer key changes Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 082/497] memcg: convert memcg->socket_pressure to u64 Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 083/497] mptcp: Fix up subflows memcg when CONFIG_SOCK_CGROUP_DATA=n Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 084/497] net: Clean up __sk_mem_raise_allocated() Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 085/497] net-memcg: Introduce mem_cgroup_from_sk() Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 086/497] net-memcg: Introduce mem_cgroup_sk_enabled() Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 087/497] net: restrict SO_RESERVE_MEM to TCP sockets and cap max value Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 088/497] net/sched: fq_codel: match the no-drop threshold to the packet size Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 089/497] net/sched: sch_codel: " Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 090/497] virtio_blk: set the zone write granularity Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 091/497] net: bcmgenet: fix NULL dereference in set_coalesce before first open Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 092/497] net: cap skb->queue_mapping when the tx queue is picked Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 093/497] net: ethernet: mtk_eth_soc: allocate dummy netdev sooner Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 094/497] tcp: refresh TS.Recent for accepted old ACKs Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 095/497] ipvs: fix missing counter decrement in lblc Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 096/497] ipvs: do not create invisible templates Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 097/497] ipvs: filter some flags received in the backup server Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 098/497] netfilter: bpf: reject invalid NAT manipulation types Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 099/497] netfilter: conntrack: remove skb argument from nf_ct_refresh Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 100/497] netfilter: conntrack: rework offload nf_conn timeout extension logic Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 101/497] netfilter: flowtable: generalize pending status bit Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 102/497] net: microchip: vcap: stop scanning after deleting key field Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 103/497] net: sparx5: make ports inherit the switch base mac address type Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 104/497] net/mlx5e: Fix AF_XDP TX timestamp teardown NULL dereference Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 105/497] ipv6: sr: use skb_get_hash_net() in seg6_make_flowlabel() Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 106/497] xdp, xsk: constify read-only arguments of some static inline helpers Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 107/497] net: mvneta: clear XDP pfmemalloc flag between frames Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 108/497] i2c: at91: release DMA channels when probe defers Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 109/497] perf: Fix race between perf_event_exit_task() and perf_pending_task() Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 110/497] ALSA: core: Define auto-cleanup for snd_card_free() Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 111/497] ALSA: ice1712: Fix the error handling via auto-cleanup at probe Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 112/497] PCI: Accept AtomicOps already enabled by the hypervisor Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 113/497] drm/amd/display: check dc_state_create_copy() for NULL in dm_suspend Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 114/497] drm/amd/pm/si: Check AMD_IS_MOBILITY flag for PPSMC_SYSTEMFLAG_GPIO_DC Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 115/497] drm/amd/pm/si: Fix updating clock limits on AC/DC Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 116/497] drm/amdgpu/gfx6: fix firmware leak on teardown Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 117/497] drm/radeon: Read the VRAM VBIOS signature with readb() Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 118/497] drm/mediatek: Add missing IS_ERR check for ovl_adaptor platform device Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 119/497] drm/mediatek: Fix ovl adaptor platform device leak Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 120/497] drm/mediatek: Fix pdev reference leak in mtk_drm_bind() Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 121/497] drm/amdgpu: fix IP instance memory leak on kobject add failure Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 122/497] drm/amdgpu: fix ACP MFD device leak on init failure Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 123/497] binder: fix is_failure flag for superseded transaction cleanup Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 124/497] binder: fix leaked fd fixups on TF_UPDATE_TXN supersede Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 125/497] kgdboc: Fix tty driver reference leak in configure_kgdboc() Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 126/497] Input: atkbd - skip deactivate for Lenovo IdeaPad Slim 3 15IWC11 Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 127/497] Input: i8042 - add nomux quirk for Fujitsu LIFEBOOK U7410 Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 128/497] Input: s6sy761 - fix resume ordering and restore sensing Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 129/497] Input: synaptics - add LEN205b entry to smbus_pnp_ids for ThinkPad T490 Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 130/497] Input: synaptics - limit T440p InterTouch quirk to LEN0036 Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 131/497] nitro_enclaves: fix use-after-free on SLOT_ALLOC failure Greg Kroah-Hartman
2026-10-13 11:34 ` [PATCH 6.12 132/497] soc: qcom: geni-se: Correct QUP Core ICC vote constants Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 133/497] USB: cdc-acm: fix racy TIOCMIWAIT implementation Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 134/497] USB: cdc-acm: skip URB restart in port_shutdown if disconnected Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 135/497] USB: serial: fix port tear down use-after-free Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 136/497] usb: storage: sierra_ms: reject short SWoC info transfers Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 137/497] usb: hub: use shorter 120ms post resume hold for SS root hubs Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 138/497] usb: octeon-hcd: fix the FIFO-flush timeout computation Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 139/497] usb: ohci-da8xx: disable controller wakeup on cleanup Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 140/497] usb: ohci-s3c2410: disable controller wakeup on removal Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 141/497] usb: ohci-st: " Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 142/497] usb: gadget: midi2: Fix the jack descriptor array sizes Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 143/497] usb: gadget: f_uac1_legacy: validate bRequest index in generic_{set,get}_cmd Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 144/497] usb: typec: anx7411 - stop the IRQ before destroying the workqueue Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 145/497] usb: dwc3: am62: Fix runtime PM usage count leak on probe error path Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 146/497] usb: gadget: aspeed-vhub: cancel wake work on device removal Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 147/497] USB: gadget: dummy-hcd: Fix wait for outstanding request completions Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 148/497] usb: gadget: f_fs: Fix NULL pointer dereference in FUNCTIONFS_ENDPOINT_DESC Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 149/497] usb: chipidea: tegra: disable runtime PM on resume failure Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 150/497] usb: core: clear both ep_in and ep_out for non-ep0 control endpoints Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 151/497] usb: typec: tcpm: recover after failure to start the frs ams Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 152/497] usb: typec: tipd: dont send GAID when probe fails in APP mode Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 153/497] usb: typec: tipd: fix uninitialized typec_partner_desc in tps6598x_connect() Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 154/497] usb: typec: ucsi: glink: fix use-after-free of ucsi on remove Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 155/497] usb: typec: ucsi: Get the connector fwnode based on reg value Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 156/497] usb: typec: ucsi: displayport: Current CAM OOB index fixup Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 157/497] usb: cdns3: fix use-after-free in cdns3_gadget_exit() Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 158/497] usb: cdns3: Fix NULL pointer dereference in cdns3_pci_probe Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 159/497] tty: vt: fix memory leak in vc_allocate() Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 160/497] tty: amiserial: fix broken TIOCMIWAIT Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 161/497] tty: vcc: zero-initialize control packet in vcc_send_ctl() Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 162/497] tty: vcc: hold port lock when clearing tty pointer in vcc_cleanup Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 163/497] tty: serial: qcom_geni_serial: Keep console RX functional after deep idle Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 164/497] tty: abort break signalling on hangup Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 165/497] tty: serial: max3100: shut down timer before freeing port Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 166/497] serial: 8250_bcm7271: fix use-after-free in brcmuart_remove() Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 167/497] serial: fix TIOCMIWAIT race Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 168/497] serial: ma35d1: Fix clock reference leak in ma35d1serial_probe() Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 169/497] serial: tegra: dont clear the Tx FIFO on an Rx-only reset Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 170/497] serial: vt8500: Fix clock reference leak in vt8500_serial_probe() Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 171/497] serial: sc16is7xx: fix TX gap caused by kfifo circular buffer wrap-around Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 172/497] serial: sc16is7xx: refill TX FIFO below trigger using fresh TXLVL Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 173/497] ASoC: codecs: max98363: fix uninitialized stream_config->type Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 174/497] ASoC: codecs: rt1017-sdca-sdw: " Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 175/497] ASoC: qcom: lpass-cpu: use DAI table index for playback constraints Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 176/497] ALSA: seq: Serialize compat port-info ioctls Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 177/497] ALSA: ua101: reject mismatched capture/playback packet sizes Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 178/497] EDAC/altera: Fix memory leak on dci allocation failure Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 179/497] i2c: xiic: dont clobber msg->len to signal block-read completion Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 180/497] Bluetooth: RFCOMM: Fix initial port reference race Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 181/497] Bluetooth: hci_sync: Fix inquiry cache use-after-free Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 182/497] Bluetooth: hci_conn: Lock parent access during enhanced SCO setup Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 183/497] Bluetooth: hci_core: Fix inquiry cache timestamps on 64-bit systems Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 184/497] Bluetooth: hci_core: Serialize ACL scheduling with channel deletion Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 185/497] Bluetooth: hci_core: Serialize fragmented ISO packet queueing Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 186/497] Bluetooth: btintel: fix buffer over-read in btintel_hw_error() Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 187/497] Bluetooth: btintel_pcie: fix plen overflow in btintel_pcie_recv_frame() Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 188/497] Bluetooth: btintel_pcie: reject oversized TX packets in send_frame() Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 189/497] io_uring: fix task_work add use-after-free with SQPOLL Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 190/497] ipvs: bound LBLCR and LBLC cache growth Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 191/497] HID: multitouch: stop the release timer from being rearmed on remove Greg Kroah-Hartman
2026-10-13 11:35 ` [PATCH 6.12 192/497] net: extend IPv6 exthdr detection of tunneled packets Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 193/497] tpm: fix off-by-four bounds check in tpm2_get_random() Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 194/497] nvme-multipath: fix underflow in ANA log bounds checks Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 195/497] nvme-pci: add NVME_QUIRK_DMAPOOL_ALIGN_512 for Micron 4100AT Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 196/497] nvmet-auth: fix out-of-bounds write in nvmet_auth_challenge() Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 197/497] mtd: block2mtd: Fix divide error when erase_size is zero Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 198/497] mtd: rawnand: cadence: Initialize IRQ state before requesting IRQ Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 199/497] mtd: rawnand: vf610_nfc: fix reads on chips with more than 64 bytes of OOB Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 200/497] mtd: spinand: fix zero oobavail when no ECC engine is used Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 201/497] KVM: nVMX: Force MSR bitmap refresh if runtime eVMCS controls are modified Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 202/497] KVM: x86/mmu: Bail from shadow walks if the root is invalid or a dummy Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 203/497] wifi: cw1200: fix TX padding OOB read leaking heap data to device Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 204/497] wifi: iwlegacy: 3945: free EEPROM data on remove Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 205/497] wifi: mac80211: keep paired old chanctx alive Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 206/497] wifi: mac80211: drain PS delivery work during station teardown Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 207/497] wifi: mac80211: account proxy paths against the mesh path limit Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 208/497] wifi: mac80211: keep fallback association elements alive Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 209/497] wifi: mac80211: minstrel_ht: validate fixed rate index Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 210/497] wifi: mac80211: reject invalid 320 MHz CSA bandwidth Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 211/497] wifi: mac80211: release mesh path quota on failed additions Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 212/497] wifi: mac80211: fix mesh fast xmit path deletion UAF Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 213/497] wifi: mac80211: handle empty FILS association request payload Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 214/497] USB: serial: cp210x: add Corsair AX1500i Power Supply Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 215/497] USB: serial: quatech2: fix baud rate overflow Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 216/497] USB: serial: ssu100: " Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 217/497] USB: serial: fix dynamic id driver deregistration race Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 218/497] USB: serial: fix driver deregistration order Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 219/497] USB: serial: fix ioctl hangup race Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 220/497] USB: serial: option: add support for SIMCom SIM8260C Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 221/497] USB: serial: option: add Quectel EG060W Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 222/497] USB: serial: option: add Compal EXM-G1x support Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 223/497] USB: serial: option: add Quectel RG660QB Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 224/497] USB: serial: option: add Compal EXC-T1 support Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 225/497] thunderbolt: Fix KASAN reported use-after-free when request is canceled Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 226/497] thunderbolt: Disable CL states for the Anker Prime TB5 dock Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 227/497] thunderbolt: Reject oversized XDomain properties responses Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 228/497] smb: client: discard post-EOF pagecache when extending a file via zero range Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 229/497] smb: client: discard post-EOF pagecache when extending a file via copy range Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 230/497] smb: client: split cifsFileInfo bitfields to avoid shared-byte RMW races Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 231/497] iio: accel: kxcjk-1013: reject duplicate event disable Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 232/497] iio: accel: sca3000: fix frequency divider condition check Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 233/497] iio: adc: pac1934: check ACPI label duplication Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 234/497] iio: adc: stm32-adc: fix check on internal channel availability Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 235/497] iio: adc: sun4i-gpadc-iio: clean up on thermal zone registration failure Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 236/497] iio: adc: sun4i-gpadc-iio: drop underflowing pm_runtime_put() calls Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 237/497] iio: adc: xilinx-xadc: free IRQ before cancelling the unmask worker on unbind Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 238/497] iio: admv1013: initialize callback mutex before registering notifier Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 239/497] iio: buffer: serialize buffer teardown with mode claims Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 240/497] iio: buffer: Ensure bounce buffer used for unaligned case is zeroed Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 241/497] iio: frequency: admv1013: fix wrong channel field used in admv1013_read_raw() Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 242/497] iio: gyro: adis16136: fix unprotected debugfs reads Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 243/497] iio: health: max30102: fix NULL dereference in interrupt handler Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 244/497] iio: imu: adis16400: fix unprotected debugfs reads Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 245/497] iio: imu: adis16480: " Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 246/497] iio: light: gp2ap020a00f: drain irq_work after free_irq Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 247/497] iio: pressure: bmp280: fix out-of-bounds access in sampling frequency lookup Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 248/497] iio: proximity: aw96103: validate firmware data length Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 249/497] iio: proximity: isl29501: Fix return type of isl29501_register_write Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 250/497] iio: proximity: pulsedlight: fix iio_device left registered on PM setup failure Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 251/497] iio: proximity: sx9324: Correct proximity channel resolution Greg Kroah-Hartman
2026-10-13 11:36 ` [PATCH 6.12 252/497] iio: proximity: vcnl3020: fix ISR bitmask check in IRQ handler Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 253/497] iio: trigger: cancel reenable_work before freeing trigger Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 254/497] ipv6: use RCU in ip6_output() Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 255/497] jfs: fix array-index-out-of-bounds read in add_missing_indices Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 256/497] KVM: arm64: vgic-its: Dont dereference a NULL collection on ITT save Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 257/497] svcrdma: Use svc_xprt_put to free listener on create failure Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 258/497] drm/amd/powerplay: fix VoltageObjectInfo zero-stride loop and OOB read Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 259/497] console: introduce console_lock guard()s Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 260/497] tty/vt: use guard()s Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 261/497] vc_screen: reload vc pointer before if (ret) in vcs_write() to avoid UAF Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 262/497] mtd: rawnand: vf610_nfc: fix false bitflips on reads of erased pages Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 263/497] mptcp: prevent race between disconnect() and rtx Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 264/497] net: phy: aquantia: fix system interface type not updated in forced mode Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 265/497] pfcp: fix socket lifetime on netdevice registration failure Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 266/497] netfs: clear post-EOF pagecache when extending a file via write Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 267/497] mm: shmem: remove __shmem_huge_global_enabled() Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 268/497] mm: factor out the order calculation into a new helper Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 269/497] mm: shmem: change shmem_huge_global_enabled() to return huge order bitmap Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 270/497] mm: shmem: ignore sysfs configs for shmem forced collapse Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 271/497] KVM: arm64: vgic-its: Fix MOVALL handling of source redistributor Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 272/497] cifs: Fix handling of a beyond-EOF DIO/unbuffered read over SMB1 Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 273/497] net: usb: qmi_wwan: add Quectel EG120K-EA Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 274/497] xen/netfront: drop RX packets with a short Ethernet header Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 275/497] fs,fsverity: reject size changes on fsverity files in setattr_prepare Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 276/497] fs,fsverity: remove check for fsverity being enabled in setattr_prepare() Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 277/497] drm/amd/display: Fix fast updates on DCE 8.1 Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 278/497] usb: dwc3: gadget: fix IRQ storm on invalid event buffer count Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 279/497] tty: fix saved termios reset race Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 280/497] perf: Remove unnecessary parameter of security check Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 281/497] perf/core: Check kernel access when kernel callchains are requested Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 282/497] perf: Require kernel access for text poke events Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 283/497] arm64/fpsimd: signal: Clear PSTATE.SM when restoring FPSIMD frame only Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 284/497] arm64/fpsimd: signal: Mandate SVE payload for streaming-mode state Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 285/497] arm64/fpsimd: signal: Consistently read FPSIMD context Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 286/497] arm64/fpsimd: signal: Forbid non-streaming SVE payload on SME-only systems Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 287/497] Bluetooth: hci_core: Serialize SCO and ISO scheduling with teardown Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 288/497] Bluetooth: Serialize SMP remote OOB data access Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 289/497] arm64: errata: Factor out broken AMU const counter cap Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 290/497] arm64: errata: Add Cortex-A725 erratum 3821522 workaround Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 291/497] KVM: arm64: Use stage-1 leaf size for VM_PFNMAP Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 292/497] fsverity: add dependency on 64K or smaller pages Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 293/497] drm/amdgpu: reset VI ASIC on MacBookPro15,1 Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 294/497] drm/amdgpu: reset VI ASIC on MacBookPro14,3 Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 295/497] usb: ohci-spear: Remove unnecessary NULL check before clk_disable_unprepare() Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 296/497] usb: ohci-spear: disable controller wakeup on removal Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 297/497] USB: dwc2: shut down wakeup timer before freeing HCD state Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 298/497] drm/amd/display: Preserve eDP mode on initial ASSR failure Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 299/497] usb: typec: ucsi: acpi: Assume UCSI 1.2 on Acer Nitro ANV15-41 Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 300/497] tty: introduce tty_port_tty guard() Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 301/497] tty: tty_port: use guard()s Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 302/497] tty: tty_port: restore TTY_IO_ERROR on activation failure Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 303/497] tty: n_gsm: fix missing modem controls after DLCI open in convergence layer type 2 Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 304/497] perf: Replace perf_event_header__init_id with full header init Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 305/497] ALSA: hda/tegra: Re-enable SDO workaround for Tegra194 Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 306/497] i2c: xiic: Relocate xiic_i2c_runtime_suspend and xiic_i2c_runtime_resume to facilitate atomic mode Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 307/497] i2c: xiic: preserve PEC byte length in SMBus block read setup Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 308/497] drm/amd/display: Mark DCE 6.4 as not APU Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 309/497] mtd: spinand: fix NULL pointer dereference with no ECC engine Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 310/497] wifi: mac80211: shut down RX BA session timer on teardown Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 311/497] mtd: spinand: Enable QE on all dies Greg Kroah-Hartman
2026-10-13 11:37 ` [PATCH 6.12 312/497] nvme-multipath: set BLK_FEAT_ZONED only after the zone info is known Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 313/497] KVM: arm64: Apply the fine-grained UNDEFs without FEAT_FGT Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 314/497] ipv4: free inet_opt and ireq_opt after an RCU grace period Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 315/497] bnxt_en: fix DMA mapping length for padded small packets Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 316/497] tty: port: fix tty_port_tty_vhangup() race Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 317/497] wifi: mac80211: count only matching reservations in reserved switch Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 318/497] fs: Free any excess xarray nodes in clear_inode() Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 319/497] net/mlx5e: Prevent stale XSK buffer release on refill retry Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 320/497] net/mlx5e: Prevent stale XSK buffer release on MPWQE " Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 321/497] net: mana: check xdp_rxq registration before unreg in mana_destroy_rxq() Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 322/497] net: mana: Skip WQ object destruction for uninitialized RXQ Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 323/497] net: mana: remove double CQ cleanup in mana_create_rxq error path Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 324/497] KVM: SVM: Use the active VMCBs MSR bitmap when checking if MSR is intercepted Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 325/497] wifi: mac80211: Add sta pointer sanity check in ieee80211_8023_xmit() Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 326/497] wifi: mac80211: set info->band for 802.3 encap offload frames Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 327/497] iio: accel: kx022a: Use cleanup.h helpers Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 328/497] iio: accel: kionix-kx022a: Prevent memory leak and fix state Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 329/497] iio: adc: ad_sigma_delta: fix use-after-free on unbind Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 330/497] iio: adc: aspeed: Simplify with dev_err_probe Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 331/497] iio: adc: aspeed: propagate reset deassert errors Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 332/497] iio: adc: max1363: sign-extend bipolar differential channel reads Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 333/497] iio: adc: axp288: Add TS bias override for Haier HV103H Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 334/497] iio: adc: stm32-adc: fix possible division by zero in processed channel Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 335/497] smb: client: only require read lease for size-extending preallocate Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 336/497] iio: buffer-dmaengine: fix sg entry iteration when building dma_vecs Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 337/497] iio: cdc: ad7150: fix OF matching and publish module aliases Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 338/497] iio: bu27034: simplify using guard(mutex) Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 339/497] iio: light: rohm-bu27034: Fix infinite delay on error Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 340/497] iio: light: rohm-bu27034: Fix error return Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 341/497] tools: ynl-gen: use names of constants in generated limits Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 342/497] tools: ynl-gen: support limits using definitions Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 343/497] tools: ynl: add scope qualifier for definitions Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 344/497] doc/netlink: netlink-raw: Add max check Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 345/497] f2fs: fix to reclaim space in f2fs_allocate_pinning_section() Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 346/497] f2fs: fix to shrink gc_lock coverage in f2fs_gc_range() Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 347/497] f2fs: fix to reset all pinned status during fggc Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 348/497] mm/damon/core: do non-safe region walk on kdamond_apply_schemes() Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 349/497] mm/damon/core: fix unconditionally skip last region Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 350/497] Bluetooth: hci_event: fix simultaneous discovery stuck in FINDING Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 351/497] wifi: ath12k: fix reusing m3 memory Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 352/497] crypto: drbg - Fix ineffective sanity check Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 353/497] ipv4: validate checksum_start before completing checksum Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 354/497] ipv4: stop PMTU walk when nexthop group shrinks Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 355/497] ipv4: stop exception dump " Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 356/497] ipv4: stop route notification sizing " Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 357/497] ipv4: do not warn on route notification size race Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 358/497] ipv6: " Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 359/497] Input: ati_remote2 - fix type confusion in device attribute handlers Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 360/497] Input: xpad - add support for Corsair Novablade Pro Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 361/497] arm64: irq: exclude the softirq stack switch from KCOV Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 362/497] ASoC: amd: yc: Add DMI quirk for Acer Aspire Go 15 (AG15-21P) Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 363/497] btrfs: scrub: fix local_root reference leak in scrub_print_warning_inode() Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 364/497] cipso: adjust cached option offsets when removing CIPSO Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 365/497] dm ioctl: dont let data_start run past the buffer Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 366/497] usb: f81604: fix struct f81604_int_data size mismatch Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 367/497] vsock/virtio: account only unread bytes in read_skb() Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 368/497] wifi: brcmfmac: fix P2P device removal race in brcmf_detach() Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 369/497] wireguard: queueing: preserve tstamp_type when encapsulating packet Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 370/497] wireguard: noise: reject response consumption after intermediate initiation Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 371/497] workqueue: Fix NULL current_pwq deref in chained work check Greg Kroah-Hartman
2026-10-13 11:38 ` [PATCH 6.12 372/497] xen/netfront: dont leak the skb when xennet_fill_frags() fails Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 373/497] tee: shm: reject zero-sized allocations in tee_dyn_shm_alloc_helper() Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 374/497] strparser: make sure __strp_recv isnt running before tearing down the parser Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 375/497] swiotlb: fix default_swiotlb_limit() for non-growable default pool Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 376/497] tcp: reject net_iov in zerocopy receive mapping hints Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 377/497] tipc: destroy topsrv workqueues before closing connections Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 378/497] tipc: hold a reference to nodes found by link name Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 379/497] Revert "wifi: libertas: reject short monitor TX frames" Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 380/497] selinux: fix data race on AVC latest_notif Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 381/497] selinux: preserve NATIVE_LABELS on already-initialized sb in set_mnt_opts Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 382/497] sctp: copy zeroed stats to user in sctp_getsockopt_pr_streamstatus() when !streamoute Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 383/497] EDAC/amd64: Mask UMC chip select to the four implemented selects Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 384/497] gpio: xilinx: fix runtime PM leak on request error path Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 385/497] ibmveth: h_free logical LAN on open-fail after register Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 386/497] ibmveth: fix TX LTB and filter unwind on open-fail Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 387/497] ice: fix metadata_dst refcount handling on representor teardown Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 388/497] keys: finalize persistent keyring timeout after link attempt Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 389/497] KEYS: Fix add_key() race with keyring restriction Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 390/497] memstick: core: wait for request completion before freeing card Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 391/497] memstick: rtsx_usb_ms: complete requests after eject instead of dropping them Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 392/497] dm-crypt: reject the lmk IV mode with AEAD ciphers Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 393/497] dm-snap: reject the transient exception store for snapshot-merge Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 394/497] dm: fix reading free memory in do_resume Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 395/497] mmc: cavium-octeon: destroy slot platform devices on remove Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 396/497] mmc: cavium-thunderx: " Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 397/497] mmc: mtk-sd: Cancel request timeout work " Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 398/497] mmc: sdhci-sprd: disable runtime PM " Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 399/497] net/packet: guard the ll header push in packet_rcv_spkt() Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 400/497] net/smc: protect clcsock lifetime in smc_getname Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 401/497] net: bridge: avoid recursive multicast port cleanup Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 402/497] net: dsa: microchip: fix KSZ8765 fiber detection Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 403/497] net: skbuff: dont leave stale bytes in skb_copy_and_csum_bits() Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 404/497] net: sparx5: free the matchall entry on destroy Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 405/497] net: usb: ax88179_178a: fix rx frame length for non-last packets Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 406/497] net: team: free skb when broadcast has no txable port Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 407/497] nvme: fix swapped ZRASF zone state values for full and read only Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 408/497] openvswitch: fix soft lockup in the netlink flow dump Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 409/497] optee: register TEE devices only once fully initialized Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 410/497] regulator: ltc3676: dont read the write-only HRST and CLIRQ registers Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 411/497] regulator: tps6594-regulator: Fix n_linear_ranges for TPS65224 BUCK2-4 Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 412/497] pmdomain: imx8m-blk-ctrl: Serialize power on/off across sibling domains Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 413/497] pmdomain: rockchip: dont ignore clock lookup errors on attach Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 414/497] pmdomain: rockchip: fix clock leak on domain probe failure Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 415/497] pmdomain: rockchip: propagate subdomain add errors Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 416/497] scsi: qedi: Initialize callback state before registration Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 417/497] riscv: entry: gate shadow call stack reload on sstatus.SPP, not tp Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 418/497] riscv: fix load_unaligned_zeropad() fixup for RV32 Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 419/497] Bluetooth: btintel_pcie: use managed IRQ teardown Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 420/497] Bluetooth: hci_sock: Serialize dead-device detachment Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 421/497] Bluetooth: ISO: Reject concurrent BIS listener setup Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 422/497] Bluetooth: ISO: Serialize concurrent connect calls Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 423/497] Bluetooth: MGMT: Fix status of pending commands flushed on power off Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 424/497] Bluetooth: RFCOMM: free the skb when the DLC has no owner Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 425/497] Bluetooth: RFCOMM: Fix NULL tty_dev dereference in rfcomm_dev_shutdown Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 426/497] drm/fb-helper: defer setup when fbdev_probe() fails, not just on -EAGAIN Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 427/497] drm/gud: dont keep a connector without a CRTC as connector_state Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 428/497] drm/i915/gem: Prevent overstepping exec array boundary Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 429/497] drm/i915/gt: Unmask interrupts only when ACTIVE is true Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 430/497] drm/imagination: Size page table preallocation by device address Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 431/497] drm/vc4: drain the hangcheck timer and works on V3D unbind Greg Kroah-Hartman
2026-10-13 11:39 ` [PATCH 6.12 432/497] drm/amdkfd: align SDMA doorbell base for shader doorbell writes Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 433/497] drm/amdkfd: fix dma_buf reference leak in get_dmabuf_info Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 434/497] drm/amdgpu: serialize vblank counter reads against GPU reset Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 435/497] drm/amdgpu: make Mac FB workaround generic Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 436/497] drm/amdgpu: copy debugfs register data outside the GRBM/SRBM locks Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 437/497] drm/amd/display: Fix direct scanout alpha on some DRM_FORMATs Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 438/497] namespace: dont copy an unmounted mount tree Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 439/497] fs: refuse fspick() on internal superblocks Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 440/497] namespace: check a submount for references right before unmounting it Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 441/497] dcache: dont put a mountpoint on a dentry thats being removed Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 442/497] namespace: dont let a pseudo dentry become the root of a mount Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 443/497] namei: dont reveal overmounted entries in refwalk Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 444/497] namespace: refuse an automount below a mount that is in no namespace Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 445/497] arm64: dts: lx2160a: fix incorrect pinmux Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 446/497] arm64: dts: lx2160a: fix IIC1 pinmux submask rejected by pinctrl-single Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 447/497] arm64: dts: lx2160a: fix the iic5 spi3 pinmux offset and value Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 448/497] Bluetooth: btintel_pcie: fix TX descriptor bounds check Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 449/497] Bluetooth: btintel_pcie: Add recovery mechanism Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 450/497] Bluetooth: btintel_pcie: Add shared HW reset for clean start Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 451/497] drm/dp: dont mark the AUX backlight enabled when enabling failed Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 452/497] gpio: exar: initialize the ID before registering its cleanup Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 453/497] drm/aspeed: Balance the display clock enable on teardown Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 454/497] drm/vc4: Free the BO cache size list " Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 455/497] net/sched: em_text: reject unterminated algo before autoload Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 456/497] amt: send the relays General Query directly from the receive path Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 457/497] cxgb4/ch_ktls: disable softirqs around tid_list erases Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 458/497] optee: sync secure world ABI headers Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 459/497] tee: optee: fix kernel-doc warnings Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 460/497] tee: optee: ffa: support shared memory offsets on large-page kernels Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 461/497] nvmet: use the local P2P device on metadata allocation failure Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 462/497] arm64/boot: Dont set PMUv3p9 FGT2 bits without PMUv3 Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 463/497] btrfs: fix xattr replace when multiple xattrs are packed in the same item Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 464/497] btrfs: fix lost error return value in btrfs_listxattr() Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 465/497] wifi: mt76: mt7925: restore the legacy BSS after MLO teardown Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 466/497] wifi: mt76: mt7996: fix struct mt7996_mcu_wed_rro_ba_delete_event layout Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 467/497] wifi: mt76: mt7915: disable rx napi when removing device Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 468/497] wifi: mt76: mt7925: dont put the band auto marker in TGID Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 469/497] wifi: mt76: mt792x: treat 0xff ACPI SAR entries as no limit Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 470/497] wifi: mt76: mt792x: pick the SAR table layout from the table itself Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 471/497] ASoC: adau1372: allow sleepy powerdown GPIOs Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 472/497] ASoC: adau1372: fix invalid default state of output ASRC and DAC muxes Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 473/497] ASoC: samsung: i2s: enable op_clk in probe to balance runtime PM Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 474/497] cpuset: separate tmpmasks and cpuset allocation logic Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 475/497] cgroup/cpuset: Call is_in_v2_mode() after acquiring cpuset_mutex in cpuset_handle_hotplug() Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 476/497] flow_dissector: avoid u16 truncation of skb->len when computing thoff Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 477/497] devlink: fix devlink_rel reference leak when notify work is pending Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 478/497] net/sched: cls_route: reject change with no routing attribute Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 479/497] pfcp: make sure the SEID is linear before reading it Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 480/497] bnxt_en: Add bnxt_clear_bars() helper Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 481/497] bnxt_en: Fix driver init in kdump kernel Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 482/497] flow_dissector: avoid u16 truncation of hlen in bpf_flow_dissect() Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 483/497] drm/imagination: Fix reference and vm_bo handling in remap() Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 484/497] veth: fix peer NETDEV_XDP_ACT_NDO_XMIT after GRO is toggled while down Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 485/497] net/mlx5e: Order ICOSQ cc update after CQ doorbell Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 486/497] mlxsw: spectrum_flower: Fix port range register leak in tmplt_create() Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 487/497] net/packet: call packet_parse_headers after virtio_net_hdr_to_skb Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 488/497] ptp: ocp: fix PCIe delay estimation calculation Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 489/497] net: openvswitch: validate transport header presence in set_ipv6_addr Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 490/497] vsock: Fix memory leak in vmci_transport_recv_dgram_cb() Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 491/497] drm/vc4: Make v3d paths unavailable on any generation newer than vc4 Greg Kroah-Hartman
2026-10-13 11:40 ` [PATCH 6.12 492/497] drm/vc4: Fix binner slot allocation failing on an idle GPU Greg Kroah-Hartman
2026-10-13 11:41 ` [PATCH 6.12 493/497] drm/panthor: validate userspace queue count against initialized firmware slot count Greg Kroah-Hartman
2026-10-13 11:41 ` [PATCH 6.12 494/497] io_uring/waitid: use io_waitid_remove_wq() consistently Greg Kroah-Hartman
2026-10-13 11:41 ` [PATCH 6.12 495/497] io_uring/waitid: fix KCSAN warning on io_waitid->head Greg Kroah-Hartman
2026-10-13 11:41 ` [PATCH 6.12 496/497] netfilter: conntrack: fix erronous removal of offload bit Greg Kroah-Hartman
2026-10-13 11:41 ` [PATCH 6.12 497/497] netfilter: flowtable: fix offloaded ct timeout never being extended Greg Kroah-Hartman
2026-10-13 13:34 ` [PATCH 6.12 000/497] 6.12.113-rc1 review Pavel Machek
2026-10-13 14:14 ` SJ Park
2026-10-13 17:05 ` Miguel Ojeda
2026-10-13 18:34 ` Florian Fainelli
2026-10-13 19:55 ` Peter Schneider

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261013112909.738059436@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=kuba@kernel.org \
    --cc=mbloch@nvidia.com \
    --cc=patches@lists.linux.dev \
    --cc=rongweil@nvidia.com \
    --cc=saeedm@nvidia.com \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tariqt@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox