Loading drivers/nvme/target/fc.c +19 −3 Original line number Diff line number Diff line Loading @@ -1598,15 +1598,31 @@ nvmet_fc_rcv_ls_req(struct nvmet_fc_target_port *target_port, { struct nvmet_fc_tgtport *tgtport = targetport_to_tgtport(target_port); struct nvmet_fc_ls_iod *iod; if (lsreqbuf_len > sizeof(union nvmefc_ls_requests)) struct fcnvme_ls_rqst_w0 *w0 = (struct fcnvme_ls_rqst_w0 *)lsreqbuf; if (lsreqbuf_len > sizeof(union nvmefc_ls_requests)) { dev_info(tgtport->dev, "RCV %s LS failed: payload too large (%d)\n", (w0->ls_cmd <= NVME_FC_LAST_LS_CMD_VALUE) ? nvmefc_ls_names[w0->ls_cmd] : "", lsreqbuf_len); return -E2BIG; } if (!nvmet_fc_tgtport_get(tgtport)) if (!nvmet_fc_tgtport_get(tgtport)) { dev_info(tgtport->dev, "RCV %s LS failed: target deleting\n", (w0->ls_cmd <= NVME_FC_LAST_LS_CMD_VALUE) ? nvmefc_ls_names[w0->ls_cmd] : ""); return -ESHUTDOWN; } iod = nvmet_fc_alloc_ls_iod(tgtport); if (!iod) { dev_info(tgtport->dev, "RCV %s LS failed: context allocation failed\n", (w0->ls_cmd <= NVME_FC_LAST_LS_CMD_VALUE) ? nvmefc_ls_names[w0->ls_cmd] : ""); nvmet_fc_tgtport_put(tgtport); return -ENOENT; } Loading Loading
drivers/nvme/target/fc.c +19 −3 Original line number Diff line number Diff line Loading @@ -1598,15 +1598,31 @@ nvmet_fc_rcv_ls_req(struct nvmet_fc_target_port *target_port, { struct nvmet_fc_tgtport *tgtport = targetport_to_tgtport(target_port); struct nvmet_fc_ls_iod *iod; if (lsreqbuf_len > sizeof(union nvmefc_ls_requests)) struct fcnvme_ls_rqst_w0 *w0 = (struct fcnvme_ls_rqst_w0 *)lsreqbuf; if (lsreqbuf_len > sizeof(union nvmefc_ls_requests)) { dev_info(tgtport->dev, "RCV %s LS failed: payload too large (%d)\n", (w0->ls_cmd <= NVME_FC_LAST_LS_CMD_VALUE) ? nvmefc_ls_names[w0->ls_cmd] : "", lsreqbuf_len); return -E2BIG; } if (!nvmet_fc_tgtport_get(tgtport)) if (!nvmet_fc_tgtport_get(tgtport)) { dev_info(tgtport->dev, "RCV %s LS failed: target deleting\n", (w0->ls_cmd <= NVME_FC_LAST_LS_CMD_VALUE) ? nvmefc_ls_names[w0->ls_cmd] : ""); return -ESHUTDOWN; } iod = nvmet_fc_alloc_ls_iod(tgtport); if (!iod) { dev_info(tgtport->dev, "RCV %s LS failed: context allocation failed\n", (w0->ls_cmd <= NVME_FC_LAST_LS_CMD_VALUE) ? nvmefc_ls_names[w0->ls_cmd] : ""); nvmet_fc_tgtport_put(tgtport); return -ENOENT; } Loading