mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-01 10:45:49 +00:00
block-6.0-2022-08-12
-----BEGIN PGP SIGNATURE----- iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmL2SxQQHGF4Ym9lQGtl cm5lbC5kawAKCRD301j7KXHgpl24D/4nxPDuhvDxLHpMUR/C2lCtAnqVhHtGLhIX QSw+GVA5LuJvuB0L5Zr7ODDILPY5ZyWI/F1FPVJUOJE1NJ3tFiH4WzFIkqtFtVCE 2jFTXH63A/o/fyo9nscsZ1g6eEswSAbvenHEa9HNpjgFxz0lnXjrniP5VFPo5HNl F8/MO1CBkKmhsGazZn7o1J3Ws6RvApq59YzxHmVz1hFHPgJFN2KwIAQjY2+GGoOD ifpRBbZBCTzj2dEEFZHeK1aCYhTNP4VqbNnBDQPZHwEB3qkml5R9GhTlUe7Ej17t 7o4A05efcm/24TXcODMHP5YaGA14otPUr8wQiJjuOIFLw8sMC61OyS9qDdu1IvyW JCnTtDkzwZZEkhXlraU1HmiLSaBjMEvd/2puxbcS9kISdO7baCLd4Oj7+8ThVhIf JHIt2x3vzKaCzWI93IMrw5iJFK0+NS+SLAD6eyuEgC71Rj5ooemxrBYxKBQ7jb3o GCC3SaU8lFmB1Z/zKo63gGS1b7eaCNGauNm9/gSe1jM8Sor4hlT0yeNRpHf7egAu 1dUQdSwgon6EH6JOGX3CFSC9lnIEAew733QZLaYBqar2WHcq5Wpq6LcWUHhhujgB dSTeLY1Tnhs3GWvMFe4JH/YZilFpbMKzxuFPCV7sQScxzlaGusliX8kVkha/VPLK 9rtT8uyJXg== =1/w+ -----END PGP SIGNATURE----- Merge tag 'block-6.0-2022-08-12' of git://git.kernel.dk/linux-block Pull block fixes from Jens Axboe: - NVMe pull request - print nvme connect Linux error codes properly (Amit Engel) - fix the fc_appid_store return value (Christoph Hellwig) - fix a typo in an error message (Christophe JAILLET) - add another non-unique identifier quirk (Dennis P. Kliem) - check if the queue is allocated before stopping it in nvme-tcp (Maurizio Lombardi) - restart admin queue if the caller needs to restart queue in nvme-fc (Ming Lei) - use kmemdup instead of kmalloc + memcpy in nvme-auth (Zhang Xiaoxu) - __alloc_disk_node() error handling fix (Rafael) * tag 'block-6.0-2022-08-12' of git://git.kernel.dk/linux-block: block: Do not call blk_put_queue() if gendisk allocation fails nvme-pci: add NVME_QUIRK_BOGUS_NID for ADATA XPG GAMMIX S70 nvme-tcp: check if the queue is allocated before stopping it nvme-fabrics: Fix a typo in an error message nvme-fabrics: parse nvme connect Linux error codes nvmet-auth: use kmemdup instead of kmalloc + memcpy nvme-fc: fix the fc_appid_store return value nvme-fc: restart admin queue if the caller needs to restart queue
This commit is contained in:
commit
abe7a481aa
@ -1341,7 +1341,7 @@ struct gendisk *__alloc_disk_node(struct request_queue *q, int node_id,
|
||||
|
||||
disk = kzalloc_node(sizeof(struct gendisk), GFP_KERNEL, node_id);
|
||||
if (!disk)
|
||||
goto out_put_queue;
|
||||
return NULL;
|
||||
|
||||
if (bioset_init(&disk->bio_split, BIO_POOL_SIZE, 0, 0))
|
||||
goto out_free_disk;
|
||||
@ -1390,8 +1390,6 @@ struct gendisk *__alloc_disk_node(struct request_queue *q, int node_id,
|
||||
bioset_exit(&disk->bio_split);
|
||||
out_free_disk:
|
||||
kfree(disk);
|
||||
out_put_queue:
|
||||
blk_put_queue(q);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -270,6 +270,12 @@ static void nvmf_log_connect_error(struct nvme_ctrl *ctrl,
|
||||
{
|
||||
int err_sctype = errval & ~NVME_SC_DNR;
|
||||
|
||||
if (errval < 0) {
|
||||
dev_err(ctrl->device,
|
||||
"Connect command failed, errno: %d\n", errval);
|
||||
return;
|
||||
}
|
||||
|
||||
switch (err_sctype) {
|
||||
case NVME_SC_CONNECT_INVALID_PARAM:
|
||||
if (offset >> 16) {
|
||||
@ -1230,7 +1236,7 @@ static int __init nvmf_init(void)
|
||||
nvmf_device =
|
||||
device_create(nvmf_class, NULL, MKDEV(0, 0), NULL, "ctl");
|
||||
if (IS_ERR(nvmf_device)) {
|
||||
pr_err("couldn't create nvme-fabris device!\n");
|
||||
pr_err("couldn't create nvme-fabrics device!\n");
|
||||
ret = PTR_ERR(nvmf_device);
|
||||
goto out_destroy_class;
|
||||
}
|
||||
|
@ -2533,6 +2533,8 @@ __nvme_fc_abort_outstanding_ios(struct nvme_fc_ctrl *ctrl, bool start_queues)
|
||||
blk_mq_tagset_busy_iter(&ctrl->admin_tag_set,
|
||||
nvme_fc_terminate_exchange, &ctrl->ctrl);
|
||||
blk_mq_tagset_wait_completed_request(&ctrl->admin_tag_set);
|
||||
if (start_queues)
|
||||
nvme_start_admin_queue(&ctrl->ctrl);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -3878,6 +3880,7 @@ static int fc_parse_cgrpid(const char *buf, u64 *id)
|
||||
static ssize_t fc_appid_store(struct device *dev,
|
||||
struct device_attribute *attr, const char *buf, size_t count)
|
||||
{
|
||||
size_t orig_count = count;
|
||||
u64 cgrp_id;
|
||||
int appid_len = 0;
|
||||
int cgrpid_len = 0;
|
||||
@ -3902,7 +3905,7 @@ static ssize_t fc_appid_store(struct device *dev,
|
||||
ret = blkcg_set_fc_appid(app_id, cgrp_id, sizeof(app_id));
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
return count;
|
||||
return orig_count;
|
||||
}
|
||||
static DEVICE_ATTR(appid_store, 0200, NULL, fc_appid_store);
|
||||
#endif /* CONFIG_BLK_CGROUP_FC_APPID */
|
||||
|
@ -3511,6 +3511,8 @@ static const struct pci_device_id nvme_id_table[] = {
|
||||
.driver_data = NVME_QUIRK_BOGUS_NID, },
|
||||
{ PCI_DEVICE(0x1cc1, 0x5350), /* ADATA XPG GAMMIX S50 */
|
||||
.driver_data = NVME_QUIRK_BOGUS_NID, },
|
||||
{ PCI_DEVICE(0x1dbe, 0x5236), /* ADATA XPG GAMMIX S70 */
|
||||
.driver_data = NVME_QUIRK_BOGUS_NID, },
|
||||
{ PCI_DEVICE(0x1e49, 0x0041), /* ZHITAI TiPro7000 NVMe SSD */
|
||||
.driver_data = NVME_QUIRK_NO_DEEPEST_PS, },
|
||||
{ PCI_DEVICE(0xc0a9, 0x540a), /* Crucial P2 */
|
||||
|
@ -1660,6 +1660,9 @@ static void nvme_tcp_stop_queue(struct nvme_ctrl *nctrl, int qid)
|
||||
struct nvme_tcp_ctrl *ctrl = to_tcp_ctrl(nctrl);
|
||||
struct nvme_tcp_queue *queue = &ctrl->queues[qid];
|
||||
|
||||
if (!test_bit(NVME_TCP_Q_ALLOCATED, &queue->flags))
|
||||
return;
|
||||
|
||||
mutex_lock(&queue->queue_lock);
|
||||
if (test_and_clear_bit(NVME_TCP_Q_LIVE, &queue->flags))
|
||||
__nvme_tcp_stop_queue(queue);
|
||||
|
@ -160,10 +160,10 @@ static u16 nvmet_auth_reply(struct nvmet_req *req, void *d)
|
||||
pr_debug("%s: ctrl %d qid %d host authenticated\n",
|
||||
__func__, ctrl->cntlid, req->sq->qid);
|
||||
if (data->cvalid) {
|
||||
req->sq->dhchap_c2 = kmalloc(data->hl, GFP_KERNEL);
|
||||
req->sq->dhchap_c2 = kmemdup(data->rval + data->hl, data->hl,
|
||||
GFP_KERNEL);
|
||||
if (!req->sq->dhchap_c2)
|
||||
return NVME_AUTH_DHCHAP_FAILURE_FAILED;
|
||||
memcpy(req->sq->dhchap_c2, data->rval + data->hl, data->hl);
|
||||
|
||||
pr_debug("%s: ctrl %d qid %d challenge %*ph\n",
|
||||
__func__, ctrl->cntlid, req->sq->qid, data->hl,
|
||||
|
Loading…
Reference in New Issue
Block a user