linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: John Meneghini <jmeneghi@redhat.com>
To: Bryan Gurney <bgurney@redhat.com>,
	linux-nvme@lists.infradead.org, kbusch@kernel.org, hch@lst.de,
	sagi@grimberg.me, axboe@kernel.dk
Cc: james.smart@broadcom.com, dick.kennedy@broadcom.com,
	njavali@marvell.com, linux-scsi@vger.kernel.org, hare@suse.de
Subject: Re: [PATCH v8 6/8] qla2xxx: enable FPIN notification for NVMe
Date: Wed, 9 Jul 2025 18:01:52 -0400	[thread overview]
Message-ID: <a1ea5d9d-d3d9-47a6-a950-4a8480c3a305@redhat.com> (raw)
In-Reply-To: <20250709211919.49100-7-bgurney@redhat.com>

Some bad news about this patch.

All tests with the LPFC driver pass, but when we tested this series on a system with a QLA adapter we see the following problem.

Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel:
------------[ cut here ]------------
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: memcpy: detected field-spanning write (size 60) of single field "((uint8_t *)fpin_pkt + buffer_copy_offset)" at drivers/scsi/qla2xxx/qla_isr.c:1221 (size 44)
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: WARNING: CPU: 73 PID: 0 at drivers/scsi/qla2xxx/qla_isr.c:1221 qla27xx_copy_fpin_pkt.isra.0+0x292/0x3a0 [qla2xxx]
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: Modules linked in: nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 rfkill ip_set nf_tables irdma i40e ib_uverbs ib_core intel_rapl_msr intel_rapl_common intel_uncore_frequency intel_uncore_frequency_common intel_ifs i10nm_edac skx_edac_common nfit libnvdimm x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel vfat fat kvm dax_hmem cxl_acpi cxl_port irqbypass iTCO_wdt cxl_core rapl mei_me iTCO_vendor_support ipmi_ssif dell_smbios acpi_power_meter intel_cstate pmt_telemetry platform_profile isst_if_mbox_pci isst_if_mmio sd_mod ice pmt_class intel_sdsi dcdbas intel_uncore mgag200 einj dell_wmi_descriptor wmi_bmof tg3 pcspkr sg mei i2c_i801 isst_if_common gnss intel_vsec i2c_algo_bit libie i2c_smbus ipmi_si i2c_ismt acpi_ipmi ipmi_devintf ipmi_msghandler dm_multipath fuse dm_mod loop nfnetlink xfs qla2xxx iaa_crypto qat_4xxx intel_qat nvme_fc ahci nvme libahci nvme_fabrics idxd
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: nvme_core libata ghash_clmulni_intel scsi_transport_fc nvme_keyring idxd_bus crc8 nvme_auth wmi pinctrl_emmitsburg
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: CPU: 73 UID: 0 PID: 0 Comm: swapper/73 Kdump: loaded Tainted: G S 6.16.0-rc5.nvmefpinli-v8+ #1 PREEMPT(voluntary)
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: Tainted: [S]=CPU_OUT_OF_SPEC
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: Hardware name: Dell Inc. PowerEdge R660/0HGTK9, BIOS 2.5.4 01/16/2025
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: RIP: 0010:qla27xx_copy_fpin_pkt.isra.0+0x292/0x3a0 [qla2xxx]
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: Code: e9 48 c7 c2 38 c0 b2 c0 48 89 44 24 38 48 c7 c7 98 c0 b2 c0 4c 89 44 24 28 48 89 74 24 20 c6 05 db 6e 1f 00 01 e8 7e 06 c4 c3 <0f> 0b 48 8b 44 24 38 4c 8b 44 24 28 48 8b 74 24 20 e9 d1 fe ff ff
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: RSP: 0018:ff5e253987a04e40 EFLAGS: 00010082
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: RAX: 0000000000000000 RBX: ff3c99b7dc380cc0 RCX: 0000000000000027
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: RDX: ff3c99c77f71c148 RSI: 0000000000000001 RDI: ff3c99c77f71c140
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: RBP: 000000000000002c R08: 0000000000000000 R09: ff5e253987a04cb8
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: R10: ffffffff86124408 R11: 0000000000000003 R12: 000000000000003c
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: R13: 000000000000003c R14: ff3c99b7eb156600 R15: 0000000000000014
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: FS:  0000000000000000(0000) GS:ff3c99c7f89c5000(0000) knlGS:0000000000000000
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: CR2: 00007f19d9fce004 CR3: 0000001ab0a24003 CR4: 0000000000f73ef0
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: PKRU: 55555554
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: Call Trace:
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel:  <IRQ>
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: qla24xx_process_response_queue+0xac7/0xbd0 [qla2xxx]
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: ? running_clock+0x10/0x30
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: ? watchdog_timer_fn+0x127/0x1c0
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: qla24xx_msix_rsp_q+0x43/0xb0 [qla2xxx]
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: __handle_irq_event_percpu+0x47/0x1a0
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: handle_irq_event+0x38/0x90
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: handle_edge_irq+0x90/0x1e0
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: __common_interrupt+0x3b/0x90
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: common_interrupt+0x80/0xa0
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel:  </IRQ>
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel:  <TASK>
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: asm_common_interrupt+0x26/0x40
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: RIP: 0010:cpuidle_enter_state+0xc0/0x410
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: Code: 69 02 00 00 e8 e1 36 34 ff e8 dc f1 ff ff 49 89 c5 0f 1f 44 00 00 31 ff e8 bd f7 32 ff 45 84 ff 0f 85 3b 02 00 00 fb 45 85 f6 <0f> 88 84 01 00 00 49 63 d6 48 8d 04 52 48 8d 04 82 49 8d 0c c4 48
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: RSP: 0018:ff5e2539869e7e68 EFLAGS: 00000206
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: RAX: ff3c99c7f89c5000 RBX: 0000000000000003 RCX: 0000000000000000
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: RDX: 000000ee5c1e784a RSI: ffffffe9b859fd90 RDI: 0000000000000000
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: RBP: ff9025397f9000b0 R08: 0000000000000000 R09: 0000001955cd9750
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: R10: 00000000003c5804 R11: ff3c99c77f72f9ec R12: ffffffff862d8040
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: R13: 000000ee5c1e784a R14: 0000000000000003 R15: 0000000000000000
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: ? cpuidle_enter_state+0xb3/0x410
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: cpuidle_enter+0x2d/0x40
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: cpuidle_idle_call+0x111/0x1a0
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: do_idle+0x73/0xd0
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: cpu_startup_entry+0x29/0x30
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: start_secondary+0x114/0x140
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: common_startup_64+0x13e/0x141
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel:  </TASK>
Jul 09 16:36:59 rhel-storage-107.fast.eng.rdu2.dc.redhat.com kernel: ---[ end trace 0000000000000000 ]---


John A. Meneghini
Senior Principal Platform Storage Engineer
RHEL SST - Platform Storage Group
jmeneghi@redhat.com

On 7/9/25 5:19 PM, Bryan Gurney wrote:
> From: Hannes Reinecke <hare@kernel.org>
> 
> Call 'nvme_fc_fpin_rcv()' to enable FPIN notifications for NVMe.
> 
> Signed-off-by: Hannes Reinecke <hare@kernel.org>
> Reviewed-by: John Meneghini <jmeneghi@redhat.com>
> Tested-by: Muneendra Kumar <muneendra.kumar@broadcom.com>
> ---
>   drivers/scsi/qla2xxx/qla_isr.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
> index c4c6b5c6658c..f5e40e22ad7d 100644
> --- a/drivers/scsi/qla2xxx/qla_isr.c
> +++ b/drivers/scsi/qla2xxx/qla_isr.c
> @@ -46,6 +46,9 @@ qla27xx_process_purex_fpin(struct scsi_qla_host *vha, struct purex_item *item)
>   		       pkt, pkt_size);
>   
>   	fc_host_fpin_rcv(vha->host, pkt_size, (char *)pkt, 0);
> +#if (IS_ENABLED(CONFIG_NVME_FC))
> +	nvme_fc_fpin_rcv(vha->nvme_local_port, pkt_size, (char *)pkt);
> +#endif
>   }
>   
>   const char *const port_state_str[] = {


  reply	other threads:[~2025-07-09 22:57 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-09 21:19 [PATCH v8 0/8] nvme-fc: FPIN link integrity handling Bryan Gurney
2025-07-09 21:19 ` [PATCH v8 1/8] fc_els: use 'union fc_tlv_desc' Bryan Gurney
2025-07-09 21:19 ` [PATCH v8 2/8] nvme: add NVME_CTRL_MARGINAL flag Bryan Gurney
2025-07-09 21:19 ` [PATCH v8 3/8] nvme-fc: marginal path handling Bryan Gurney
2025-07-09 21:19 ` [PATCH v8 4/8] nvme-fc: nvme_fc_fpin_rcv() callback Bryan Gurney
2025-07-09 21:19 ` [PATCH v8 5/8] lpfc: enable FPIN notification for NVMe Bryan Gurney
2025-07-09 21:19 ` [PATCH v8 6/8] qla2xxx: " Bryan Gurney
2025-07-09 22:01   ` John Meneghini [this message]
2025-07-09 21:19 ` [PATCH v8 7/8] nvme: sysfs: emit the marginal path state in show_state() Bryan Gurney
2025-07-09 22:12   ` Keith Busch
2025-07-15 19:42     ` John Meneghini
2025-07-15 20:03       ` Keith Busch
2025-07-16  6:07         ` Hannes Reinecke
2025-07-22  2:57           ` Keith Busch
2025-07-22  6:41             ` Hannes Reinecke
2025-07-23 16:58               ` John Meneghini
2025-07-09 22:05 ` [PATCH v8 0/8] nvme-fc: FPIN link integrity handling John Meneghini

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=a1ea5d9d-d3d9-47a6-a950-4a8480c3a305@redhat.com \
    --to=jmeneghi@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=bgurney@redhat.com \
    --cc=dick.kennedy@broadcom.com \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=james.smart@broadcom.com \
    --cc=kbusch@kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=njavali@marvell.com \
    --cc=sagi@grimberg.me \
    /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;
as well as URLs for NNTP newsgroup(s).