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: Weili Qian <qianweili@huawei.com>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	Sasha Levin <sashal@kernel.org>,
	songzhiqi1@huawei.com, liulongfang@huawei.com,
	davem@davemloft.net, wangzhou1@hisilicon.com,
	shenyang39@huawei.com, linux-crypto@vger.kernel.org
Subject: [PATCH AUTOSEL 6.6 051/139] crypto: hisilicon/qm - reset device before enabling it
Date: Wed, 25 Sep 2024 08:07:51 -0400	[thread overview]
Message-ID: <20240925121137.1307574-51-sashal@kernel.org> (raw)
In-Reply-To: <20240925121137.1307574-1-sashal@kernel.org>

From: Weili Qian <qianweili@huawei.com>

[ Upstream commit 5d2d1ee0874c26b8010ddf7f57e2f246e848af38 ]

Before the device is enabled again, the device may still
store the previously processed data. If an error occurs in
the previous task, the device may fail to be enabled again.
Therefore, before enabling device, reset the device to restore
the initial state.

Signed-off-by: Weili Qian <qianweili@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/crypto/hisilicon/hpre/hpre_main.c |  32 +++---
 drivers/crypto/hisilicon/qm.c             | 114 +++++++++++++++-------
 drivers/crypto/hisilicon/sec2/sec_main.c  |  16 ++-
 drivers/crypto/hisilicon/zip/zip_main.c   |  23 +++--
 4 files changed, 121 insertions(+), 64 deletions(-)

diff --git a/drivers/crypto/hisilicon/hpre/hpre_main.c b/drivers/crypto/hisilicon/hpre/hpre_main.c
index b97ce0ee71406..31abf771326ed 100644
--- a/drivers/crypto/hisilicon/hpre/hpre_main.c
+++ b/drivers/crypto/hisilicon/hpre/hpre_main.c
@@ -357,6 +357,8 @@ static struct dfx_diff_registers hpre_diff_regs[] = {
 	},
 };
 
+static const struct hisi_qm_err_ini hpre_err_ini;
+
 bool hpre_check_alg_support(struct hisi_qm *qm, u32 alg)
 {
 	u32 cap_val;
@@ -1161,6 +1163,7 @@ static int hpre_qm_init(struct hisi_qm *qm, struct pci_dev *pdev)
 		qm->qp_num = pf_q_num;
 		qm->debug.curr_qm_qp_num = pf_q_num;
 		qm->qm_list = &hpre_devices;
+		qm->err_ini = &hpre_err_ini;
 		if (pf_q_num_flag)
 			set_bit(QM_MODULE_PARAM, &qm->misc_ctl);
 	}
@@ -1350,8 +1353,6 @@ static int hpre_pf_probe_init(struct hpre *hpre)
 
 	hpre_open_sva_prefetch(qm);
 
-	qm->err_ini = &hpre_err_ini;
-	qm->err_ini->err_info_init(qm);
 	hisi_qm_dev_err_init(qm);
 	ret = hpre_show_last_regs_init(qm);
 	if (ret)
@@ -1380,6 +1381,18 @@ static int hpre_probe_init(struct hpre *hpre)
 	return 0;
 }
 
+static void hpre_probe_uninit(struct hisi_qm *qm)
+{
+	if (qm->fun_type == QM_HW_VF)
+		return;
+
+	hpre_cnt_regs_clear(qm);
+	qm->debug.curr_qm_qp_num = 0;
+	hpre_show_last_regs_uninit(qm);
+	hpre_close_sva_prefetch(qm);
+	hisi_qm_dev_err_uninit(qm);
+}
+
 static int hpre_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 {
 	struct hisi_qm *qm;
@@ -1405,7 +1418,7 @@ static int hpre_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 
 	ret = hisi_qm_start(qm);
 	if (ret)
-		goto err_with_err_init;
+		goto err_with_probe_init;
 
 	ret = hpre_debugfs_init(qm);
 	if (ret)
@@ -1442,9 +1455,8 @@ static int hpre_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	hpre_debugfs_exit(qm);
 	hisi_qm_stop(qm, QM_NORMAL);
 
-err_with_err_init:
-	hpre_show_last_regs_uninit(qm);
-	hisi_qm_dev_err_uninit(qm);
+err_with_probe_init:
+	hpre_probe_uninit(qm);
 
 err_with_qm_init:
 	hisi_qm_uninit(qm);
@@ -1465,13 +1477,7 @@ static void hpre_remove(struct pci_dev *pdev)
 	hpre_debugfs_exit(qm);
 	hisi_qm_stop(qm, QM_NORMAL);
 
-	if (qm->fun_type == QM_HW_PF) {
-		hpre_cnt_regs_clear(qm);
-		qm->debug.curr_qm_qp_num = 0;
-		hpre_show_last_regs_uninit(qm);
-		hisi_qm_dev_err_uninit(qm);
-	}
-
+	hpre_probe_uninit(qm);
 	hisi_qm_uninit(qm);
 }
 
diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
index 562df5c77c636..2a6ea3815cfb7 100644
--- a/drivers/crypto/hisilicon/qm.c
+++ b/drivers/crypto/hisilicon/qm.c
@@ -455,6 +455,7 @@ static struct qm_typical_qos_table shaper_cbs_s[] = {
 };
 
 static void qm_irqs_unregister(struct hisi_qm *qm);
+static int qm_reset_device(struct hisi_qm *qm);
 
 static bool qm_avail_state(struct hisi_qm *qm, enum qm_state new)
 {
@@ -4199,6 +4200,22 @@ static int qm_controller_reset_prepare(struct hisi_qm *qm)
 	return 0;
 }
 
+static int qm_master_ooo_check(struct hisi_qm *qm)
+{
+	u32 val;
+	int ret;
+
+	/* Check the ooo register of the device before resetting the device. */
+	writel(ACC_MASTER_GLOBAL_CTRL_SHUTDOWN, qm->io_base + ACC_MASTER_GLOBAL_CTRL);
+	ret = readl_relaxed_poll_timeout(qm->io_base + ACC_MASTER_TRANS_RETURN,
+					 val, (val == ACC_MASTER_TRANS_RETURN_RW),
+					 POLL_PERIOD, POLL_TIMEOUT);
+	if (ret)
+		pci_warn(qm->pdev, "Bus lock! Please reset system.\n");
+
+	return ret;
+}
+
 static void qm_dev_ecc_mbit_handle(struct hisi_qm *qm)
 {
 	u32 nfe_enb = 0;
@@ -4221,11 +4238,10 @@ static void qm_dev_ecc_mbit_handle(struct hisi_qm *qm)
 	}
 }
 
-static int qm_soft_reset(struct hisi_qm *qm)
+static int qm_soft_reset_prepare(struct hisi_qm *qm)
 {
 	struct pci_dev *pdev = qm->pdev;
 	int ret;
-	u32 val;
 
 	/* Ensure all doorbells and mailboxes received by QM */
 	ret = qm_check_req_recv(qm);
@@ -4247,29 +4263,23 @@ static int qm_soft_reset(struct hisi_qm *qm)
 	}
 
 	qm_dev_ecc_mbit_handle(qm);
-
-	/* OOO register set and check */
-	writel(ACC_MASTER_GLOBAL_CTRL_SHUTDOWN,
-	       qm->io_base + ACC_MASTER_GLOBAL_CTRL);
-
-	/* If bus lock, reset chip */
-	ret = readl_relaxed_poll_timeout(qm->io_base + ACC_MASTER_TRANS_RETURN,
-					 val,
-					 (val == ACC_MASTER_TRANS_RETURN_RW),
-					 POLL_PERIOD, POLL_TIMEOUT);
-	if (ret) {
-		pci_emerg(pdev, "Bus lock! Please reset system.\n");
+	ret = qm_master_ooo_check(qm);
+	if (ret)
 		return ret;
-	}
 
 	if (qm->err_ini->close_sva_prefetch)
 		qm->err_ini->close_sva_prefetch(qm);
 
 	ret = qm_set_pf_mse(qm, false);
-	if (ret) {
+	if (ret)
 		pci_err(pdev, "Fails to disable pf MSE bit.\n");
-		return ret;
-	}
+
+	return ret;
+}
+
+static int qm_reset_device(struct hisi_qm *qm)
+{
+	struct pci_dev *pdev = qm->pdev;
 
 	/* The reset related sub-control registers are not in PCI BAR */
 	if (ACPI_HANDLE(&pdev->dev)) {
@@ -4288,12 +4298,23 @@ static int qm_soft_reset(struct hisi_qm *qm)
 			pci_err(pdev, "Reset step %llu failed!\n", value);
 			return -EIO;
 		}
-	} else {
-		pci_err(pdev, "No reset method!\n");
-		return -EINVAL;
+
+		return 0;
 	}
 
-	return 0;
+	pci_err(pdev, "No reset method!\n");
+	return -EINVAL;
+}
+
+static int qm_soft_reset(struct hisi_qm *qm)
+{
+	int ret;
+
+	ret = qm_soft_reset_prepare(qm);
+	if (ret)
+		return ret;
+
+	return qm_reset_device(qm);
 }
 
 static int qm_vf_reset_done(struct hisi_qm *qm)
@@ -5261,6 +5282,35 @@ static int qm_get_pci_res(struct hisi_qm *qm)
 	return ret;
 }
 
+static int qm_clear_device(struct hisi_qm *qm)
+{
+	acpi_handle handle = ACPI_HANDLE(&qm->pdev->dev);
+	int ret;
+
+	if (qm->fun_type == QM_HW_VF)
+		return 0;
+
+	/* Device does not support reset, return */
+	if (!qm->err_ini->err_info_init)
+		return 0;
+	qm->err_ini->err_info_init(qm);
+
+	if (!handle)
+		return 0;
+
+	/* No reset method, return */
+	if (!acpi_has_method(handle, qm->err_info.acpi_rst))
+		return 0;
+
+	ret = qm_master_ooo_check(qm);
+	if (ret) {
+		writel(0x0, qm->io_base + ACC_MASTER_GLOBAL_CTRL);
+		return ret;
+	}
+
+	return qm_reset_device(qm);
+}
+
 static int hisi_qm_pci_init(struct hisi_qm *qm)
 {
 	struct pci_dev *pdev = qm->pdev;
@@ -5290,8 +5340,14 @@ static int hisi_qm_pci_init(struct hisi_qm *qm)
 		goto err_get_pci_res;
 	}
 
+	ret = qm_clear_device(qm);
+	if (ret)
+		goto err_free_vectors;
+
 	return 0;
 
+err_free_vectors:
+	pci_free_irq_vectors(pdev);
 err_get_pci_res:
 	qm_put_pci_res(qm);
 err_disable_pcidev:
@@ -5557,7 +5613,6 @@ static int qm_prepare_for_suspend(struct hisi_qm *qm)
 {
 	struct pci_dev *pdev = qm->pdev;
 	int ret;
-	u32 val;
 
 	ret = qm->ops->set_msi(qm, false);
 	if (ret) {
@@ -5565,18 +5620,9 @@ static int qm_prepare_for_suspend(struct hisi_qm *qm)
 		return ret;
 	}
 
-	/* shutdown OOO register */
-	writel(ACC_MASTER_GLOBAL_CTRL_SHUTDOWN,
-	       qm->io_base + ACC_MASTER_GLOBAL_CTRL);
-
-	ret = readl_relaxed_poll_timeout(qm->io_base + ACC_MASTER_TRANS_RETURN,
-					 val,
-					 (val == ACC_MASTER_TRANS_RETURN_RW),
-					 POLL_PERIOD, POLL_TIMEOUT);
-	if (ret) {
-		pci_emerg(pdev, "Bus lock! Please reset system.\n");
+	ret = qm_master_ooo_check(qm);
+	if (ret)
 		return ret;
-	}
 
 	ret = qm_set_pf_mse(qm, false);
 	if (ret)
diff --git a/drivers/crypto/hisilicon/sec2/sec_main.c b/drivers/crypto/hisilicon/sec2/sec_main.c
index bf02a6b2eed41..cf7b6a37e7df7 100644
--- a/drivers/crypto/hisilicon/sec2/sec_main.c
+++ b/drivers/crypto/hisilicon/sec2/sec_main.c
@@ -1061,9 +1061,6 @@ static int sec_pf_probe_init(struct sec_dev *sec)
 	struct hisi_qm *qm = &sec->qm;
 	int ret;
 
-	qm->err_ini = &sec_err_ini;
-	qm->err_ini->err_info_init(qm);
-
 	ret = sec_set_user_domain_and_cache(qm);
 	if (ret)
 		return ret;
@@ -1118,6 +1115,7 @@ static int sec_qm_init(struct hisi_qm *qm, struct pci_dev *pdev)
 		qm->qp_num = pf_q_num;
 		qm->debug.curr_qm_qp_num = pf_q_num;
 		qm->qm_list = &sec_devices;
+		qm->err_ini = &sec_err_ini;
 		if (pf_q_num_flag)
 			set_bit(QM_MODULE_PARAM, &qm->misc_ctl);
 	} else if (qm->fun_type == QM_HW_VF && qm->ver == QM_HW_V1) {
@@ -1182,6 +1180,12 @@ static int sec_probe_init(struct sec_dev *sec)
 
 static void sec_probe_uninit(struct hisi_qm *qm)
 {
+	if (qm->fun_type == QM_HW_VF)
+		return;
+
+	sec_debug_regs_clear(qm);
+	sec_show_last_regs_uninit(qm);
+	sec_close_sva_prefetch(qm);
 	hisi_qm_dev_err_uninit(qm);
 }
 
@@ -1274,7 +1278,6 @@ static int sec_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	sec_debugfs_exit(qm);
 	hisi_qm_stop(qm, QM_NORMAL);
 err_probe_uninit:
-	sec_show_last_regs_uninit(qm);
 	sec_probe_uninit(qm);
 err_qm_uninit:
 	sec_qm_uninit(qm);
@@ -1296,11 +1299,6 @@ static void sec_remove(struct pci_dev *pdev)
 	sec_debugfs_exit(qm);
 
 	(void)hisi_qm_stop(qm, QM_NORMAL);
-
-	if (qm->fun_type == QM_HW_PF)
-		sec_debug_regs_clear(qm);
-	sec_show_last_regs_uninit(qm);
-
 	sec_probe_uninit(qm);
 
 	sec_qm_uninit(qm);
diff --git a/drivers/crypto/hisilicon/zip/zip_main.c b/drivers/crypto/hisilicon/zip/zip_main.c
index cd7ecb2180bf1..9d47b3675da7d 100644
--- a/drivers/crypto/hisilicon/zip/zip_main.c
+++ b/drivers/crypto/hisilicon/zip/zip_main.c
@@ -1150,8 +1150,6 @@ static int hisi_zip_pf_probe_init(struct hisi_zip *hisi_zip)
 
 	hisi_zip->ctrl = ctrl;
 	ctrl->hisi_zip = hisi_zip;
-	qm->err_ini = &hisi_zip_err_ini;
-	qm->err_ini->err_info_init(qm);
 
 	ret = hisi_zip_set_user_domain_and_cache(qm);
 	if (ret)
@@ -1212,6 +1210,7 @@ static int hisi_zip_qm_init(struct hisi_qm *qm, struct pci_dev *pdev)
 		qm->qp_num = pf_q_num;
 		qm->debug.curr_qm_qp_num = pf_q_num;
 		qm->qm_list = &zip_devices;
+		qm->err_ini = &hisi_zip_err_ini;
 		if (pf_q_num_flag)
 			set_bit(QM_MODULE_PARAM, &qm->misc_ctl);
 	} else if (qm->fun_type == QM_HW_VF && qm->ver == QM_HW_V1) {
@@ -1278,6 +1277,16 @@ static int hisi_zip_probe_init(struct hisi_zip *hisi_zip)
 	return 0;
 }
 
+static void hisi_zip_probe_uninit(struct hisi_qm *qm)
+{
+	if (qm->fun_type == QM_HW_VF)
+		return;
+
+	hisi_zip_show_last_regs_uninit(qm);
+	hisi_zip_close_sva_prefetch(qm);
+	hisi_qm_dev_err_uninit(qm);
+}
+
 static int hisi_zip_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 {
 	struct hisi_zip *hisi_zip;
@@ -1304,7 +1313,7 @@ static int hisi_zip_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 
 	ret = hisi_qm_start(qm);
 	if (ret)
-		goto err_dev_err_uninit;
+		goto err_probe_uninit;
 
 	ret = hisi_zip_debugfs_init(qm);
 	if (ret)
@@ -1341,9 +1350,8 @@ static int hisi_zip_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 	hisi_zip_debugfs_exit(qm);
 	hisi_qm_stop(qm, QM_NORMAL);
 
-err_dev_err_uninit:
-	hisi_zip_show_last_regs_uninit(qm);
-	hisi_qm_dev_err_uninit(qm);
+err_probe_uninit:
+	hisi_zip_probe_uninit(qm);
 
 err_qm_uninit:
 	hisi_zip_qm_uninit(qm);
@@ -1364,8 +1372,7 @@ static void hisi_zip_remove(struct pci_dev *pdev)
 
 	hisi_zip_debugfs_exit(qm);
 	hisi_qm_stop(qm, QM_NORMAL);
-	hisi_zip_show_last_regs_uninit(qm);
-	hisi_qm_dev_err_uninit(qm);
+	hisi_zip_probe_uninit(qm);
 	hisi_zip_qm_uninit(qm);
 }
 
-- 
2.43.0


  parent reply	other threads:[~2024-09-25 12:13 UTC|newest]

Thread overview: 148+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-25 12:07 [PATCH AUTOSEL 6.6 001/139] wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 002/139] wifi: rtw89: avoid to add interface to list twice when SER Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 003/139] wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 004/139] crypto: x86/sha256 - Add parentheses around macros' single arguments Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 005/139] crypto: octeontx - Fix authenc setkey Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 006/139] crypto: octeontx2 " Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 007/139] ice: Adjust over allocation of memory in ice_sched_add_root_node() and ice_sched_add_node() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 008/139] wifi: iwlwifi: mvm: Fix a race in scan abort flow Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 009/139] wifi: iwlwifi: mvm: drop wrong STA selection in TX Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 010/139] wifi: cfg80211: Set correct chandef when starting CAC Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 011/139] net/xen-netback: prevent UAF in xenvif_flush_hash() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 012/139] net: hisilicon: hip04: fix OF node leak in probe() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 013/139] net: hisilicon: hns_dsaf_mac: fix OF node leak in hns_mac_get_info() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 014/139] net: hisilicon: hns_mdio: fix OF node leak in probe() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 015/139] ACPI: PAD: fix crash in exit_round_robin() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 016/139] ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 017/139] ACPICA: Fix memory leak if acpi_ps_get_next_field() fails Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 018/139] e1000e: avoid failing the system during pm_suspend Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 019/139] wifi: mt76: mt7915: disable tx worker during tx BA session enable/disable Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 020/139] net: sched: consistently use rcu_replace_pointer() in taprio_change() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 021/139] Bluetooth: btusb: Add Realtek RTL8852C support ID 0x0489:0xe122 Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 022/139] Bluetooth: btrtl: Set msft ext address filter quirk for RTL8852B Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 023/139] ACPI: video: Add force_vendor quirk for Panasonic Toughbook CF-18 Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 024/139] ACPI: CPPC: Add support for setting EPP register in FFH Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 025/139] blk_iocost: fix more out of bound shifts Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 026/139] nvme-pci: qdepth 1 quirk Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 027/139] wifi: ath12k: fix array out-of-bound access in SoC stats Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 028/139] wifi: ath11k: " Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 029/139] wifi: rtw88: select WANT_DEV_COREDUMP Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 030/139] l2tp: don't use tunnel socket sk_user_data in ppp procfs output Sasha Levin
2024-09-25 14:27   ` James Chapman
2024-10-11 13:52     ` Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 031/139] ACPI: EC: Do not release locks during operation region accesses Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 032/139] ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 033/139] tipc: guard against string buffer overrun Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 034/139] net: mvpp2: Increase size of queue_name buffer Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 035/139] bnxt_en: Extend maximum length of version string by 1 byte Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 036/139] ipv4: Check !in_dev earlier for ioctl(SIOCSIFADDR) Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 037/139] wifi: rtw89: correct base HT rate mask for firmware Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 038/139] netfilter: nf_tables: don't initialize registers in nft_do_chain() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 039/139] ipv4: Mask upper DSCP bits and ECN bits in NETLINK_FIB_LOOKUP family Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 040/139] net: atlantic: Avoid warning about potential string truncation Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 041/139] crypto: simd - Do not call crypto_alloc_tfm during registration Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 042/139] netpoll: Ensure clean state on setup failures Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 043/139] tcp: avoid reusing FIN_WAIT2 when trying to find port in connect() process Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 044/139] wifi: iwlwifi: mvm: use correct key iteration Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 045/139] wifi: iwlwifi: mvm: avoid NULL pointer dereference Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 046/139] wifi: mac80211: fix RCU list iterations Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 047/139] ACPICA: iasl: handle empty connection_node Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 048/139] proc: add config & param to block forcing mem writes Sasha Levin
2024-09-25 15:58   ` Alexey Dobriyan
2024-09-26 11:07     ` Adrian Ratiu
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 049/139] drivers/perf: arm_spe: Use perf_allow_kernel() for permissions Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 050/139] can: netlink: avoid call to do_set_data_bittiming callback with stale can_priv::ctrlmode Sasha Levin
2024-09-25 12:07 ` Sasha Levin [this message]
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 052/139] wifi: mt76: mt7915: add dummy HW offload of IEEE 802.11 fragmentation Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 053/139] wifi: mt76: mt7915: hold dev->mt76.mutex while disabling tx worker Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 054/139] net: tls: wait for async completion on last message Sasha Levin
2024-10-02 12:50   ` Jakub Kicinski
2024-10-06  0:31     ` Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 055/139] wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 056/139] nfp: Use IRQF_NO_AUTOEN flag in request_irq() Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 057/139] ALSA: usb-audio: Add input value sanity checks for standard types Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 058/139] x86/ioapic: Handle allocation failures gracefully Sasha Levin
2024-09-25 12:07 ` [PATCH AUTOSEL 6.6 059/139] ALSA: usb-audio: Support multiple control interfaces Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 060/139] ALSA: usb-audio: Define macros for quirk table entries Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 061/139] ALSA: usb-audio: Replace complex quirk lines with macros Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 062/139] ALSA: usb-audio: Add logitech Audio profile quirk Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 063/139] ASoC: codecs: wsa883x: Handle reading version failure Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 064/139] tools/x86/kcpuid: Protect against faulty "max subleaf" values Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 065/139] x86/pkeys: Add PKRU as a parameter in signal handling functions Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 066/139] x86/pkeys: Restore altstack access in sigreturn() Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 067/139] x86/kexec: Add EFI config table identity mapping for kexec kernel Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 068/139] ALSA: asihpi: Fix potential OOB array access Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 069/139] ALSA: hdsp: Break infinite MIDI input flush loop Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 070/139] tools/nolibc: powerpc: limit stack-protector workaround to GCC Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 071/139] selftests/nolibc: avoid passing NULL to printf("%s") Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 072/139] x86/syscall: Avoid memcpy() for ia32 syscall_get_arguments() Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 073/139] hwmon: (nct6775) add G15CF to ASUS WMI monitoring list Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 074/139] fbdev: efifb: Register sysfs groups through driver core Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 075/139] fbdev: pxafb: Fix possible use after free in pxafb_task() Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 076/139] coredump: Standartize and fix logging Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 077/139] rcuscale: Provide clear error when async specified without primitives Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 078/139] iommu/arm-smmu-qcom: hide last LPASS SMMU context bank from linux Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 079/139] iommu/arm-smmu-qcom: Work around SDM845 Adreno SMMU w/ 16K pages Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 080/139] power: reset: brcmstb: Do not go into infinite loop if reset fails Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 081/139] iommu/vt-d: Always reserve a domain ID for identity setup Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 082/139] iommu/vt-d: Fix potential lockup if qi_submit_sync called with 0 count Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 083/139] cgroup: Disallow mounting v1 hierarchies without controller implementation Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 084/139] drm/stm: Avoid use-after-free issues with crtc and plane Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 085/139] drm/amdgpu: disallow multiple BO_HANDLES chunks in one submit Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 086/139] drm/amdkfd: amdkfd_free_gtt_mem clear the correct pointer Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 087/139] drm/amd/display: Add null check for top_pipe_to_program in commit_planes_for_stream Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 088/139] ata: pata_serverworks: Do not use the term blacklist Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 089/139] ata: sata_sil: Rename sil_blacklist to sil_quirks Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 090/139] HID: Ignore battery for all ELAN I2C-HID devices Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 091/139] drm/amd/display: Handle null 'stream_status' in 'planes_changed_for_existing_stream' Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 092/139] drm/amd/display: Check null pointers before using dc->clk_mgr Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 093/139] drm/amd/display: Add null check for 'afb' in amdgpu_dm_plane_handle_cursor_update (v2) Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 094/139] drm/amd/display: fix double free issue during amdgpu module unload Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 095/139] jfs: UBSAN: shift-out-of-bounds in dbFindBits Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 096/139] jfs: Fix uaf in dbFreeBits Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 097/139] jfs: check if leafidx greater than num leaves per dmap tree Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 098/139] scsi: smartpqi: correct stream detection Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 099/139] drm/msm/adreno: Assign msm_gpu->pdev earlier to avoid nullptrs Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 100/139] jfs: Fix uninit-value access of new_ea in ea_buffer Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 101/139] drm/amdgpu: add raven1 gfxoff quirk Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 102/139] drm/amdgpu: enable gfxoff quirk on HP 705G4 Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 103/139] drm/amdkfd: Fix resource leak in criu restore queue Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 104/139] HID: multitouch: Add support for Thinkpad X12 Gen 2 Kbd Portfolio Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 105/139] platform/x86: touchscreen_dmi: add nanote-next quirk Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 106/139] drm/stm: ltdc: reset plane transparency after plane disable Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 107/139] drm/amd/display: Check stream before comparing them Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 108/139] drm/amd/display: Check link_res->hpo_dp_link_enc before using it Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 109/139] drm/amd/display: Fix index out of bounds in DCN30 degamma hardware format translation Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 110/139] drm/amd/display: Fix index out of bounds in " Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 111/139] drm/amd/display: Fix index out of bounds in DCN30 color transformation Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 112/139] drm/amd/display: Avoid overflow assignment in link_dp_cts Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 113/139] drm/amd/display: Initialize get_bytes_per_element's default to 1 Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 114/139] drm/printer: Allow NULL data in devcoredump printer Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 115/139] perf,x86: avoid missing caller address in stack traces captured in uprobe Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 116/139] scsi: aacraid: Rearrange order of struct aac_srb_unit Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 117/139] scsi: lpfc: Update PRLO handling in direct attached topology Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 118/139] drm/amdgpu: fix unchecked return value warning for amdgpu_gfx Sasha Levin
2024-09-25 12:08 ` [PATCH AUTOSEL 6.6 119/139] perf: Fix event_function_call() locking Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 120/139] scsi: NCR5380: Initialize buffer for MSG IN and STATUS transfers Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 121/139] drm/radeon/r100: Handle unknown family in r100_cp_init_microcode() Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 122/139] drm/amdgpu: Block MMR_READ IOCTL in reset Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 123/139] drm/amdgpu/gfx9: use rlc safe mode for soft recovery Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 124/139] drm/amd/pm: ensure the fw_info is not null before using it Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 125/139] of/irq: Refer to actual buffer size in of_irq_parse_one() Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 126/139] powerpc/pseries: Use correct data types from pseries_hp_errorlog struct Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 127/139] drm/amdgpu/gfx11: use rlc safe mode for soft recovery Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 128/139] drm/amdgpu/gfx10: " Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 129/139] platform/x86: lenovo-ymc: Ignore the 0x0 state Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 130/139] ksmbd: add refcnt to ksmbd_conn struct Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 131/139] ext4: don't set SB_RDONLY after filesystem errors Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 132/139] bpf: Make the pointer returned by iter next method valid Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 133/139] iomap: fix iomap_dio_zero() for fs bs > system page size Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 134/139] ext4: ext4_search_dir should return a proper error Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 135/139] ext4: avoid use-after-free in ext4_ext_show_leaf() Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 136/139] ext4: fix i_data_sem unlock order in ext4_ind_migrate() Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 137/139] bpftool: Fix undefined behavior caused by shifting into the sign bit Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 138/139] iomap: handle a post-direct I/O invalidate race in iomap_write_delalloc_release Sasha Levin
2024-09-25 12:09 ` [PATCH AUTOSEL 6.6 139/139] bpftool: Fix undefined behavior in qsort(NULL, 0, ...) Sasha Levin
2024-10-05  8:57 ` [PATCH AUTOSEL 6.6 001/139] wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats() Pavel Machek
2024-10-05  9:06   ` Greg KH
2024-10-05 12:03     ` Pavel Machek

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=20240925121137.1307574-51-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=liulongfang@huawei.com \
    --cc=qianweili@huawei.com \
    --cc=shenyang39@huawei.com \
    --cc=songzhiqi1@huawei.com \
    --cc=stable@vger.kernel.org \
    --cc=wangzhou1@hisilicon.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