[bug report] scsi: lpfc: vmid: Introduce VMID in I/O path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Gaurav Srivastava,

The patch 33c79741deaf: "scsi: lpfc: vmid: Introduce VMID in I/O
path" from Jun 8, 2021, leads to the following Smatch static checker
warning:

	mm/percpu.c:1949 __alloc_percpu()
	warn: sleeping in atomic context

drivers/scsi/lpfc/lpfc_scsi.c
  5510                        vmp->io_rd_cnt = 0;
  5511                        vmp->io_wr_cnt = 0;
  5512                        vmp->flag = LPFC_VMID_SLOT_USED;
  5513
  5514                        vmp->delete_inactive =
  5515                                vport->vmid_inactivity_timeout ? 1 : 0;
  5516
  5517                        /* if type priority tag, get next available VMID */
  5518                        if (lpfc_vmid_is_type_priority_tag(vport))
  5519                                lpfc_vmid_assign_cs_ctl(vport, vmp);
  5520
  5521                        /* allocate the per cpu variable for holding */
  5522                        /* the last access time stamp only if VMID is enabled */
  5523                        if (!vmp->last_io_time)
  5524                                vmp->last_io_time = __alloc_percpu(sizeof(u64),
                                                          ^^^^^^^^^^^^^^
This allocation sleeps.  A non-sleeping alternative is __alloc_percpu_gfp().

  5525                                                                   __alignof__(struct
  5526                                                                   lpfc_vmid));
  5527                        if (!vmp->last_io_time) {
  5528                                hash_del(&vmp->hnode);
  5529                                vmp->flag = LPFC_VMID_SLOT_FREE;
  5530                                write_unlock(&vport->vmid_lock);
  5531                                return -EIO;
  5532                        }
  5533
  5534                        write_unlock(&vport->vmid_lock);
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
We're holding a write lock.

regards,
dan carpenter



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux