public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Wang Jianjian <wangjianjian3@huawei.com>, Jan Kara <jack@suse.cz>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.10 140/238] quota: Fix potential NULL pointer dereference
Date: Sun, 24 Mar 2024 19:38:48 -0400	[thread overview]
Message-ID: <20240324234027.1354210-141-sashal@kernel.org> (raw)
In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org>

From: Wang Jianjian <wangjianjian3@huawei.com>

[ Upstream commit d0aa72604fbd80c8aabb46eda00535ed35570f1f ]

Below race may cause NULL pointer dereference

P1					P2
dquot_free_inode			quota_off
					  drop_dquot_ref
					   remove_dquot_ref
					   dquots = i_dquot(inode)
  dquots = i_dquot(inode)
  srcu_read_lock
  dquots[cnt]) != NULL (1)
					     dquots[type] = NULL (2)
  spin_lock(&dquots[cnt]->dq_dqb_lock) (3)
   ....

If dquot_free_inode(or other routines) checks inode's quota pointers (1)
before quota_off sets it to NULL(2) and use it (3) after that, NULL pointer
dereference will be triggered.

So let's fix it by using a temporary pointer to avoid this issue.

Signed-off-by: Wang Jianjian <wangjianjian3@huawei.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Message-Id: <20240202081852.2514092-1-wangjianjian3@huawei.com>
Stable-dep-of: 179b8c97ebf6 ("quota: Fix rcu annotations of inode dquot pointers")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/quota/dquot.c | 98 ++++++++++++++++++++++++++++--------------------
 1 file changed, 57 insertions(+), 41 deletions(-)

diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
index 77578332e35ae..3f19ef2cc186d 100644
--- a/fs/quota/dquot.c
+++ b/fs/quota/dquot.c
@@ -401,15 +401,17 @@ int dquot_mark_dquot_dirty(struct dquot *dquot)
 EXPORT_SYMBOL(dquot_mark_dquot_dirty);
 
 /* Dirtify all the dquots - this can block when journalling */
-static inline int mark_all_dquot_dirty(struct dquot * const *dquot)
+static inline int mark_all_dquot_dirty(struct dquot * const *dquots)
 {
 	int ret, err, cnt;
+	struct dquot *dquot;
 
 	ret = err = 0;
 	for (cnt = 0; cnt < MAXQUOTAS; cnt++) {
-		if (dquot[cnt])
+		dquot = srcu_dereference(dquots[cnt], &dquot_srcu);
+		if (dquot)
 			/* Even in case of error we have to continue */
-			ret = mark_dquot_dirty(dquot[cnt]);
+			ret = mark_dquot_dirty(dquot);
 		if (!err)
 			err = ret;
 	}
@@ -1686,6 +1688,7 @@ int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags)
 	struct dquot_warn warn[MAXQUOTAS];
 	int reserve = flags & DQUOT_SPACE_RESERVE;
 	struct dquot **dquots;
+	struct dquot *dquot;
 
 	if (!inode_quota_active(inode)) {
 		if (reserve) {
@@ -1705,27 +1708,26 @@ int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags)
 	index = srcu_read_lock(&dquot_srcu);
 	spin_lock(&inode->i_lock);
 	for (cnt = 0; cnt < MAXQUOTAS; cnt++) {
-		if (!dquots[cnt])
+		dquot = srcu_dereference(dquots[cnt], &dquot_srcu);
+		if (!dquot)
 			continue;
 		if (reserve) {
-			ret = dquot_add_space(dquots[cnt], 0, number, flags,
-					      &warn[cnt]);
+			ret = dquot_add_space(dquot, 0, number, flags, &warn[cnt]);
 		} else {
-			ret = dquot_add_space(dquots[cnt], number, 0, flags,
-					      &warn[cnt]);
+			ret = dquot_add_space(dquot, number, 0, flags, &warn[cnt]);
 		}
 		if (ret) {
 			/* Back out changes we already did */
 			for (cnt--; cnt >= 0; cnt--) {
-				if (!dquots[cnt])
+				dquot = srcu_dereference(dquots[cnt], &dquot_srcu);
+				if (!dquot)
 					continue;
-				spin_lock(&dquots[cnt]->dq_dqb_lock);
+				spin_lock(&dquot->dq_dqb_lock);
 				if (reserve)
-					dquot_free_reserved_space(dquots[cnt],
-								  number);
+					dquot_free_reserved_space(dquot, number);
 				else
-					dquot_decr_space(dquots[cnt], number);
-				spin_unlock(&dquots[cnt]->dq_dqb_lock);
+					dquot_decr_space(dquot, number);
+				spin_unlock(&dquot->dq_dqb_lock);
 			}
 			spin_unlock(&inode->i_lock);
 			goto out_flush_warn;
@@ -1756,6 +1758,7 @@ int dquot_alloc_inode(struct inode *inode)
 	int cnt, ret = 0, index;
 	struct dquot_warn warn[MAXQUOTAS];
 	struct dquot * const *dquots;
+	struct dquot *dquot;
 
 	if (!inode_quota_active(inode))
 		return 0;
@@ -1766,17 +1769,19 @@ int dquot_alloc_inode(struct inode *inode)
 	index = srcu_read_lock(&dquot_srcu);
 	spin_lock(&inode->i_lock);
 	for (cnt = 0; cnt < MAXQUOTAS; cnt++) {
-		if (!dquots[cnt])
+		dquot = srcu_dereference(dquots[cnt], &dquot_srcu);
+		if (!dquot)
 			continue;
-		ret = dquot_add_inodes(dquots[cnt], 1, &warn[cnt]);
+		ret = dquot_add_inodes(dquot, 1, &warn[cnt]);
 		if (ret) {
 			for (cnt--; cnt >= 0; cnt--) {
-				if (!dquots[cnt])
+				dquot = srcu_dereference(dquots[cnt], &dquot_srcu);
+				if (!dquot)
 					continue;
 				/* Back out changes we already did */
-				spin_lock(&dquots[cnt]->dq_dqb_lock);
-				dquot_decr_inodes(dquots[cnt], 1);
-				spin_unlock(&dquots[cnt]->dq_dqb_lock);
+				spin_lock(&dquot->dq_dqb_lock);
+				dquot_decr_inodes(dquot, 1);
+				spin_unlock(&dquot->dq_dqb_lock);
 			}
 			goto warn_put_all;
 		}
@@ -1798,6 +1803,7 @@ EXPORT_SYMBOL(dquot_alloc_inode);
 int dquot_claim_space_nodirty(struct inode *inode, qsize_t number)
 {
 	struct dquot **dquots;
+	struct dquot *dquot;
 	int cnt, index;
 
 	if (!inode_quota_active(inode)) {
@@ -1813,9 +1819,8 @@ int dquot_claim_space_nodirty(struct inode *inode, qsize_t number)
 	spin_lock(&inode->i_lock);
 	/* Claim reserved quotas to allocated quotas */
 	for (cnt = 0; cnt < MAXQUOTAS; cnt++) {
-		if (dquots[cnt]) {
-			struct dquot *dquot = dquots[cnt];
-
+		dquot = srcu_dereference(dquots[cnt], &dquot_srcu);
+		if (dquot) {
 			spin_lock(&dquot->dq_dqb_lock);
 			if (WARN_ON_ONCE(dquot->dq_dqb.dqb_rsvspace < number))
 				number = dquot->dq_dqb.dqb_rsvspace;
@@ -1840,6 +1845,7 @@ EXPORT_SYMBOL(dquot_claim_space_nodirty);
 void dquot_reclaim_space_nodirty(struct inode *inode, qsize_t number)
 {
 	struct dquot **dquots;
+	struct dquot *dquot;
 	int cnt, index;
 
 	if (!inode_quota_active(inode)) {
@@ -1855,9 +1861,8 @@ void dquot_reclaim_space_nodirty(struct inode *inode, qsize_t number)
 	spin_lock(&inode->i_lock);
 	/* Claim reserved quotas to allocated quotas */
 	for (cnt = 0; cnt < MAXQUOTAS; cnt++) {
-		if (dquots[cnt]) {
-			struct dquot *dquot = dquots[cnt];
-
+		dquot = srcu_dereference(dquots[cnt], &dquot_srcu);
+		if (dquot) {
 			spin_lock(&dquot->dq_dqb_lock);
 			if (WARN_ON_ONCE(dquot->dq_dqb.dqb_curspace < number))
 				number = dquot->dq_dqb.dqb_curspace;
@@ -1884,6 +1889,7 @@ void __dquot_free_space(struct inode *inode, qsize_t number, int flags)
 	unsigned int cnt;
 	struct dquot_warn warn[MAXQUOTAS];
 	struct dquot **dquots;
+	struct dquot *dquot;
 	int reserve = flags & DQUOT_SPACE_RESERVE, index;
 
 	if (!inode_quota_active(inode)) {
@@ -1904,17 +1910,18 @@ void __dquot_free_space(struct inode *inode, qsize_t number, int flags)
 		int wtype;
 
 		warn[cnt].w_type = QUOTA_NL_NOWARN;
-		if (!dquots[cnt])
+		dquot = srcu_dereference(dquots[cnt], &dquot_srcu);
+		if (!dquot)
 			continue;
-		spin_lock(&dquots[cnt]->dq_dqb_lock);
-		wtype = info_bdq_free(dquots[cnt], number);
+		spin_lock(&dquot->dq_dqb_lock);
+		wtype = info_bdq_free(dquot, number);
 		if (wtype != QUOTA_NL_NOWARN)
-			prepare_warning(&warn[cnt], dquots[cnt], wtype);
+			prepare_warning(&warn[cnt], dquot, wtype);
 		if (reserve)
-			dquot_free_reserved_space(dquots[cnt], number);
+			dquot_free_reserved_space(dquot, number);
 		else
-			dquot_decr_space(dquots[cnt], number);
-		spin_unlock(&dquots[cnt]->dq_dqb_lock);
+			dquot_decr_space(dquot, number);
+		spin_unlock(&dquot->dq_dqb_lock);
 	}
 	if (reserve)
 		*inode_reserved_space(inode) -= number;
@@ -1939,6 +1946,7 @@ void dquot_free_inode(struct inode *inode)
 	unsigned int cnt;
 	struct dquot_warn warn[MAXQUOTAS];
 	struct dquot * const *dquots;
+	struct dquot *dquot;
 	int index;
 
 	if (!inode_quota_active(inode))
@@ -1949,16 +1957,16 @@ void dquot_free_inode(struct inode *inode)
 	spin_lock(&inode->i_lock);
 	for (cnt = 0; cnt < MAXQUOTAS; cnt++) {
 		int wtype;
-
 		warn[cnt].w_type = QUOTA_NL_NOWARN;
-		if (!dquots[cnt])
+		dquot = srcu_dereference(dquots[cnt], &dquot_srcu);
+		if (!dquot)
 			continue;
-		spin_lock(&dquots[cnt]->dq_dqb_lock);
-		wtype = info_idq_free(dquots[cnt], 1);
+		spin_lock(&dquot->dq_dqb_lock);
+		wtype = info_idq_free(dquot, 1);
 		if (wtype != QUOTA_NL_NOWARN)
-			prepare_warning(&warn[cnt], dquots[cnt], wtype);
-		dquot_decr_inodes(dquots[cnt], 1);
-		spin_unlock(&dquots[cnt]->dq_dqb_lock);
+			prepare_warning(&warn[cnt], dquot, wtype);
+		dquot_decr_inodes(dquot, 1);
+		spin_unlock(&dquot->dq_dqb_lock);
 	}
 	spin_unlock(&inode->i_lock);
 	mark_all_dquot_dirty(dquots);
@@ -1985,7 +1993,7 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to)
 	qsize_t rsv_space = 0;
 	qsize_t inode_usage = 1;
 	struct dquot *transfer_from[MAXQUOTAS] = {};
-	int cnt, ret = 0;
+	int cnt, index, ret = 0;
 	char is_valid[MAXQUOTAS] = {};
 	struct dquot_warn warn_to[MAXQUOTAS];
 	struct dquot_warn warn_from_inodes[MAXQUOTAS];
@@ -2074,8 +2082,16 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to)
 	spin_unlock(&inode->i_lock);
 	spin_unlock(&dq_data_lock);
 
+	/*
+	 * These arrays are local and we hold dquot references so we don't need
+	 * the srcu protection but still take dquot_srcu to avoid warning in
+	 * mark_all_dquot_dirty().
+	 */
+	index = srcu_read_lock(&dquot_srcu);
 	mark_all_dquot_dirty(transfer_from);
 	mark_all_dquot_dirty(transfer_to);
+	srcu_read_unlock(&dquot_srcu, index);
+
 	flush_warnings(warn_to);
 	flush_warnings(warn_from_inodes);
 	flush_warnings(warn_from_space);
-- 
2.43.0


  parent reply	other threads:[~2024-03-24 23:42 UTC|newest]

Thread overview: 251+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-24 23:36 [PATCH 5.10 000/238] 5.10.214-rc1 review Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 001/238] io_uring/unix: drop usage of io_uring socket Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 002/238] io_uring: drop any code related to SCM_RIGHTS Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 003/238] rcu-tasks: Provide rcu_trace_implies_rcu_gp() Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 004/238] bpf: Defer the free of inner map when necessary Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 005/238] btrfs: add and use helper to check if block group is used Sasha Levin
2024-03-25 18:26   ` David Sterba
2024-03-28 10:25     ` Pavel Machek
2024-03-24 23:36 ` [PATCH 5.10 006/238] selftests: tls: use exact comparison in recv_partial Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 007/238] ASoC: rt5645: Make LattePanda board DMI match more precise Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 008/238] x86/xen: Add some null pointer checking to smp.c Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 009/238] MIPS: Clear Cause.BD in instruction_pointer_set Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 010/238] HID: multitouch: Add required quirk for Synaptics 0xcddc device Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 011/238] gen_compile_commands: fix invalid escape sequence warning Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 012/238] RDMA/mlx5: Fix fortify source warning while accessing Eth segment Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 013/238] RDMA/mlx5: Relax DEVX access upon modify commands Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 014/238] x86/mm: Move is_vsyscall_vaddr() into asm/vsyscall.h Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 015/238] x86/mm: Disallow vsyscall page read for copy_from_kernel_nofault() Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 016/238] net/iucv: fix the allocation size of iucv_path_table array Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 017/238] parisc/ftrace: add missing CONFIG_DYNAMIC_FTRACE check Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 018/238] block: sed-opal: handle empty atoms when parsing response Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 019/238] dm-verity, dm-crypt: align "struct bvec_iter" correctly Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 020/238] scsi: mpt3sas: Prevent sending diag_reset when the controller is ready Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 021/238] Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 022/238] firewire: core: use long bus reset on gap count error Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 023/238] ASoC: Intel: bytcr_rt5640: Add an extra entry for the Chuwi Vi8 tablet Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 024/238] Input: gpio_keys_polled - suppress deferred probe error for gpio Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 025/238] ASoC: wm8962: Enable oscillator if selecting WM8962_FLL_OSC Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 026/238] ASoC: wm8962: Enable both SPKOUTR_ENA and SPKOUTL_ENA in mono mode Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 027/238] ASoC: wm8962: Fix up incorrect error message in wm8962_set_fll Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 028/238] x86/paravirt: Fix build due to __text_gen_insn() backport Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 029/238] do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 030/238] nbd: null check for nla_nest_start Sasha Levin
2024-03-24 23:36 ` [PATCH 5.10 031/238] fs/select: rework stack allocation hack for clang Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 032/238] block: add a new set_read_only method Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 033/238] md: implement ->set_read_only to hook into BLKROSET processing Sasha Levin
2024-03-25  1:04   ` Christoph Hellwig
2024-03-25 11:26     ` Sasha Levin
2024-03-26  7:40       ` Christoph Hellwig
2024-03-26  8:46         ` Song Liu
2024-03-27  1:18           ` Li Nan
2024-03-27  5:50             ` Song Liu
2024-03-24 23:37 ` [PATCH 5.10 034/238] md: Don't clear MD_CLOSING when the raid is about to stop Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 035/238] aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 036/238] timekeeping: Fix cross-timestamp interpolation on counter wrap Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 037/238] timekeeping: Fix cross-timestamp interpolation corner case decision Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 038/238] timekeeping: Fix cross-timestamp interpolation for non-x86 Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 039/238] wifi: ath10k: fix NULL pointer dereference in ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev() Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 040/238] wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 041/238] wifi: b43: Stop/wake correct queue in PIO " Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 042/238] wifi: b43: Stop correct queue in DMA worker " Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 043/238] wifi: b43: Disable QoS for bcm4331 Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 044/238] wifi: wilc1000: fix declarations ordering Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 045/238] wifi: wilc1000: fix RCU usage in connect path Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 046/238] wifi: rtl8xxxu: add cancel_work_sync() for c2hcmd_work Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 047/238] wifi: wilc1000: fix multi-vif management when deleting a vif Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 048/238] wifi: mwifiex: debugfs: Drop unnecessary error check for debugfs_create_dir() Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 049/238] ARM: dts: renesas: r8a73a4: Fix external clocks and clock rate Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 050/238] cpufreq: brcmstb-avs-cpufreq: add check for cpufreq_cpu_get's return value Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 051/238] sock_diag: annotate data-races around sock_diag_handlers[family] Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 052/238] inet_diag: annotate data-races around inet_diag_table[] Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 053/238] bpftool: Silence build warning about calloc() Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 054/238] af_unix: Annotate data-race of gc_in_progress in wait_for_unix_gc() Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 055/238] wifi: ath9k: delay all of ath9k_wmi_event_tasklet() until init is complete Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 056/238] wifi: iwlwifi: dbg-tlv: ensure NUL termination Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 057/238] wifi: iwlwifi: fix EWRD table validity check Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 058/238] net: blackhole_dev: fix build warning for ethh set but not used Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 059/238] wifi: libertas: fix some memleaks in lbs_allocate_cmd_buffer() Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 060/238] printk: Add panic_in_progress helper Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 061/238] printk: Disable passing console lock owner completely during panic() Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 062/238] arm64: dts: mediatek: mt7622: add missing "device_type" to memory nodes Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 063/238] bpf: Factor out bpf_spin_lock into helpers Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 064/238] bpf: Mark bpf_spin_{lock,unlock}() helpers with notrace correctly Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 065/238] wireless: Remove redundant 'flush_workqueue()' calls Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 066/238] wifi: wilc1000: prevent use-after-free on vif when cleaning up all interfaces Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 067/238] ACPI: processor_idle: Fix memory leak in acpi_processor_power_exit() Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 068/238] bus: tegra-aconnect: Update dependency to ARCH_TEGRA Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 069/238] iommu/amd: Mark interrupt as managed Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 070/238] wifi: brcmsmac: avoid function pointer casts Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 071/238] net: ena: Remove ena_select_queue Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 072/238] ARM: dts: arm: realview: Fix development chip ROM compatible value Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 073/238] ARM: dts: imx6dl-yapp4: Move phy reset into switch node Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 074/238] ARM: dts: imx6dl-yapp4: Fix typo in the QCA switch register address Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 075/238] ARM: dts: imx6dl-yapp4: Move the internal switch PHYs under the switch node Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 076/238] arm64: dts: marvell: reorder crypto interrupts on Armada SoCs Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 077/238] ACPI: scan: Fix device check notification handling Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 078/238] x86, relocs: Ignore relocations in .notes section Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 079/238] SUNRPC: fix some memleaks in gssx_dec_option_array Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 080/238] mmc: wmt-sdmmc: remove an incorrect release_mem_region() call in the .remove function Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 081/238] wifi: rtw88: 8821c: Fix false alarm count Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 082/238] PCI: Make pci_dev_is_disconnected() helper public for other drivers Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 083/238] iommu/vt-d: Don't issue ATS Invalidation request when device is disconnected Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 084/238] igb: move PEROUT and EXTTS isr logic to separate functions Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 085/238] igb: Fix missing time sync events Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 086/238] Bluetooth: Remove superfluous call to hci_conn_check_pending() Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 087/238] Bluetooth: hci_core: Fix possible buffer overflow Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 088/238] sr9800: Add check for usbnet_get_endpoints Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 089/238] bpf: Eliminate rlimit-based memory accounting for devmap maps Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 090/238] bpf: Fix DEVMAP_HASH overflow check on 32-bit arches Sasha Levin
2024-03-24 23:37 ` [PATCH 5.10 091/238] bpf: Fix hashtab " Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 092/238] bpf: Fix stackmap " Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 093/238] ipv6: fib6_rules: flush route cache when rule is changed Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 094/238] net: ip_tunnel: make sure to pull inner header in ip_tunnel_rcv() Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 095/238] net: phy: fix phy_get_internal_delay accessing an empty array Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 096/238] net: hns3: fix port duplex configure error in IMP reset Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 097/238] net: phy: DP83822: enable rgmii mode if phy_interface_is_rgmii Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 098/238] net: phy: dp83822: Fix RGMII TX delay configuration Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 099/238] OPP: debugfs: Fix warning around icc_get_name() Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 100/238] tcp: fix incorrect parameter validation in the do_tcp_getsockopt() function Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 101/238] net/ipv4: Replace one-element array with flexible-array member Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 102/238] net/ipv4: Revert use of struct_size() helper Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 103/238] net/ipv4/ipv6: Replace one-element arraya with flexible-array members Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 104/238] bpf: net: Change do_ip_getsockopt() to take the sockptr_t argument Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 105/238] ipmr: fix incorrect parameter validation in the ip_mroute_getsockopt() function Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 106/238] l2tp: fix incorrect parameter validation in the pppol2tp_getsockopt() function Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 107/238] udp: fix incorrect parameter validation in the udp_lib_getsockopt() function Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 108/238] net: kcm: fix incorrect parameter validation in the kcm_getsockopt) function Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 109/238] net/x25: fix incorrect parameter validation in the x25_getsockopt() function Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 110/238] nfp: flower: handle acti_netdevs allocation failure Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 111/238] dm raid: fix false positive for requeue needed during reshape Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 112/238] dm: call the resume method on internal suspend Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 113/238] drm/tegra: dsi: Add missing check for of_find_device_by_node Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 114/238] drm/tegra: dsi: Make use of the helper function dev_err_probe() Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 115/238] drm/tegra: dsi: Fix some error handling paths in tegra_dsi_probe() Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 116/238] drm/tegra: dsi: Fix missing pm_runtime_disable() in the error handling path of tegra_dsi_probe() Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 117/238] drm/tegra: output: Fix missing i2c_put_adapter() in the error handling paths of tegra_output_probe() Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 118/238] drm/rockchip: inno_hdmi: Fix video timing Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 119/238] drm: Don't treat 0 as -1 in drm_fixp2int_ceil Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 120/238] drm/rockchip: lvds: do not overwrite error code Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 121/238] drm/rockchip: lvds: do not print scary message when probing defer Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 122/238] drm/lima: fix a memleak in lima_heap_alloc Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 123/238] dmaengine: tegra210-adma: Update dependency to ARCH_TEGRA Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 124/238] media: tc358743: register v4l2 async device only after successful setup Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 125/238] PCI/DPC: Print all TLP Prefixes, not just the first Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 126/238] perf record: Fix possible incorrect free in record__switch_output() Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 127/238] HID: lenovo: Add middleclick_workaround sysfs knob for cptkbd Sasha Levin
2024-03-28 10:40   ` Pavel Machek
2024-03-28 11:14     ` Mikhail Khvoinitsky
2024-03-24 23:38 ` [PATCH 5.10 128/238] drm/amd/display: Fix a potential buffer overflow in 'dp_dsc_clock_en_read()' Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 129/238] drm/amd/display: Fix potential NULL pointer dereferences in 'dcn10_set_output_transfer_func()' Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 130/238] perf evsel: Fix duplicate initialization of data->id in evsel__parse_sample() Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 131/238] PCI/AER: Fix rootport attribute paths in ABI docs Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 132/238] media: em28xx: annotate unchecked call to media_device_register() Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 133/238] media: v4l2-tpg: fix some memleaks in tpg_alloc Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 134/238] media: v4l2-mem2mem: fix a memleak in v4l2_m2m_register_entity Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 135/238] media: edia: dvbdev: fix a use-after-free Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 136/238] pinctrl: mediatek: Drop bogus slew rate register range for MT8192 Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 137/238] clk: qcom: reset: Commonize the de/assert functions Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 138/238] clk: qcom: reset: Ensure write completion on reset de/assertion Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 139/238] quota: simplify drop_dquot_ref() Sasha Levin
2024-03-24 23:38 ` Sasha Levin [this message]
2024-03-24 23:38 ` [PATCH 5.10 141/238] quota: Fix rcu annotations of inode dquot pointers Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 142/238] PCI: switchtec: Fix an error handling path in switchtec_pci_probe() Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 143/238] crypto: xilinx - call finalize with bh disabled Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 144/238] perf thread_map: Free strlist on normal path in thread_map__new_by_tid_str() Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 145/238] drm/radeon/ni: Fix wrong firmware size logging in ni_init_microcode() Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 146/238] ALSA: seq: fix function cast warnings Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 147/238] perf stat: Avoid metric-only segv Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 148/238] ASoC: meson: Use dev_err_probe() helper Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 149/238] ASoC: meson: aiu: fix function pointer type mismatch Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 150/238] ASoC: meson: t9015: " Sasha Levin
2024-03-24 23:38 ` [PATCH 5.10 151/238] media: sun8i-di: Fix coefficient writes Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 152/238] media: sun8i-di: Fix power on/off sequences Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 153/238] media: sun8i-di: Fix chroma difference threshold Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 154/238] media: imx: csc/scaler: fix v4l2_ctrl_handler memory leak Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 155/238] media: go7007: add check of return value of go7007_read_addr() Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 156/238] media: pvrusb2: remove redundant NULL check Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 157/238] media: pvrusb2: fix pvr2_stream_callback casts Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 158/238] clk: qcom: dispcc-sdm845: Adjust internal GDSC wait times Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 159/238] drm/mediatek: dsi: Fix DSI RGB666 formats and definitions Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 160/238] PCI: Mark 3ware-9650SE Root Port Extended Tags as broken Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 161/238] clk: hisilicon: hi3519: Release the correct number of gates in hi3519_clk_unregister() Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 162/238] drm/tegra: put drm_gem_object ref on error in tegra_fb_create Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 163/238] mfd: syscon: Call of_node_put() only when of_parse_phandle() takes a ref Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 164/238] mfd: altera-sysmgr: " Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 165/238] crypto: arm/sha - fix function cast warnings Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 166/238] drm/tidss: Fix initial plane zpos values Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 167/238] mtd: maps: physmap-core: fix flash size larger than 32-bit Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 168/238] mtd: rawnand: lpc32xx_mlc: fix irq handler prototype Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 169/238] ASoC: meson: axg-tdm-interface: fix mclk setup without mclk-fs Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 170/238] ASoC: meson: axg-tdm-interface: add frame rate constraint Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 171/238] drm/amdgpu: Fix missing break in ATOM_ARG_IMM Case of atom_get_src_int() Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 172/238] media: pvrusb2: fix uaf in pvr2_context_set_notify Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 173/238] media: dvb-frontends: avoid stack overflow warnings with clang Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 174/238] media: go7007: fix a memleak in go7007_load_encoder Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 175/238] media: ttpci: fix two memleaks in budget_av_attach Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 176/238] media: mediatek: vcodec: avoid -Wcast-function-type-strict warning Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 177/238] drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 178/238] powerpc/hv-gpci: Fix the H_GET_PERF_COUNTER_INFO hcall return value checks Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 179/238] drm/msm/dpu: add division of drm_display_mode's hskew parameter Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 180/238] powerpc/embedded6xx: Fix no previous prototype for avr_uart_send() etc Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 181/238] leds: aw2013: Unlock mutex before destroying it Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 182/238] leds: sgm3140: Add missing timer cleanup and flash gpio control Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 183/238] backlight: lm3630a: Initialize backlight_properties on init Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 184/238] backlight: lm3630a: Don't set bl->props.brightness in get_brightness Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 185/238] backlight: da9052: Fully initialize backlight_properties during probe Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 186/238] backlight: lm3639: " Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 187/238] backlight: lp8788: " Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 188/238] arch/powerpc: Remove <linux/fb.h> from backlight code Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 189/238] sparc32: Fix section mismatch in leon_pci_grpci Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 190/238] clk: Fix clk_core_get NULL dereference Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 191/238] ALSA: hda/realtek: fix ALC285 issues on HP Envy x360 laptops Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 192/238] ALSA: usb-audio: Stop parsing channels bits when all channels are found Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 193/238] RDMA/srpt: Do not register event handler until srpt device is fully setup Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 194/238] f2fs: compress: fix to check unreleased compressed cluster Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 195/238] scsi: csiostor: Avoid function pointer casts Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 196/238] RDMA/device: Fix a race between mad_client and cm_client init Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 197/238] scsi: bfa: Fix function pointer type mismatch for hcb_qe->cbfn Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 198/238] net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr() Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 199/238] NFSv4.2: fix nfs4_listxattr kernel BUG at mm/usercopy.c:102 Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 200/238] NFSv4.2: fix listxattr maximum XDR buffer size Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 201/238] watchdog: stm32_iwdg: initialize default timeout Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 202/238] NFS: Fix an off by one in root_nfs_cat() Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 203/238] afs: Revert "afs: Hide silly-rename files from userspace" Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 204/238] remoteproc: stm32: Constify st_rproc_ops Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 205/238] remoteproc: Add new get_loaded_rsc_table() to rproc_ops Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 206/238] remoteproc: stm32: Move resource table setup " Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 207/238] remoteproc: stm32: use correct format strings on 64-bit Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 208/238] remoteproc: stm32: Fix incorrect type in assignment for va Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 209/238] remoteproc: stm32: Fix incorrect type assignment returned by stm32_rproc_get_loaded_rsc_tablef Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 210/238] tty: vt: fix 20 vs 0x20 typo in EScsiignore Sasha Levin
2024-03-24 23:39 ` [PATCH 5.10 211/238] serial: max310x: fix syntax error in IRQ error message Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 212/238] tty: serial: samsung: fix tx_empty() to return TIOCSER_TEMT Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 213/238] kconfig: fix infinite loop when expanding a macro at the end of file Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 214/238] rtc: mt6397: select IRQ_DOMAIN instead of depending on it Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 215/238] serial: 8250_exar: Don't remove GPIO device on suspend Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 216/238] staging: greybus: fix get_channel_from_mode() failure path Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 217/238] usb: gadget: net2272: Use irqflags in the call to net2272_probe_fin Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 218/238] io_uring: don't save/restore iowait state Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 219/238] octeontx2-af: Use matching wake_up API variant in CGX command interface Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 220/238] s390/vtime: fix average steal time calculation Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 221/238] soc: fsl: dpio: fix kcalloc() argument order Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 222/238] hsr: Fix uninit-value access in hsr_get_node() Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 223/238] packet: annotate data-races around ignore_outgoing Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 224/238] net: dsa: mt7530: prevent possible incorrect XTAL frequency selection Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 225/238] wireguard: receive: annotate data-race around receiving_counter.counter Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 226/238] rds: introduce acquire/release ordering in acquire/release_in_xmit() Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 227/238] hsr: Handle failures in module init Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 228/238] net/bnx2x: Prevent access to a freed page in page_pool Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 229/238] octeontx2-af: Use separate handlers for interrupts Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 230/238] netfilter: nft_set_pipapo: release elements in clone only from destroy path Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 231/238] scsi: fc: Update formal FPIN descriptor definitions Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 232/238] ARM: dts: sun8i-h2-plus-bananapi-m2-zero: add regulator nodes vcc-dram and vcc1v2 Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 233/238] netfilter: nf_tables: do not compare internal table flags on updates Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 234/238] rcu: add a helper to report consolidated flavor QS Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 235/238] bpf: report RCU QS in cpumap kthread Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 236/238] spi: spi-mt65xx: Fix NULL pointer access in interrupt handler Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 237/238] regmap: Add missing map->bus check Sasha Levin
2024-03-24 23:40 ` [PATCH 5.10 238/238] Linux 5.10.214-rc1 Sasha Levin
2024-03-25  8:17 ` [PATCH 5.10 000/238] 5.10.214-rc1 review Naresh Kamboju
2024-03-26 18:25 ` Shreeya Patel

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=20240324234027.1354210-141-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=jack@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=wangjianjian3@huawei.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