Hey Martin.

We've been testing this patch and it turns out there is a significant bug here.

This bug causes a call trace and a driver hang.

I suggest you remove this from scsi-queue and let us fix it.

/John

diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 253f802605d6..44e9f7df8db2 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -6459,9 +6459,10 @@ void qla24xx_process_purex_rdp(struct scsi_qla_host *vha,
 void
 qla24xx_free_purex_item(struct purex_item *item)
 {
-       if (item == &item->vha->default_item) {
-               memset(&item->vha->default_item, 0, sizeof(struct purex_item));
-               memset(&item->vha->__default_item_iocb, 0, 
QLA_DEFAULT_PAYLOAD_SIZE);
+       scsi_qla_host_t *base_vha = item->vha;
+       if (item == &base_vha->default_item) {
+               memset(&base_vha->__default_item_iocb, 0, 
QLA_DEFAULT_PAYLOAD_SIZE);
+               memset(&base_vha->default_item, 0, sizeof(struct purex_item));
        } else
                kfree(item);
 }


On 8/25/25 10:33 PM, Martin K. Petersen wrote:
On Wed, 13 Aug 2025 16:07:35 -0400, Bryan Gurney wrote:

FPIN LI (link integrity) messages are received when the attached
fabric detects hardware errors. In response to these messages I/O
should be directed away from the affected ports, and only used
if the 'optimized' paths are unavailable.
Upon port reset the paths should be put back in service as the
affected hardware might have been replaced.
This patch adds a new controller flag 'NVME_CTRL_MARGINAL'
which will be checked during multipath path selection, causing the
path to be skipped when checking for 'optimized' paths. If no
optimized paths are available the 'marginal' paths are considered
for path selection alongside the 'non-optimized' paths.
It also introduces a new nvme-fc callback 'nvme_fc_fpin_rcv()' to
evaluate the FPIN LI TLV payload and set the 'marginal' state on
all affected rports.

[...]

Applied to 6.18/scsi-queue, thanks!

[9/9] scsi: qla2xxx: Fix memcpy field-spanning write issue
       https://git.kernel.org/mkp/scsi/c/6f4b10226b6b



Reply via email to