public inbox for stable@vger.kernel.org
 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, Eli Cohen <elic@nvidia.com>,
	Mark Bloch <mbloch@nvidia.com>,
	Saeed Mahameed <saeedm@nvidia.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.0 031/157] net/mlx5: Lag, avoid lockdep warnings
Date: Mon, 12 Dec 2022 14:16:19 +0100	[thread overview]
Message-ID: <20221212130935.774327614@linuxfoundation.org> (raw)
In-Reply-To: <20221212130934.337225088@linuxfoundation.org>

From: Eli Cohen <elic@nvidia.com>

[ Upstream commit 0d4e8ed139d871fcb2844dd71075997753baeec8 ]

ldev->lock is used to serialize lag change operations. Since multiport
eswtich functionality was added, we now change the mode dynamically.
However, acquiring ldev->lock is not allowed as it could possibly lead
to a deadlock as reported by the lockdep mechanism.

[  836.154963] WARNING: possible circular locking dependency detected
[  836.155850] 5.19.0-rc5_net_56b7df2 #1 Not tainted
[  836.156549] ------------------------------------------------------
[  836.157418] handler1/12198 is trying to acquire lock:
[  836.158178] ffff888187d52b58 (&ldev->lock){+.+.}-{3:3}, at: mlx5_lag_do_mirred+0x3b/0x70 [mlx5_core]
[  836.159575]
[  836.159575] but task is already holding lock:
[  836.160474] ffff8881d4de2930 (&block->cb_lock){++++}-{3:3}, at: tc_setup_cb_add+0x5b/0x200
[  836.161669] which lock already depends on the new lock.
[  836.162905]
[  836.162905] the existing dependency chain (in reverse order) is:
[  836.164008] -> #3 (&block->cb_lock){++++}-{3:3}:
[  836.164946]        down_write+0x25/0x60
[  836.165548]        tcf_block_get_ext+0x1c6/0x5d0
[  836.166253]        ingress_init+0x74/0xa0 [sch_ingress]
[  836.167028]        qdisc_create.constprop.0+0x130/0x5e0
[  836.167805]        tc_modify_qdisc+0x481/0x9f0
[  836.168490]        rtnetlink_rcv_msg+0x16e/0x5a0
[  836.169189]        netlink_rcv_skb+0x4e/0xf0
[  836.169861]        netlink_unicast+0x190/0x250
[  836.170543]        netlink_sendmsg+0x243/0x4b0
[  836.171226]        sock_sendmsg+0x33/0x40
[  836.171860]        ____sys_sendmsg+0x1d1/0x1f0
[  836.172535]        ___sys_sendmsg+0xab/0xf0
[  836.173183]        __sys_sendmsg+0x51/0x90
[  836.173836]        do_syscall_64+0x3d/0x90
[  836.174471]        entry_SYSCALL_64_after_hwframe+0x46/0xb0
[  836.175282]

[  836.175282] -> #2 (rtnl_mutex){+.+.}-{3:3}:
[  836.176190]        __mutex_lock+0x6b/0xf80
[  836.176830]        register_netdevice_notifier+0x21/0x120
[  836.177631]        rtnetlink_init+0x2d/0x1e9
[  836.178289]        netlink_proto_init+0x163/0x179
[  836.178994]        do_one_initcall+0x63/0x300
[  836.179672]        kernel_init_freeable+0x2cb/0x31b
[  836.180403]        kernel_init+0x17/0x140
[  836.181035]        ret_from_fork+0x1f/0x30

 [  836.181687] -> #1 (pernet_ops_rwsem){+.+.}-{3:3}:
[  836.182628]        down_write+0x25/0x60
[  836.183235]        unregister_netdevice_notifier+0x1c/0xb0
[  836.184029]        mlx5_ib_roce_cleanup+0x94/0x120 [mlx5_ib]
[  836.184855]        __mlx5_ib_remove+0x35/0x60 [mlx5_ib]
[  836.185637]        mlx5_eswitch_unregister_vport_reps+0x22f/0x440 [mlx5_core]
[  836.186698]        auxiliary_bus_remove+0x18/0x30
[  836.187409]        device_release_driver_internal+0x1f6/0x270
[  836.188253]        bus_remove_device+0xef/0x160
[  836.188939]        device_del+0x18b/0x3f0
[  836.189562]        mlx5_rescan_drivers_locked+0xd6/0x2d0 [mlx5_core]
[  836.190516]        mlx5_lag_remove_devices+0x69/0xe0 [mlx5_core]
[  836.191414]        mlx5_do_bond_work+0x441/0x620 [mlx5_core]
[  836.192278]        process_one_work+0x25c/0x590
[  836.192963]        worker_thread+0x4f/0x3d0
[  836.193609]        kthread+0xcb/0xf0
[  836.194189]        ret_from_fork+0x1f/0x30

[  836.194826] -> #0 (&ldev->lock){+.+.}-{3:3}:
[  836.195734]        __lock_acquire+0x15b8/0x2a10
[  836.196426]        lock_acquire+0xce/0x2d0
[  836.197057]        __mutex_lock+0x6b/0xf80
[  836.197708]        mlx5_lag_do_mirred+0x3b/0x70 [mlx5_core]
[  836.198575]        tc_act_parse_mirred+0x25b/0x800 [mlx5_core]
[  836.199467]        parse_tc_actions+0x168/0x5a0 [mlx5_core]
[  836.200340]        __mlx5e_add_fdb_flow+0x263/0x480 [mlx5_core]
[  836.201241]        mlx5e_configure_flower+0x8a0/0x1820 [mlx5_core]
[  836.202187]        tc_setup_cb_add+0xd7/0x200
[  836.202856]        fl_hw_replace_filter+0x14c/0x1f0 [cls_flower]
[  836.203739]        fl_change+0xbbe/0x1730 [cls_flower]
[  836.204501]        tc_new_tfilter+0x407/0xd90
[  836.205168]        rtnetlink_rcv_msg+0x406/0x5a0
[  836.205877]        netlink_rcv_skb+0x4e/0xf0
[  836.206535]        netlink_unicast+0x190/0x250
[  836.207217]        netlink_sendmsg+0x243/0x4b0
[  836.207915]        sock_sendmsg+0x33/0x40
[  836.208538]        ____sys_sendmsg+0x1d1/0x1f0
[  836.209219]        ___sys_sendmsg+0xab/0xf0
[  836.209878]        __sys_sendmsg+0x51/0x90
[  836.210510]        do_syscall_64+0x3d/0x90
[  836.211137]        entry_SYSCALL_64_after_hwframe+0x46/0xb0

[  836.211954] other info that might help us debug this:
[  836.213174] Chain exists of:
[  836.213174]   &ldev->lock --> rtnl_mutex --> &block->cb_lock
   836.214650]  Possible unsafe locking scenario:
[  836.214650]
[  836.215574]        CPU0                    CPU1
[  836.216255]        ----                    ----
[  836.216943]   lock(&block->cb_lock);
[  836.217518]                                lock(rtnl_mutex);
[  836.218348]                                lock(&block->cb_lock);
[  836.219212]   lock(&ldev->lock);
[  836.219758]
[  836.219758]  *** DEADLOCK ***
[  836.219758]
 [  836.220747] 2 locks held by handler1/12198:
[  836.221390]  #0: ffff8881d4de2930 (&block->cb_lock){++++}-{3:3}, at: tc_setup_cb_add+0x5b/0x200
[  836.222646]  #1: ffff88810c9a92c0 (&esw->mode_lock){++++}-{3:3}, at: mlx5_esw_hold+0x39/0x50 [mlx5_core]

[  836.224063] stack backtrace:
[  836.224799] CPU: 6 PID: 12198 Comm: handler1 Not tainted 5.19.0-rc5_net_56b7df2 #1
[  836.225923] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
[  836.227476] Call Trace:
[  836.227929]  <TASK>
[  836.228332]  dump_stack_lvl+0x57/0x7d
[  836.228924]  check_noncircular+0x104/0x120
[  836.229562]  __lock_acquire+0x15b8/0x2a10
[  836.230201]  lock_acquire+0xce/0x2d0
[  836.230776]  ? mlx5_lag_do_mirred+0x3b/0x70 [mlx5_core]
[  836.231614]  ? find_held_lock+0x2b/0x80
[  836.232221]  __mutex_lock+0x6b/0xf80
[  836.232799]  ? mlx5_lag_do_mirred+0x3b/0x70 [mlx5_core]
[  836.233636]  ? mlx5_lag_do_mirred+0x3b/0x70 [mlx5_core]
[  836.234451]  ? xa_load+0xc3/0x190
[  836.234995]  mlx5_lag_do_mirred+0x3b/0x70 [mlx5_core]
[  836.235803]  tc_act_parse_mirred+0x25b/0x800 [mlx5_core]
[  836.236636]  ? tc_act_can_offload_mirred+0x135/0x210 [mlx5_core]
[  836.237550]  parse_tc_actions+0x168/0x5a0 [mlx5_core]
[  836.238364]  __mlx5e_add_fdb_flow+0x263/0x480 [mlx5_core]
[  836.239202]  mlx5e_configure_flower+0x8a0/0x1820 [mlx5_core]
[  836.240076]  ? lock_acquire+0xce/0x2d0
[  836.240668]  ? tc_setup_cb_add+0x5b/0x200
[  836.241294]  tc_setup_cb_add+0xd7/0x200
[  836.241917]  fl_hw_replace_filter+0x14c/0x1f0 [cls_flower]
[  836.242709]  fl_change+0xbbe/0x1730 [cls_flower]
[  836.243408]  tc_new_tfilter+0x407/0xd90
[  836.244043]  ? tc_del_tfilter+0x880/0x880
[  836.244672]  rtnetlink_rcv_msg+0x406/0x5a0
[  836.245310]  ? netlink_deliver_tap+0x7a/0x4b0
[  836.245991]  ? if_nlmsg_stats_size+0x2b0/0x2b0
[  836.246675]  netlink_rcv_skb+0x4e/0xf0
[  836.258046]  netlink_unicast+0x190/0x250
[  836.258669]  netlink_sendmsg+0x243/0x4b0
[  836.259288]  sock_sendmsg+0x33/0x40
[  836.259857]  ____sys_sendmsg+0x1d1/0x1f0
[  836.260473]  ___sys_sendmsg+0xab/0xf0
[  836.261064]  ? lock_acquire+0xce/0x2d0
[  836.261669]  ? find_held_lock+0x2b/0x80
[  836.262272]  ? __fget_files+0xb9/0x190
[  836.262871]  ? __fget_files+0xd3/0x190
[  836.263462]  __sys_sendmsg+0x51/0x90
[  836.264064]  do_syscall_64+0x3d/0x90
[  836.264652]  entry_SYSCALL_64_after_hwframe+0x46/0xb0
[  836.265425] RIP: 0033:0x7fdbe5e2677d

[  836.266012] Code: 28 89 54 24 1c 48 89 74 24 10 89 7c 24 08 e8 ba ee
ff ff 8b 54 24 1c 48 8b 74 24 10 41 89 c0 8b 7c 24 08 b8 2e 00 00 00 0f
05 <48> 3d 00 f0 ff ff 77 33 44 89 c7 48 89 44 24 08 e8 ee ee ff ff 48
[  836.268485] RSP: 002b:00007fdbe48a75a0 EFLAGS: 00000293 ORIG_RAX: 000000000000002e
[  836.269598] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007fdbe5e2677d
[  836.270576] RDX: 0000000000000000 RSI: 00007fdbe48a7640 RDI: 000000000000003c
[  836.271565] RBP: 00007fdbe48a8368 R08: 0000000000000000 R09: 0000000000000000
[  836.272546] R10: 00007fdbe48a84b0 R11: 0000000000000293 R12: 0000557bd17dc860
[  836.273527] R13: 0000000000000000 R14: 0000557bd17dc860 R15: 00007fdbe48a7640

[  836.274521]  </TASK>

To avoid using mode holding ldev->lock in the configure flow, we queue a
work to the lag workqueue and cease wait on a completion object.

In addition, we remove the lock from mlx5_lag_do_mirred() since it is
not really protecting anything.

It should be noted that an actual deadlock has not been observed.

Signed-off-by: Eli Cohen <elic@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 .../net/ethernet/mellanox/mlx5/core/lag/lag.c |   3 +-
 .../net/ethernet/mellanox/mlx5/core/lag/lag.h |  14 ++-
 .../ethernet/mellanox/mlx5/core/lag/mpesw.c   | 100 +++++++++++-------
 .../ethernet/mellanox/mlx5/core/lag/mpesw.h   |   1 -
 4 files changed, 78 insertions(+), 40 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
index 48f86e12f5c0..bbe810f3b373 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c
@@ -201,9 +201,8 @@ static void mlx5_ldev_free(struct kref *ref)
 	if (ldev->nb.notifier_call)
 		unregister_netdevice_notifier_net(&init_net, &ldev->nb);
 	mlx5_lag_mp_cleanup(ldev);
-	mlx5_lag_mpesw_cleanup(ldev);
-	cancel_work_sync(&ldev->mpesw_work);
 	destroy_workqueue(ldev->wq);
+	mlx5_lag_mpesw_cleanup(ldev);
 	mutex_destroy(&ldev->lock);
 	kfree(ldev);
 }
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h
index ce2ce8ccbd70..f30ac2de639f 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h
@@ -50,6 +50,19 @@ struct lag_tracker {
 	enum netdev_lag_hash hash_type;
 };
 
+enum mpesw_op {
+	MLX5_MPESW_OP_ENABLE,
+	MLX5_MPESW_OP_DISABLE,
+};
+
+struct mlx5_mpesw_work_st {
+	struct work_struct work;
+	struct mlx5_lag    *lag;
+	enum mpesw_op	   op;
+	struct completion  comp;
+	int result;
+};
+
 /* LAG data of a ConnectX card.
  * It serves both its phys functions.
  */
@@ -66,7 +79,6 @@ struct mlx5_lag {
 	struct lag_tracker        tracker;
 	struct workqueue_struct   *wq;
 	struct delayed_work       bond_work;
-	struct work_struct	  mpesw_work;
 	struct notifier_block     nb;
 	struct lag_mp             lag_mp;
 	struct mlx5_lag_port_sel  port_sel;
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c
index f643202b29c6..c17e8f1ec914 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c
@@ -7,63 +7,95 @@
 #include "eswitch.h"
 #include "lib/mlx5.h"
 
-void mlx5_mpesw_work(struct work_struct *work)
+static int add_mpesw_rule(struct mlx5_lag *ldev)
 {
-	struct mlx5_lag *ldev = container_of(work, struct mlx5_lag, mpesw_work);
+	struct mlx5_core_dev *dev = ldev->pf[MLX5_LAG_P1].dev;
+	int err;
 
-	mutex_lock(&ldev->lock);
-	mlx5_disable_lag(ldev);
-	mutex_unlock(&ldev->lock);
-}
+	if (atomic_add_return(1, &ldev->lag_mpesw.mpesw_rule_count) != 1)
+		return 0;
 
-static void mlx5_lag_disable_mpesw(struct mlx5_core_dev *dev)
-{
-	struct mlx5_lag *ldev = dev->priv.lag;
+	if (ldev->mode != MLX5_LAG_MODE_NONE) {
+		err = -EINVAL;
+		goto out_err;
+	}
 
-	if (!queue_work(ldev->wq, &ldev->mpesw_work))
-		mlx5_core_warn(dev, "failed to queue work\n");
+	err = mlx5_activate_lag(ldev, NULL, MLX5_LAG_MODE_MPESW, false);
+	if (err) {
+		mlx5_core_warn(dev, "Failed to create LAG in MPESW mode (%d)\n", err);
+		goto out_err;
+	}
+
+	return 0;
+
+out_err:
+	atomic_dec(&ldev->lag_mpesw.mpesw_rule_count);
+	return err;
 }
 
-void mlx5_lag_del_mpesw_rule(struct mlx5_core_dev *dev)
+static void del_mpesw_rule(struct mlx5_lag *ldev)
 {
-	struct mlx5_lag *ldev = dev->priv.lag;
+	if (!atomic_dec_return(&ldev->lag_mpesw.mpesw_rule_count) &&
+	    ldev->mode == MLX5_LAG_MODE_MPESW)
+		mlx5_disable_lag(ldev);
+}
 
-	if (!ldev)
-		return;
+static void mlx5_mpesw_work(struct work_struct *work)
+{
+	struct mlx5_mpesw_work_st *mpesww = container_of(work, struct mlx5_mpesw_work_st, work);
+	struct mlx5_lag *ldev = mpesww->lag;
 
 	mutex_lock(&ldev->lock);
-	if (!atomic_dec_return(&ldev->lag_mpesw.mpesw_rule_count) &&
-	    ldev->mode == MLX5_LAG_MODE_MPESW)
-		mlx5_lag_disable_mpesw(dev);
+	if (mpesww->op == MLX5_MPESW_OP_ENABLE)
+		mpesww->result = add_mpesw_rule(ldev);
+	else if (mpesww->op == MLX5_MPESW_OP_DISABLE)
+		del_mpesw_rule(ldev);
 	mutex_unlock(&ldev->lock);
+
+	complete(&mpesww->comp);
 }
 
-int mlx5_lag_add_mpesw_rule(struct mlx5_core_dev *dev)
+static int mlx5_lag_mpesw_queue_work(struct mlx5_core_dev *dev,
+				     enum mpesw_op op)
 {
 	struct mlx5_lag *ldev = dev->priv.lag;
+	struct mlx5_mpesw_work_st *work;
 	int err = 0;
 
 	if (!ldev)
 		return 0;
 
-	mutex_lock(&ldev->lock);
-	if (atomic_add_return(1, &ldev->lag_mpesw.mpesw_rule_count) != 1)
-		goto out;
+	work = kzalloc(sizeof(*work), GFP_KERNEL);
+	if (!work)
+		return -ENOMEM;
 
-	if (ldev->mode != MLX5_LAG_MODE_NONE) {
+	INIT_WORK(&work->work, mlx5_mpesw_work);
+	init_completion(&work->comp);
+	work->op = op;
+	work->lag = ldev;
+
+	if (!queue_work(ldev->wq, &work->work)) {
+		mlx5_core_warn(dev, "failed to queue mpesw work\n");
 		err = -EINVAL;
 		goto out;
 	}
-
-	err = mlx5_activate_lag(ldev, NULL, MLX5_LAG_MODE_MPESW, false);
-	if (err)
-		mlx5_core_warn(dev, "Failed to create LAG in MPESW mode (%d)\n", err);
-
+	wait_for_completion(&work->comp);
+	err = work->result;
 out:
-	mutex_unlock(&ldev->lock);
+	kfree(work);
 	return err;
 }
 
+void mlx5_lag_del_mpesw_rule(struct mlx5_core_dev *dev)
+{
+	mlx5_lag_mpesw_queue_work(dev, MLX5_MPESW_OP_DISABLE);
+}
+
+int mlx5_lag_add_mpesw_rule(struct mlx5_core_dev *dev)
+{
+	return mlx5_lag_mpesw_queue_work(dev, MLX5_MPESW_OP_ENABLE);
+}
+
 int mlx5_lag_do_mirred(struct mlx5_core_dev *mdev, struct net_device *out_dev)
 {
 	struct mlx5_lag *ldev = mdev->priv.lag;
@@ -71,12 +103,9 @@ int mlx5_lag_do_mirred(struct mlx5_core_dev *mdev, struct net_device *out_dev)
 	if (!netif_is_bond_master(out_dev) || !ldev)
 		return 0;
 
-	mutex_lock(&ldev->lock);
-	if (ldev->mode == MLX5_LAG_MODE_MPESW) {
-		mutex_unlock(&ldev->lock);
+	if (ldev->mode == MLX5_LAG_MODE_MPESW)
 		return -EOPNOTSUPP;
-	}
-	mutex_unlock(&ldev->lock);
+
 	return 0;
 }
 
@@ -90,11 +119,10 @@ bool mlx5_lag_mpesw_is_activated(struct mlx5_core_dev *dev)
 
 void mlx5_lag_mpesw_init(struct mlx5_lag *ldev)
 {
-	INIT_WORK(&ldev->mpesw_work, mlx5_mpesw_work);
 	atomic_set(&ldev->lag_mpesw.mpesw_rule_count, 0);
 }
 
 void mlx5_lag_mpesw_cleanup(struct mlx5_lag *ldev)
 {
-	cancel_delayed_work_sync(&ldev->bond_work);
+	WARN_ON(atomic_read(&ldev->lag_mpesw.mpesw_rule_count));
 }
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.h b/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.h
index be4abcb8fcd5..88e8daffcf92 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.h
+++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.h
@@ -12,7 +12,6 @@ struct lag_mpesw {
 	atomic_t mpesw_rule_count;
 };
 
-void mlx5_mpesw_work(struct work_struct *work);
 int mlx5_lag_do_mirred(struct mlx5_core_dev *mdev, struct net_device *out_dev);
 bool mlx5_lag_mpesw_is_activated(struct mlx5_core_dev *dev);
 #if IS_ENABLED(CONFIG_MLX5_ESWITCH)
-- 
2.35.1




  parent reply	other threads:[~2022-12-12 13:39 UTC|newest]

Thread overview: 170+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-12 13:15 [PATCH 6.0 000/157] 6.0.13-rc1 review Greg Kroah-Hartman
2022-12-12 13:15 ` [PATCH 6.0 001/157] madvise: use zap_page_range_single for madvise dontneed Greg Kroah-Hartman
2022-12-12 13:15 ` [PATCH 6.0 002/157] drm/i915: Remove non-existent pipes from bigjoiner pipe mask Greg Kroah-Hartman
2022-12-12 13:15 ` [PATCH 6.0 003/157] arm64: dts: rockchip: Fix gmac failure of rgmii-id from rk3566-roc-pc Greg Kroah-Hartman
2022-12-12 13:15 ` [PATCH 6.0 004/157] arm64: dts: rockchip: Fix i2c3 pinctrl on rk3566-roc-pc Greg Kroah-Hartman
2022-12-12 13:15 ` [PATCH 6.0 005/157] arm64: dts: rockchip: remove i2c5 from rk3566-roc-pc Greg Kroah-Hartman
2022-12-12 13:15 ` [PATCH 6.0 006/157] arm64: dts: rockchip: keep I2S1 disabled for GPIO function on ROCK Pi 4 series Greg Kroah-Hartman
2022-12-12 13:15 ` [PATCH 6.0 007/157] arm64: dts: rockchip: fix node name for hym8563 rtc Greg Kroah-Hartman
2022-12-12 13:15 ` [PATCH 6.0 008/157] arm: " Greg Kroah-Hartman
2022-12-12 13:15 ` [PATCH 6.0 009/157] arm: dts: rockchip: remove clock-frequency from rtc Greg Kroah-Hartman
2022-12-12 13:15 ` [PATCH 6.0 010/157] ARM: dts: rockchip: fix adc-keys sub node names Greg Kroah-Hartman
2022-12-12 13:15 ` [PATCH 6.0 011/157] arm64: " Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 012/157] ARM: dts: rockchip: fix ir-receiver " Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 013/157] arm64: " Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 014/157] ARM: dts: rockchip: rk3188: fix lcdc1-rgb24 node name Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 015/157] fs: use acquire ordering in __fget_light() Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 016/157] ARM: 9251/1: perf: Fix stacktraces for tracepoint events in THUMB2 kernels Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 017/157] ARM: 9266/1: mm: fix no-MMU ZERO_PAGE() implementation Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 018/157] ASoC: wm8962: Wait for updated value of WM8962_CLOCKING1 register Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 019/157] spi: mediatek: Fix DEVAPC Violation at KO Remove Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 020/157] ARM: dts: rockchip: disable arm_global_timer on rk3066 and rk3188 Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 021/157] ASoC: rt711-sdca: fix the latency time of clock stop prepare state machine transitions Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 022/157] 9p/fd: Use P9_HDRSZ for header size Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 023/157] regulator: slg51000: Wait after asserting CS pin Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 024/157] ALSA: seq: Fix function prototype mismatch in snd_seq_expand_var_event Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 025/157] LoongArch: Makefile: Use "grep -E" instead of "egrep" Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 026/157] LoongArch: Combine acpi_boot_table_init() and acpi_boot_init() Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 027/157] LoongArch: Set _PAGE_DIRTY only if _PAGE_MODIFIED is set in {pmd,pte}_mkwrite() Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 028/157] LoongArch: Fix unsigned comparison with less than zero Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 029/157] selftests/net: Find nettest in current directory Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 030/157] btrfs: send: avoid unaligned encoded writes when attempting to clone range Greg Kroah-Hartman
2022-12-12 13:16 ` Greg Kroah-Hartman [this message]
2022-12-12 13:16 ` [PATCH 6.0 032/157] ASoC: soc-pcm: Add NULL check in BE reparenting Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 033/157] regulator: twl6030: fix get status of twl6032 regulators Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 034/157] fbcon: Use kzalloc() in fbcon_prepare_logo() Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 035/157] usb: dwc3: gadget: Disable GUSB2PHYCFG.SUSPHY for End Transfer Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 036/157] 9p/xen: check logical size for buffer size Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 037/157] net: usb: qmi_wwan: add u-blox 0x1342 composition Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 038/157] drm/amd/display: Use viewport height for subvp mall allocation size Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 039/157] drm/amd/display: Avoid setting pixel rate divider to N/A Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 040/157] drm/amd/display: Use new num clk levels struct for max mclk index Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 041/157] drm/amdgpu: fix use-after-free during gpu recovery Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 042/157] mm/khugepaged: take the right locks for page table retraction Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 043/157] mm/khugepaged: fix GUP-fast interaction by sending IPI Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 044/157] mm/khugepaged: invoke MMU notifiers in shmem/file collapse paths Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 045/157] hugetlb: dont delete vma_lock in hugetlb MADV_DONTNEED processing Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 046/157] ALSA: hda/realtek: More robust component matching for CS35L41 Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 047/157] crypto: ccp - Add a quirk to firmware update Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 048/157] soundwire: dmi-quirks: add remapping for HP Omen 16-k0005TX Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 049/157] platform/x86: asus-wmi: Adjust tablet/lidflip handling to use enum Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 050/157] platform/x86: asus-wmi: Add support for ROG X13 tablet mode Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 051/157] xen/netback: Ensure protocol headers dont fall in the non-linear area Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 052/157] xen/netback: dont call kfree_skb() with interrupts disabled Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 053/157] media: videobuf2-core: take mmap_lock in vb2_get_unmapped_area() Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 054/157] fscache: Fix oops due to race with cookie_lru and use_cookie Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 055/157] soundwire: intel: Initialize clock stop timeout Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 056/157] Revert "ARM: dts: imx7: Fix NAND controller size-cells" Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 057/157] media: v4l2-dv-timings.c: fix too strict blanking sanity checks Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 058/157] memcg: fix possible use-after-free in memcg_write_event_control() Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 059/157] mm/gup: fix gup_pud_range() for dax Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 060/157] tmpfs: fix data loss from failed fallocate Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 061/157] Bluetooth: btusb: Fix CSR clones again by re-adding ERR_DATA_REPORTING quirk Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 062/157] Bluetooth: btusb: Add debug message for CSR controllers Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 063/157] Bluetooth: Fix crash when replugging CSR fake controllers Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 064/157] selftests/tls: Fix tls selftests dependency to correct algorithm Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 065/157] net: mana: Fix race on per-CQ variable napi work_done Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 066/157] io_uring: Fix a null-ptr-deref in io_tctx_exit_cb() Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 067/157] HID: uclogic: Fix frame templates for big endian architectures Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 068/157] KVM: s390: vsie: Fix the initialization of the epoch extension (epdx) field Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 069/157] drm/vmwgfx: Dont use screen objects when SEV is active Greg Kroah-Hartman
2022-12-12 13:16 ` [PATCH 6.0 070/157] can: can327: flush TX_work on ldisc .close() Greg Kroah-Hartman
2022-12-12 21:11   ` patchwork-bot+netdevbpf
2022-12-12 13:16 ` [PATCH 6.0 071/157] can: slcan: fix freed work crash Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 072/157] can: esd_usb: Allow REC and TEC to return to zero Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 073/157] drm/amdgpu/sdma_v4_0: turn off SDMA ring buffer in the s2idle suspend Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 074/157] drm/amd/display: fix array index out of bound error in DCN32 DML Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 075/157] drm/shmem-helper: Remove errant put in error path Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 076/157] drm/shmem-helper: Avoid vm_open error paths Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 077/157] net: dsa: sja1105: avoid out of bounds access in sja1105_init_l2_policing() Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 078/157] HID: usbhid: Add ALWAYS_POLL quirk for some mice Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 079/157] HID: fix I2C_HID not selected when I2C_HID_OF_ELAN is Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 080/157] HID: uclogic: Add HID_QUIRK_HIDINPUT_FORCE quirk Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 081/157] HID: hid-lg4ff: Add check for empty lbuf Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 082/157] HID: core: fix shift-out-of-bounds in hid_report_raw_event Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 083/157] HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch V 10 Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 084/157] ARM: 9278/1: kfence: only handle translation faults Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 085/157] can: af_can: fix NULL pointer dereference in can_rcv_filter Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 086/157] ARM: at91: fix build for SAMA5D3 w/o L2 cache Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 087/157] gpiolib: fix memory leak in gpiochip_setup_dev() Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 088/157] netfilter: nft_set_pipapo: Actually validate intervals in fields after the first one Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 089/157] netfilter: flowtable_offload: fix using __this_cpu_add in preemptible Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 090/157] drm/vmwgfx: Fix race issue calling pin_user_pages Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 091/157] ieee802154: cc2520: Fix error return code in cc2520_hw_init() Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 092/157] ca8210: Fix crash by zero initializing data Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 093/157] netfilter: conntrack: fix using __this_cpu_add in preemptible Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 094/157] netfilter: ctnetlink: fix compilation warning after data race fixes in ct mark Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 095/157] drm/bridge: ti-sn65dsi86: Fix output polarity setting bug Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 096/157] gpio: amd8111: Fix PCI device reference count leak Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 097/157] e1000e: Fix TX dispatch condition Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 098/157] igb: Allocate MSI-X vector when testing Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 099/157] net: broadcom: Add PTP_1588_CLOCK_OPTIONAL dependency for BCMGENET under ARCH_BCM2835 Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 100/157] net: ethernet: ti: am65-cpsw: Fix RGMII configuration at SPEED_10 Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 101/157] drm: bridge: dw_hdmi: fix preference of RGB modes over YUV420 Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 102/157] af_unix: Get user_ns from in_skb in unix_diag_get_exact() Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 103/157] inet: ping: use hlist_nulls rcu iterator during lookup Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 104/157] vmxnet3: correctly report encapsulated LRO packet Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 105/157] vmxnet3: use correct intrConf reference when using extended queues Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 106/157] Bluetooth: 6LoWPAN: add missing hci_dev_put() in get_l2cap_conn() Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 107/157] Bluetooth: hci_conn: add missing hci_dev_put() in iso_listen_bis() Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 108/157] Bluetooth: Remove codec id field in vendor codec definition Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 109/157] Bluetooth: Fix support for Read Local Supported Codecs V2 Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 110/157] Bluetooth: Fix not cleanup led when bt_init fails Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 111/157] net: dsa: ksz: Check return value Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 112/157] net: dsa: hellcreek: " Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 113/157] net: dsa: sja1105: " Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 114/157] selftests: rtnetlink: correct xfrm policy rule in kci_test_ipsec_offload Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 115/157] nfp: correct desc type when header dma len is 4096 Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 116/157] mac802154: fix missing INIT_LIST_HEAD in ieee802154_if_add() Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 117/157] net: encx24j600: Add parentheses to fix precedence Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 118/157] net: encx24j600: Fix invalid logic in reading of MISTAT register Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 119/157] net: mdiobus: fwnode_mdiobus_register_phy() rework error handling Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 120/157] net: mdiobus: fix double put fwnode in the error path Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 121/157] octeontx2-pf: Fix potential memory leak in otx2_init_tc() Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 122/157] net: microchip: sparx5: correctly free skb in xmit Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 123/157] xen-netfront: Fix NULL sring after live migration Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 124/157] net: mvneta: Prevent out of bounds read in mvneta_config_rss() Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 125/157] i40e: Fix not setting default xps_cpus after reset Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 126/157] i40e: Fix for VF MAC address 0 Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 127/157] i40e: Disallow ip4 and ip6 l4_4_bytes Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 128/157] NFC: nci: Bounds check struct nfc_target arrays Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 129/157] nvme initialize core quirks before calling nvme_init_subsystem Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 130/157] gpio/rockchip: fix refcount leak in rockchip_gpiolib_register() Greg Kroah-Hartman
2022-12-12 13:17 ` [PATCH 6.0 131/157] net: stmmac: fix "snps,axi-config" node property parsing Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 132/157] net: wwan: iosm: fix memory leak in ipc_mux_init() Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 133/157] ip_gre: do not report erspan version on GRE interface Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 134/157] net: microchip: sparx5: Fix missing destroy_workqueue of mact_queue Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 135/157] ravb: Fix potential use-after-free in ravb_rx_gbeth() Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 136/157] net: thunderx: Fix missing destroy_workqueue of nicvf_rx_mode_wq Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 137/157] net: hisilicon: Fix potential use-after-free in hisi_femac_rx() Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 138/157] net: mdio: fix unbalanced fwnode reference count in mdio_device_release() Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 139/157] net: hisilicon: Fix potential use-after-free in hix5hd2_rx() Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 140/157] tipc: Fix potential OOB in tipc_link_proto_rcv() Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 141/157] bonding: get correct NA dest address Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 142/157] ipv4: Fix incorrect route flushing when source address is deleted Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 143/157] ipv4: Fix incorrect route flushing when table ID 0 is used Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 144/157] net: dsa: sja1105: fix memory leak in sja1105_setup_devlink_regions() Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 145/157] tipc: call tipc_lxc_xmit without holding node_read_lock Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 146/157] ethernet: aeroflex: fix potential skb leak in greth_init_rings() Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 147/157] dpaa2-switch: Fix memory leak in dpaa2_switch_acl_entry_add() and dpaa2_switch_acl_entry_remove() Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 148/157] xen/netback: fix build warning Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 149/157] net: dsa: mv88e6xxx: accept phy-mode = "internal" for internal PHY ports Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 150/157] net: phy: mxl-gpy: add MDINT workaround Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 151/157] net: plip: dont call kfree_skb/dev_kfree_skb() under spin_lock_irq() Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 152/157] ipv6: avoid use-after-free in ip6_fragment() Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 153/157] net: thunderbolt: fix memory leak in tbnet_open() Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 154/157] net: mvneta: Fix an out of bounds check Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 155/157] macsec: add missing attribute validation for offload Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 156/157] s390/qeth: fix use-after-free in hsci Greg Kroah-Hartman
2022-12-12 13:18 ` [PATCH 6.0 157/157] drm/amdgpu/vcn: update vcn4 fw shared data structure Greg Kroah-Hartman
2022-12-12 19:06 ` [PATCH 6.0 000/157] 6.0.13-rc1 review Justin Forbes
2022-12-12 23:14 ` Florian Fainelli
2022-12-12 23:58 ` Shuah Khan
2022-12-13  0:25 ` Guenter Roeck
2022-12-13  2:27 ` Ron Economos
2022-12-13  3:20 ` Bagas Sanjaya
2022-12-13  6:31 ` Naresh Kamboju
2022-12-13 16:51   ` Nathan Chancellor
2022-12-13  6:36 ` Naresh Kamboju
2022-12-13  8:06 ` Fenil Jain
2022-12-13 12:09 ` Sudip Mukherjee (Codethink)

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=20221212130935.774327614@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=elic@nvidia.com \
    --cc=mbloch@nvidia.com \
    --cc=patches@lists.linux.dev \
    --cc=saeedm@nvidia.com \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /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