diff options
author | Sagi Grimberg <sagi@grimberg.me> | 2020-01-27 08:23:28 +0100 |
---|---|---|
committer | Keith Busch <kbusch@kernel.org> | 2020-02-03 19:00:24 +0100 |
commit | b716e6889c95f64ba32af492461f6cc9341f3f05 (patch) | |
tree | f51aff28a48be1f1d92058d57674828f74b539d8 /drivers/nvme/target/nvmet.h | |
parent | nvmet: Pass lockdep expression to RCU lists (diff) | |
download | linux-b716e6889c95f64ba32af492461f6cc9341f3f05.tar.xz linux-b716e6889c95f64ba32af492461f6cc9341f3f05.zip |
nvmet: fix dsm failure when payload does not match sgl descriptor
The host is allowed to pass the controller an sgl describing a buffer
that is larger than the dsm payload itself, allow it when executing
dsm.
Reported-by: Dakshaja Uppalapati <dakshaja@chelsio.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>,
Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Diffstat (limited to 'drivers/nvme/target/nvmet.h')
-rw-r--r-- | drivers/nvme/target/nvmet.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/nvme/target/nvmet.h b/drivers/nvme/target/nvmet.h index 46df45e837c9..eda28b22a2c8 100644 --- a/drivers/nvme/target/nvmet.h +++ b/drivers/nvme/target/nvmet.h @@ -374,6 +374,7 @@ bool nvmet_req_init(struct nvmet_req *req, struct nvmet_cq *cq, struct nvmet_sq *sq, const struct nvmet_fabrics_ops *ops); void nvmet_req_uninit(struct nvmet_req *req); bool nvmet_check_data_len(struct nvmet_req *req, size_t data_len); +bool nvmet_check_data_len_lte(struct nvmet_req *req, size_t data_len); void nvmet_req_complete(struct nvmet_req *req, u16 status); int nvmet_req_alloc_sgl(struct nvmet_req *req); void nvmet_req_free_sgl(struct nvmet_req *req); |