diff options
author | James Smart <jsmart2021@gmail.com> | 2017-09-20 01:33:56 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2017-09-25 20:42:11 +0200 |
commit | 0c319d3a144d4b8f1ea2047fd614d2149b68f889 (patch) | |
tree | c5c1a848aad36b300c74be53c21190b3c6694b3b /drivers | |
parent | nvmet-fc: on port remove call put outside lock (diff) | |
download | linux-0c319d3a144d4b8f1ea2047fd614d2149b68f889.tar.xz linux-0c319d3a144d4b8f1ea2047fd614d2149b68f889.zip |
nvmet-fc: ensure target queue id within range.
When searching for queue id's ensure they are within the expected range.
Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/nvme/target/fc.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c index 6850672ad2a2..58e010bdda3e 100644 --- a/drivers/nvme/target/fc.c +++ b/drivers/nvme/target/fc.c @@ -783,6 +783,9 @@ nvmet_fc_find_target_queue(struct nvmet_fc_tgtport *tgtport, u16 qid = nvmet_fc_getqueueid(connection_id); unsigned long flags; + if (qid > NVMET_NR_QUEUES) + return NULL; + spin_lock_irqsave(&tgtport->lock, flags); list_for_each_entry(assoc, &tgtport->assoc_list, a_list) { if (association_id == assoc->association_id) { |