+++ /dev/null
-From 90c6e8c5b5942e599d4df5917aaca147b18d530c Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 4 Jul 2022 17:26:29 -0400
-Subject: __follow_mount_rcu(): verify that mount_lock remains unchanged
-
-From: Al Viro <viro@zeniv.linux.org.uk>
-
-[ Upstream commit 20aac6c60981f5bfacd66661d090d907bf1482f0 ]
-
-Validate mount_lock seqcount as soon as we cross into mount in RCU
-mode. Sure, ->mnt_root is pinned and will remain so until we
-do rcu_read_unlock() anyway, and we will eventually fail to unlazy if
-the mount_lock had been touched, but we might run into a hard error
-(e.g. -ENOENT) before trying to unlazy. And it's possible to end
-up with RCU pathwalk racing with rename() and umount() in a way
-that would fail with -ENOENT while non-RCU pathwalk would've
-succeeded with any timings.
-
-Once upon a time we hadn't needed that, but analysis had been subtle,
-brittle and went out of window as soon as RENAME_EXCHANGE had been
-added.
-
-It's narrow, hard to hit and won't get you anything other than
-stray -ENOENT that could be arranged in much easier way with the
-same priveleges, but it's a bug all the same.
-
-Cc: stable@kernel.org
-X-sky-is-falling: unlikely
-Fixes: da1ce0670c14 "vfs: add cross-rename"
-Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/namei.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/fs/namei.c b/fs/namei.c
-index 96491f092a99..eba2f13d229d 100644
---- a/fs/namei.c
-+++ b/fs/namei.c
-@@ -1348,6 +1348,8 @@ static bool __follow_mount_rcu(struct nameidata *nd, struct path *path,
- * becoming unpinned.
- */
- flags = dentry->d_flags;
-+ if (read_seqretry(&mount_lock, nd->m_seq))
-+ return false;
- continue;
- }
- if (read_seqretry(&mount_lock, nd->m_seq))
---
-2.35.1
-
+++ /dev/null
-From d362b6cb989afd1038bad554903e8b88218a2930 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 12 Jul 2022 22:20:42 -0700
-Subject: scsi: qla2xxx: Fix discovery issues in FC-AL topology
-
-From: Arun Easi <aeasi@marvell.com>
-
-[ Upstream commit 47ccb113cead905bdc236571bf8ac6fed90321b3 ]
-
-A direct attach tape device, when gets swapped with another, was not
-discovered. Fix this by looking at loop map and reinitialize link if there
-are devices present.
-
-Link: https://lore.kernel.org/linux-scsi/baef87c3-5dad-3b47-44c1-6914bfc90108@cybernetics.com/
-Link: https://lore.kernel.org/r/20220713052045.10683-8-njavali@marvell.com
-Cc: stable@vger.kernel.org
-Reported-by: Tony Battersby <tonyb@cybernetics.com>
-Tested-by: Tony Battersby <tonyb@cybernetics.com>
-Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
-Signed-off-by: Arun Easi <aeasi@marvell.com>
-Signed-off-by: Nilesh Javali <njavali@marvell.com>
-Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/scsi/qla2xxx/qla_gbl.h | 3 ++-
- drivers/scsi/qla2xxx/qla_init.c | 29 +++++++++++++++++++++++++++++
- drivers/scsi/qla2xxx/qla_mbx.c | 5 ++++-
- 3 files changed, 35 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
-index 3bc185027342..7e5ee31581d6 100644
---- a/drivers/scsi/qla2xxx/qla_gbl.h
-+++ b/drivers/scsi/qla2xxx/qla_gbl.h
-@@ -405,7 +405,8 @@ extern int
- qla2x00_get_resource_cnts(scsi_qla_host_t *);
-
- extern int
--qla2x00_get_fcal_position_map(scsi_qla_host_t *ha, char *pos_map);
-+qla2x00_get_fcal_position_map(scsi_qla_host_t *ha, char *pos_map,
-+ u8 *num_entries);
-
- extern int
- qla2x00_get_link_status(scsi_qla_host_t *, uint16_t, struct link_statistics *,
-diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
-index 1618b4a9c75e..422ff67038d1 100644
---- a/drivers/scsi/qla2xxx/qla_init.c
-+++ b/drivers/scsi/qla2xxx/qla_init.c
-@@ -5274,6 +5274,22 @@ static int qla2x00_configure_n2n_loop(scsi_qla_host_t *vha)
- return QLA_FUNCTION_FAILED;
- }
-
-+static void
-+qla_reinitialize_link(scsi_qla_host_t *vha)
-+{
-+ int rval;
-+
-+ atomic_set(&vha->loop_state, LOOP_DOWN);
-+ atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME);
-+ rval = qla2x00_full_login_lip(vha);
-+ if (rval == QLA_SUCCESS) {
-+ ql_dbg(ql_dbg_disc, vha, 0xd050, "Link reinitialized\n");
-+ } else {
-+ ql_dbg(ql_dbg_disc, vha, 0xd051,
-+ "Link reinitialization failed (%d)\n", rval);
-+ }
-+}
-+
- /*
- * qla2x00_configure_local_loop
- * Updates Fibre Channel Device Database with local loop devices.
-@@ -5325,6 +5341,19 @@ qla2x00_configure_local_loop(scsi_qla_host_t *vha)
- spin_unlock_irqrestore(&vha->work_lock, flags);
-
- if (vha->scan.scan_retry < MAX_SCAN_RETRIES) {
-+ u8 loop_map_entries = 0;
-+ int rc;
-+
-+ rc = qla2x00_get_fcal_position_map(vha, NULL,
-+ &loop_map_entries);
-+ if (rc == QLA_SUCCESS && loop_map_entries > 1) {
-+ /*
-+ * There are devices that are still not logged
-+ * in. Reinitialize to give them a chance.
-+ */
-+ qla_reinitialize_link(vha);
-+ return QLA_FUNCTION_FAILED;
-+ }
- set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags);
- set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags);
- }
-diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
-index bd5bca71ddd3..6ff720d8961d 100644
---- a/drivers/scsi/qla2xxx/qla_mbx.c
-+++ b/drivers/scsi/qla2xxx/qla_mbx.c
-@@ -3017,7 +3017,8 @@ qla2x00_get_resource_cnts(scsi_qla_host_t *vha)
- * Kernel context.
- */
- int
--qla2x00_get_fcal_position_map(scsi_qla_host_t *vha, char *pos_map)
-+qla2x00_get_fcal_position_map(scsi_qla_host_t *vha, char *pos_map,
-+ u8 *num_entries)
- {
- int rval;
- mbx_cmd_t mc;
-@@ -3057,6 +3058,8 @@ qla2x00_get_fcal_position_map(scsi_qla_host_t *vha, char *pos_map)
-
- if (pos_map)
- memcpy(pos_map, pmap, FCAL_MAP_SIZE);
-+ if (num_entries)
-+ *num_entries = pmap[0];
- }
- dma_pool_free(ha->s_dma_pool, pmap, pmap_dma);
-
---
-2.35.1
-
+++ /dev/null
-From 21ad6a9ed8b62c19a7f873d4f2d95703ce908796 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 15 Jun 2022 22:35:07 -0700
-Subject: scsi: qla2xxx: Fix erroneous mailbox timeout after PCI error
- injection
-
-From: Quinn Tran <qutran@marvell.com>
-
-[ Upstream commit f260694e6463b63ae550aad25ddefe94cb1904da ]
-
-Clear wait for mailbox interrupt flag to prevent stale mailbox:
-
-Feb 22 05:22:56 ltcden4-lp7 kernel: qla2xxx [0135:90:00.1]-500a:4: LOOP UP detected (16 Gbps).
-Feb 22 05:22:59 ltcden4-lp7 kernel: qla2xxx [0135:90:00.1]-d04c:4: MBX Command timeout for cmd 69, ...
-
-To fix the issue, driver needs to clear the MBX_INTR_WAIT flag on purging
-the mailbox. When the stale mailbox completion does arrive, it will be
-dropped.
-
-Link: https://lore.kernel.org/r/20220616053508.27186-11-njavali@marvell.com
-Fixes: b6faaaf796d7 ("scsi: qla2xxx: Serialize mailbox request")
-Cc: Naresh Bannoth <nbannoth@in.ibm.com>
-Cc: Kyle Mahlkuch <Kyle.Mahlkuch@ibm.com>
-Cc: stable@vger.kernel.org
-Reported-by: Naresh Bannoth <nbannoth@in.ibm.com>
-Tested-by: Naresh Bannoth <nbannoth@in.ibm.com>
-Signed-off-by: Quinn Tran <qutran@marvell.com>
-Signed-off-by: Nilesh Javali <njavali@marvell.com>
-Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/scsi/qla2xxx/qla_mbx.c | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c
-index fe702ac5ce41..bd5bca71ddd3 100644
---- a/drivers/scsi/qla2xxx/qla_mbx.c
-+++ b/drivers/scsi/qla2xxx/qla_mbx.c
-@@ -271,6 +271,12 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
- atomic_inc(&ha->num_pend_mbx_stage3);
- if (!wait_for_completion_timeout(&ha->mbx_intr_comp,
- mcp->tov * HZ)) {
-+ ql_dbg(ql_dbg_mbx, vha, 0x117a,
-+ "cmd=%x Timeout.\n", command);
-+ spin_lock_irqsave(&ha->hardware_lock, flags);
-+ clear_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags);
-+ spin_unlock_irqrestore(&ha->hardware_lock, flags);
-+
- if (chip_reset != ha->chip_reset) {
- spin_lock_irqsave(&ha->hardware_lock, flags);
- ha->flags.mbox_busy = 0;
-@@ -281,12 +287,6 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
- rval = QLA_ABORTED;
- goto premature_exit;
- }
-- ql_dbg(ql_dbg_mbx, vha, 0x117a,
-- "cmd=%x Timeout.\n", command);
-- spin_lock_irqsave(&ha->hardware_lock, flags);
-- clear_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags);
-- spin_unlock_irqrestore(&ha->hardware_lock, flags);
--
- } else if (ha->flags.purge_mbox ||
- chip_reset != ha->chip_reset) {
- spin_lock_irqsave(&ha->hardware_lock, flags);
---
-2.35.1
-
+++ /dev/null
-From feaeef46da9304a6e31462a9473dcdd1695b4784 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 15 Jun 2022 22:35:03 -0700
-Subject: scsi: qla2xxx: Fix losing FCP-2 targets during port perturbation
- tests
-
-From: Arun Easi <aeasi@marvell.com>
-
-[ Upstream commit 58d1c124cd79ea686b512043c5bd515590b2ed95 ]
-
-When a mix of FCP-2 (tape) and non-FCP-2 targets are present, FCP-2 target
-state was incorrectly transitioned when both of the targets were gone. Fix
-this by ignoring state transition for FCP-2 targets.
-
-Link: https://lore.kernel.org/r/20220616053508.27186-7-njavali@marvell.com
-Fixes: 44c57f205876 ("scsi: qla2xxx: Changes to support FCP2 Target")
-Cc: stable@vger.kernel.org
-Signed-off-by: Arun Easi <aeasi@marvell.com>
-Signed-off-by: Nilesh Javali <njavali@marvell.com>
-Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/scsi/qla2xxx/qla_gs.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c
-index c768c14d6b35..20bbd69e35e5 100644
---- a/drivers/scsi/qla2xxx/qla_gs.c
-+++ b/drivers/scsi/qla2xxx/qla_gs.c
-@@ -3552,7 +3552,7 @@ void qla24xx_async_gnnft_done(scsi_qla_host_t *vha, srb_t *sp)
- do_delete) {
- if (fcport->loop_id != FC_NO_LOOP_ID) {
- if (fcport->flags & FCF_FCP2_DEVICE)
-- fcport->logout_on_delete = 0;
-+ continue;
-
- ql_dbg(ql_dbg_disc, vha, 0x20f0,
- "%s %d %8phC post del sess\n",
---
-2.35.1
-
+++ /dev/null
-From da944a2da949880d6c80e5bbd7ab141b13c19844 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 15 Jun 2022 22:35:06 -0700
-Subject: scsi: qla2xxx: Fix losing FCP-2 targets on long port disable with
- I/Os
-
-From: Arun Easi <aeasi@marvell.com>
-
-[ Upstream commit 2416ccd3815ba1613e10a6da0a24ef21acfe5633 ]
-
-FCP-2 devices were not coming back online once they were lost, login
-retries exhausted, and then came back up. Fix this by accepting RSCN when
-the device is not online.
-
-Link: https://lore.kernel.org/r/20220616053508.27186-10-njavali@marvell.com
-Fixes: 44c57f205876 ("scsi: qla2xxx: Changes to support FCP2 Target")
-Cc: stable@vger.kernel.org
-Signed-off-by: Arun Easi <aeasi@marvell.com>
-Signed-off-by: Nilesh Javali <njavali@marvell.com>
-Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/scsi/qla2xxx/qla_init.c | 12 ++++++++----
- 1 file changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
-index 08c72d3aeaa9..1618b4a9c75e 100644
---- a/drivers/scsi/qla2xxx/qla_init.c
-+++ b/drivers/scsi/qla2xxx/qla_init.c
-@@ -1734,7 +1734,8 @@ void qla2x00_handle_rscn(scsi_qla_host_t *vha, struct event_arg *ea)
- case RSCN_PORT_ADDR:
- fcport = qla2x00_find_fcport_by_nportid(vha, &ea->id, 1);
- if (fcport) {
-- if (fcport->flags & FCF_FCP2_DEVICE) {
-+ if (fcport->flags & FCF_FCP2_DEVICE &&
-+ atomic_read(&fcport->state) == FCS_ONLINE) {
- ql_dbg(ql_dbg_disc, vha, 0x2115,
- "Delaying session delete for FCP2 portid=%06x %8phC ",
- fcport->d_id.b24, fcport->port_name);
-@@ -1746,7 +1747,8 @@ void qla2x00_handle_rscn(scsi_qla_host_t *vha, struct event_arg *ea)
- break;
- case RSCN_AREA_ADDR:
- list_for_each_entry(fcport, &vha->vp_fcports, list) {
-- if (fcport->flags & FCF_FCP2_DEVICE)
-+ if (fcport->flags & FCF_FCP2_DEVICE &&
-+ atomic_read(&fcport->state) == FCS_ONLINE)
- continue;
-
- if ((ea->id.b24 & 0xffff00) == (fcport->d_id.b24 & 0xffff00)) {
-@@ -1757,7 +1759,8 @@ void qla2x00_handle_rscn(scsi_qla_host_t *vha, struct event_arg *ea)
- break;
- case RSCN_DOM_ADDR:
- list_for_each_entry(fcport, &vha->vp_fcports, list) {
-- if (fcport->flags & FCF_FCP2_DEVICE)
-+ if (fcport->flags & FCF_FCP2_DEVICE &&
-+ atomic_read(&fcport->state) == FCS_ONLINE)
- continue;
-
- if ((ea->id.b24 & 0xff0000) == (fcport->d_id.b24 & 0xff0000)) {
-@@ -1769,7 +1772,8 @@ void qla2x00_handle_rscn(scsi_qla_host_t *vha, struct event_arg *ea)
- case RSCN_FAB_ADDR:
- default:
- list_for_each_entry(fcport, &vha->vp_fcports, list) {
-- if (fcport->flags & FCF_FCP2_DEVICE)
-+ if (fcport->flags & FCF_FCP2_DEVICE &&
-+ atomic_read(&fcport->state) == FCS_ONLINE)
- continue;
-
- fcport->scan_needed = 1;
---
-2.35.1
-
+++ /dev/null
-From d6f05f982fde7238118f8c123cc9b2247d14dc6d Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 15 Jun 2022 22:35:01 -0700
-Subject: scsi: qla2xxx: Turn off multi-queue for 8G adapters
-
-From: Quinn Tran <qutran@marvell.com>
-
-[ Upstream commit 5304673bdb1635e27555bd636fd5d6956f1cd552 ]
-
-For 8G adapters, multi-queue was enabled accidentally. Make sure
-multi-queue is not enabled.
-
-Link: https://lore.kernel.org/r/20220616053508.27186-5-njavali@marvell.com
-Cc: stable@vger.kernel.org
-Signed-off-by: Quinn Tran <qutran@marvell.com>
-Signed-off-by: Nilesh Javali <njavali@marvell.com>
-Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/scsi/qla2xxx/qla_def.h | 4 ++--
- drivers/scsi/qla2xxx/qla_isr.c | 16 ++++++----------
- 2 files changed, 8 insertions(+), 12 deletions(-)
-
-diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
-index 15eeeef4562b..6afce455b9d8 100644
---- a/drivers/scsi/qla2xxx/qla_def.h
-+++ b/drivers/scsi/qla2xxx/qla_def.h
-@@ -4135,8 +4135,8 @@ struct qla_hw_data {
- #define IS_OEM_001(ha) ((ha)->device_type & DT_OEM_001)
- #define HAS_EXTENDED_IDS(ha) ((ha)->device_type & DT_EXTENDED_IDS)
- #define IS_CT6_SUPPORTED(ha) ((ha)->device_type & DT_CT6_SUPPORTED)
--#define IS_MQUE_CAPABLE(ha) ((ha)->mqenable || IS_QLA83XX(ha) || \
-- IS_QLA27XX(ha) || IS_QLA28XX(ha))
-+#define IS_MQUE_CAPABLE(ha) (IS_QLA83XX(ha) || IS_QLA27XX(ha) || \
-+ IS_QLA28XX(ha))
- #define IS_BIDI_CAPABLE(ha) \
- (IS_QLA25XX(ha) || IS_QLA2031(ha) || IS_QLA27XX(ha) || IS_QLA28XX(ha))
- /* Bit 21 of fw_attributes decides the MCTP capabilities */
-diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
-index 6106f93aa32f..7ea73ad845de 100644
---- a/drivers/scsi/qla2xxx/qla_isr.c
-+++ b/drivers/scsi/qla2xxx/qla_isr.c
-@@ -4054,16 +4054,12 @@ qla24xx_enable_msix(struct qla_hw_data *ha, struct rsp_que *rsp)
- }
-
- /* Enable MSI-X vector for response queue update for queue 0 */
-- if (IS_QLA83XX(ha) || IS_QLA27XX(ha) || IS_QLA28XX(ha)) {
-- if (ha->msixbase && ha->mqiobase &&
-- (ha->max_rsp_queues > 1 || ha->max_req_queues > 1 ||
-- ql2xmqsupport))
-- ha->mqenable = 1;
-- } else
-- if (ha->mqiobase &&
-- (ha->max_rsp_queues > 1 || ha->max_req_queues > 1 ||
-- ql2xmqsupport))
-- ha->mqenable = 1;
-+ if (IS_MQUE_CAPABLE(ha) &&
-+ (ha->msixbase && ha->mqiobase && ha->max_qpairs))
-+ ha->mqenable = 1;
-+ else
-+ ha->mqenable = 0;
-+
- ql_dbg(ql_dbg_multiq, vha, 0xc005,
- "mqiobase=%p, max_rsp_queues=%d, max_req_queues=%d.\n",
- ha->mqiobase, ha->max_rsp_queues, ha->max_req_queues);
---
-2.35.1
-
+++ /dev/null
-From 600a0835f7d06c3ccc8533f3df0f5d130fbddbc2 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 12 Jul 2022 22:20:44 -0700
-Subject: scsi: qla2xxx: Update manufacturer details
-
-From: Bikash Hazarika <bhazarika@marvell.com>
-
-[ Upstream commit 1ccad27716ecad1fd58c35e579bedb81fa5e1ad5 ]
-
-Update manufacturer details to indicate Marvell Semiconductors.
-
-Link: https://lore.kernel.org/r/20220713052045.10683-10-njavali@marvell.com
-Cc: stable@vger.kernel.org
-Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
-Signed-off-by: Bikash Hazarika <bhazarika@marvell.com>
-Signed-off-by: Nilesh Javali <njavali@marvell.com>
-Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/scsi/qla2xxx/qla_def.h | 2 +-
- drivers/scsi/qla2xxx/qla_gs.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
-index 6afce455b9d8..44f80412a0a4 100644
---- a/drivers/scsi/qla2xxx/qla_def.h
-+++ b/drivers/scsi/qla2xxx/qla_def.h
-@@ -56,7 +56,7 @@ typedef struct {
- #include "qla_nvme.h"
- #define QLA2XXX_DRIVER_NAME "qla2xxx"
- #define QLA2XXX_APIDEV "ql2xapidev"
--#define QLA2XXX_MANUFACTURER "QLogic Corporation"
-+#define QLA2XXX_MANUFACTURER "Marvell Semiconductor, Inc."
-
- /*
- * We have MAILBOX_REGISTER_COUNT sized arrays in a few places,
-diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c
-index 20bbd69e35e5..d9ac17dbad78 100644
---- a/drivers/scsi/qla2xxx/qla_gs.c
-+++ b/drivers/scsi/qla2xxx/qla_gs.c
-@@ -1614,7 +1614,7 @@ qla2x00_hba_attributes(scsi_qla_host_t *vha, void *entries,
- eiter->type = cpu_to_be16(FDMI_HBA_MANUFACTURER);
- alen = scnprintf(
- eiter->a.manufacturer, sizeof(eiter->a.manufacturer),
-- "%s", "QLogic Corporation");
-+ "%s", QLA2XXX_MANUFACTURER);
- alen += FDMI_ATTR_ALIGNMENT(alen);
- alen += FDMI_ATTR_TYPELEN(eiter);
- eiter->len = cpu_to_be16(alen);
---
-2.35.1
-
drm-mediatek-keep-dsi-as-lp00-before-dcs-cmds-transf.patch
hid-ignore-battery-for-elan-touchscreen-on-hp-spectr.patch
hid-hid-input-add-surface-go-battery-quirk.patch
-scsi-qla2xxx-turn-off-multi-queue-for-8g-adapters.patch-18489
-scsi-qla2xxx-fix-losing-fcp-2-targets-during-port-pe.patch
-scsi-qla2xxx-fix-losing-fcp-2-targets-on-long-port-d.patch
-scsi-qla2xxx-fix-erroneous-mailbox-timeout-after-pci.patch
drm-vc4-drv-adopt-the-dma-configuration-from-the-hvs.patch
mtd-rawnand-add-a-helper-to-clarify-the-interface-co.patch
mtd-rawnand-arasan-check-the-proposed-data-interface.patch
usbnet-smsc95xx-don-t-clear-read-only-phy-interrupt.patch
usbnet-smsc95xx-avoid-link-settings-race-on-interrup.patch
firmware-arm_scpi-ensure-scpi_info-is-not-assigned-i.patch
-__follow_mount_rcu-verify-that-mount_lock-remains-un.patch
intel_th-pci-add-meteor-lake-p-support.patch
intel_th-pci-add-raptor-lake-s-pch-support.patch
intel_th-pci-add-raptor-lake-s-cpu-support.patch
serial-8250_pci-replace-dev_-by-pci_-macros.patch
serial-8250-fold-endrun-device-support-into-oxsemi-t.patch
dm-writecache-set-a-default-max_writeback_jobs.patch
-x86-olpc-fix-logical-not-is-only-applied-to-the-left.patch
kexec-keys-s390-make-use-of-built-in-and-secondary-k.patch
dm-thin-fix-use-after-free-crash-in-dm_sm_register_t.patch
timekeeping-contribute-wall-clock-to-rng-on-time-cha.patch
um-allow-pm-with-suspend-to-idle.patch
um-seed-rng-using-host-os-rng.patch
-scsi-qla2xxx-fix-discovery-issues-in-fc-al-topology.patch-16688
-scsi-qla2xxx-update-manufacturer-details.patch
-spmi-trace-fix-stack-out-of-bound-access-in-spmi-tra.patch
btrfs-reject-log-replay-if-there-is-unsupported-ro-c.patch
btrfs-reset-block-group-chunk-force-if-we-have-to-wa.patch
acpi-cppc-do-not-prevent-cppc-from-working-in-the-fu.patch
+++ /dev/null
-From 351d94f31fbae04e89a91d46f3bc382b6b105a14 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 27 Jun 2022 16:55:12 -0700
-Subject: spmi: trace: fix stack-out-of-bound access in SPMI tracing functions
-
-From: David Collins <quic_collinsd@quicinc.com>
-
-[ Upstream commit 2af28b241eea816e6f7668d1954f15894b45d7e3 ]
-
-trace_spmi_write_begin() and trace_spmi_read_end() both call
-memcpy() with a length of "len + 1". This leads to one extra
-byte being read beyond the end of the specified buffer. Fix
-this out-of-bound memory access by using a length of "len"
-instead.
-
-Here is a KASAN log showing the issue:
-
-BUG: KASAN: stack-out-of-bounds in trace_event_raw_event_spmi_read_end+0x1d0/0x234
-Read of size 2 at addr ffffffc0265b7540 by task thermal@2.0-ser/1314
-...
-Call trace:
- dump_backtrace+0x0/0x3e8
- show_stack+0x2c/0x3c
- dump_stack_lvl+0xdc/0x11c
- print_address_description+0x74/0x384
- kasan_report+0x188/0x268
- kasan_check_range+0x270/0x2b0
- memcpy+0x90/0xe8
- trace_event_raw_event_spmi_read_end+0x1d0/0x234
- spmi_read_cmd+0x294/0x3ac
- spmi_ext_register_readl+0x84/0x9c
- regmap_spmi_ext_read+0x144/0x1b0 [regmap_spmi]
- _regmap_raw_read+0x40c/0x754
- regmap_raw_read+0x3a0/0x514
- regmap_bulk_read+0x418/0x494
- adc5_gen3_poll_wait_hs+0xe8/0x1e0 [qcom_spmi_adc5_gen3]
- ...
- __arm64_sys_read+0x4c/0x60
- invoke_syscall+0x80/0x218
- el0_svc_common+0xec/0x1c8
- ...
-
-addr ffffffc0265b7540 is located in stack of task thermal@2.0-ser/1314 at offset 32 in frame:
- adc5_gen3_poll_wait_hs+0x0/0x1e0 [qcom_spmi_adc5_gen3]
-
-this frame has 1 object:
- [32, 33) 'status'
-
-Memory state around the buggy address:
- ffffffc0265b7400: 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
- ffffffc0265b7480: 04 f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00
->ffffffc0265b7500: 00 00 00 00 f1 f1 f1 f1 01 f3 f3 f3 00 00 00 00
- ^
- ffffffc0265b7580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
- ffffffc0265b7600: f1 f1 f1 f1 01 f2 07 f2 f2 f2 01 f3 00 00 00 00
-==================================================================
-
-Fixes: a9fce374815d ("spmi: add command tracepoints for SPMI")
-Cc: stable@vger.kernel.org
-Reviewed-by: Stephen Boyd <sboyd@kernel.org>
-Acked-by: Steven Rostedt (Google) <rostedt@goodmis.org>
-Signed-off-by: David Collins <quic_collinsd@quicinc.com>
-Link: https://lore.kernel.org/r/20220627235512.2272783-1-quic_collinsd@quicinc.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- include/trace/events/spmi.h | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/include/trace/events/spmi.h b/include/trace/events/spmi.h
-index 8b60efe18ba6..a6819fd85cdf 100644
---- a/include/trace/events/spmi.h
-+++ b/include/trace/events/spmi.h
-@@ -21,15 +21,15 @@ TRACE_EVENT(spmi_write_begin,
- __field ( u8, sid )
- __field ( u16, addr )
- __field ( u8, len )
-- __dynamic_array ( u8, buf, len + 1 )
-+ __dynamic_array ( u8, buf, len )
- ),
-
- TP_fast_assign(
- __entry->opcode = opcode;
- __entry->sid = sid;
- __entry->addr = addr;
-- __entry->len = len + 1;
-- memcpy(__get_dynamic_array(buf), buf, len + 1);
-+ __entry->len = len;
-+ memcpy(__get_dynamic_array(buf), buf, len);
- ),
-
- TP_printk("opc=%d sid=%02d addr=0x%04x len=%d buf=0x[%*phD]",
-@@ -92,7 +92,7 @@ TRACE_EVENT(spmi_read_end,
- __field ( u16, addr )
- __field ( int, ret )
- __field ( u8, len )
-- __dynamic_array ( u8, buf, len + 1 )
-+ __dynamic_array ( u8, buf, len )
- ),
-
- TP_fast_assign(
-@@ -100,8 +100,8 @@ TRACE_EVENT(spmi_read_end,
- __entry->sid = sid;
- __entry->addr = addr;
- __entry->ret = ret;
-- __entry->len = len + 1;
-- memcpy(__get_dynamic_array(buf), buf, len + 1);
-+ __entry->len = len;
-+ memcpy(__get_dynamic_array(buf), buf, len);
- ),
-
- TP_printk("opc=%d sid=%02d addr=0x%04x ret=%d len=%02d buf=0x[%*phD]",
---
-2.35.1
-
+++ /dev/null
-From e6ed00d71e1b588a2e7f80792c6f3ea5da669da0 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 15 Jul 2022 17:15:36 +0200
-Subject: x86/olpc: fix 'logical not is only applied to the left hand side'
-
-From: Alexander Lobakin <alexandr.lobakin@intel.com>
-
-[ Upstream commit 3a2ba42cbd0b669ce3837ba400905f93dd06c79f ]
-
-The bitops compile-time optimization series revealed one more
-problem in olpc-xo1-sci.c:send_ebook_state(), resulted in GCC
-warnings:
-
-arch/x86/platform/olpc/olpc-xo1-sci.c: In function 'send_ebook_state':
-arch/x86/platform/olpc/olpc-xo1-sci.c:83:63: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
- 83 | if (!!test_bit(SW_TABLET_MODE, ebook_switch_idev->sw) == state)
- | ^~
-arch/x86/platform/olpc/olpc-xo1-sci.c:83:13: note: add parentheses around left hand side expression to silence this warning
-
-Despite this code working as intended, this redundant double
-negation of boolean value, together with comparing to `char`
-with no explicit conversion to bool, makes compilers think
-the author made some unintentional logical mistakes here.
-Make it the other way around and negate the char instead
-to silence the warnings.
-
-Fixes: d2aa37411b8e ("x86/olpc/xo1/sci: Produce wakeup events for buttons and switches")
-Cc: stable@vger.kernel.org # 3.5+
-Reported-by: Guenter Roeck <linux@roeck-us.net>
-Reported-by: kernel test robot <lkp@intel.com>
-Reviewed-and-tested-by: Guenter Roeck <linux@roeck-us.net>
-Signed-off-by: Alexander Lobakin <alexandr.lobakin@intel.com>
-Signed-off-by: Yury Norov <yury.norov@gmail.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/x86/platform/olpc/olpc-xo1-sci.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/x86/platform/olpc/olpc-xo1-sci.c b/arch/x86/platform/olpc/olpc-xo1-sci.c
-index f03a6883dcc6..89f25af4b3c3 100644
---- a/arch/x86/platform/olpc/olpc-xo1-sci.c
-+++ b/arch/x86/platform/olpc/olpc-xo1-sci.c
-@@ -80,7 +80,7 @@ static void send_ebook_state(void)
- return;
- }
-
-- if (!!test_bit(SW_TABLET_MODE, ebook_switch_idev->sw) == state)
-+ if (test_bit(SW_TABLET_MODE, ebook_switch_idev->sw) == !!state)
- return; /* Nothing new to report. */
-
- input_report_switch(ebook_switch_idev, SW_TABLET_MODE, state);
---
-2.35.1
-