Commit 136cc1ff authored by Israel Rukshin's avatar Israel Rukshin Committed by Christoph Hellwig
Browse files

nvmet: rename nvmet_check_data_len to nvmet_check_transfer_len



The function doesn't check only the data length, because the transfer
length includes also the metadata length in some cases. This is
preparation for adding metadata (T10-PI) support.

Signed-off-by: default avatarIsrael Rukshin <israelr@mellanox.com>
Signed-off-by: default avatarMax Gurtovoy <maxg@mellanox.com>
Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: default avatarJames Smart <james.smart@broadcom.com>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 26af180c
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -295,7 +295,7 @@ static void nvmet_execute_get_log_page_ana(struct nvmet_req *req)

static void nvmet_execute_get_log_page(struct nvmet_req *req)
{
	if (!nvmet_check_data_len(req, nvmet_get_log_page_len(req->cmd)))
	if (!nvmet_check_transfer_len(req, nvmet_get_log_page_len(req->cmd)))
		return;

	switch (req->cmd->get_log_page.lid) {
@@ -627,7 +627,7 @@ static void nvmet_execute_identify_desclist(struct nvmet_req *req)

static void nvmet_execute_identify(struct nvmet_req *req)
{
	if (!nvmet_check_data_len(req, NVME_IDENTIFY_DATA_SIZE))
	if (!nvmet_check_transfer_len(req, NVME_IDENTIFY_DATA_SIZE))
		return;

	switch (req->cmd->identify.cns) {
@@ -656,7 +656,7 @@ static void nvmet_execute_identify(struct nvmet_req *req)
 */
static void nvmet_execute_abort(struct nvmet_req *req)
{
	if (!nvmet_check_data_len(req, 0))
	if (!nvmet_check_transfer_len(req, 0))
		return;
	nvmet_set_result(req, 1);
	nvmet_req_complete(req, 0);
@@ -745,7 +745,7 @@ static void nvmet_execute_set_features(struct nvmet_req *req)
	u16 nsqr;
	u16 ncqr;

	if (!nvmet_check_data_len(req, 0))
	if (!nvmet_check_transfer_len(req, 0))
		return;

	switch (cdw10 & 0xff) {
@@ -817,7 +817,7 @@ static void nvmet_execute_get_features(struct nvmet_req *req)
	u32 cdw10 = le32_to_cpu(req->cmd->common.cdw10);
	u16 status = 0;

	if (!nvmet_check_data_len(req, nvmet_feat_data_len(req, cdw10)))
	if (!nvmet_check_transfer_len(req, nvmet_feat_data_len(req, cdw10)))
		return;

	switch (cdw10 & 0xff) {
@@ -884,7 +884,7 @@ void nvmet_execute_async_event(struct nvmet_req *req)
{
	struct nvmet_ctrl *ctrl = req->sq->ctrl;

	if (!nvmet_check_data_len(req, 0))
	if (!nvmet_check_transfer_len(req, 0))
		return;

	mutex_lock(&ctrl->lock);
@@ -903,7 +903,7 @@ void nvmet_execute_keep_alive(struct nvmet_req *req)
{
	struct nvmet_ctrl *ctrl = req->sq->ctrl;

	if (!nvmet_check_data_len(req, 0))
	if (!nvmet_check_transfer_len(req, 0))
		return;

	pr_debug("ctrl %d update keep-alive timer for %d secs\n",
+3 −3
Original line number Diff line number Diff line
@@ -950,9 +950,9 @@ void nvmet_req_uninit(struct nvmet_req *req)
}
EXPORT_SYMBOL_GPL(nvmet_req_uninit);

bool nvmet_check_data_len(struct nvmet_req *req, size_t data_len)
bool nvmet_check_transfer_len(struct nvmet_req *req, size_t len)
{
	if (unlikely(data_len != req->transfer_len)) {
	if (unlikely(len != req->transfer_len)) {
		req->error_loc = offsetof(struct nvme_common_command, dptr);
		nvmet_req_complete(req, NVME_SC_SGL_INVALID_DATA | NVME_SC_DNR);
		return false;
@@ -960,7 +960,7 @@ bool nvmet_check_data_len(struct nvmet_req *req, size_t data_len)

	return true;
}
EXPORT_SYMBOL_GPL(nvmet_check_data_len);
EXPORT_SYMBOL_GPL(nvmet_check_transfer_len);

bool nvmet_check_data_len_lte(struct nvmet_req *req, size_t data_len)
{
+4 −4
Original line number Diff line number Diff line
@@ -171,7 +171,7 @@ static void nvmet_execute_disc_get_log_page(struct nvmet_req *req)
	u16 status = 0;
	void *buffer;

	if (!nvmet_check_data_len(req, data_len))
	if (!nvmet_check_transfer_len(req, data_len))
		return;

	if (req->cmd->get_log_page.lid != NVME_LOG_DISC) {
@@ -244,7 +244,7 @@ static void nvmet_execute_disc_identify(struct nvmet_req *req)
	const char model[] = "Linux";
	u16 status = 0;

	if (!nvmet_check_data_len(req, NVME_IDENTIFY_DATA_SIZE))
	if (!nvmet_check_transfer_len(req, NVME_IDENTIFY_DATA_SIZE))
		return;

	if (req->cmd->identify.cns != NVME_ID_CNS_CTRL) {
@@ -298,7 +298,7 @@ static void nvmet_execute_disc_set_features(struct nvmet_req *req)
	u32 cdw10 = le32_to_cpu(req->cmd->common.cdw10);
	u16 stat;

	if (!nvmet_check_data_len(req, 0))
	if (!nvmet_check_transfer_len(req, 0))
		return;

	switch (cdw10 & 0xff) {
@@ -324,7 +324,7 @@ static void nvmet_execute_disc_get_features(struct nvmet_req *req)
	u32 cdw10 = le32_to_cpu(req->cmd->common.cdw10);
	u16 stat = 0;

	if (!nvmet_check_data_len(req, 0))
	if (!nvmet_check_transfer_len(req, 0))
		return;

	switch (cdw10 & 0xff) {
+4 −4
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ static void nvmet_execute_prop_set(struct nvmet_req *req)
	u64 val = le64_to_cpu(req->cmd->prop_set.value);
	u16 status = 0;

	if (!nvmet_check_data_len(req, 0))
	if (!nvmet_check_transfer_len(req, 0))
		return;

	if (req->cmd->prop_set.attrib & 1) {
@@ -41,7 +41,7 @@ static void nvmet_execute_prop_get(struct nvmet_req *req)
	u16 status = 0;
	u64 val = 0;

	if (!nvmet_check_data_len(req, 0))
	if (!nvmet_check_transfer_len(req, 0))
		return;

	if (req->cmd->prop_get.attrib & 1) {
@@ -156,7 +156,7 @@ static void nvmet_execute_admin_connect(struct nvmet_req *req)
	struct nvmet_ctrl *ctrl = NULL;
	u16 status = 0;

	if (!nvmet_check_data_len(req, sizeof(struct nvmf_connect_data)))
	if (!nvmet_check_transfer_len(req, sizeof(struct nvmf_connect_data)))
		return;

	d = kmalloc(sizeof(*d), GFP_KERNEL);
@@ -223,7 +223,7 @@ static void nvmet_execute_io_connect(struct nvmet_req *req)
	u16 qid = le16_to_cpu(c->qid);
	u16 status = 0;

	if (!nvmet_check_data_len(req, sizeof(struct nvmf_connect_data)))
	if (!nvmet_check_transfer_len(req, sizeof(struct nvmf_connect_data)))
		return;

	d = kmalloc(sizeof(*d), GFP_KERNEL);
+3 −3
Original line number Diff line number Diff line
@@ -178,7 +178,7 @@ static void nvmet_bdev_execute_rw(struct nvmet_req *req)
	sector_t sector;
	int op, i;

	if (!nvmet_check_data_len(req, nvmet_rw_data_len(req)))
	if (!nvmet_check_transfer_len(req, nvmet_rw_data_len(req)))
		return;

	if (!req->sg_cnt) {
@@ -239,7 +239,7 @@ static void nvmet_bdev_execute_flush(struct nvmet_req *req)
{
	struct bio *bio = &req->b.inline_bio;

	if (!nvmet_check_data_len(req, 0))
	if (!nvmet_check_transfer_len(req, 0))
		return;

	bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec));
@@ -331,7 +331,7 @@ static void nvmet_bdev_execute_write_zeroes(struct nvmet_req *req)
	sector_t nr_sector;
	int ret;

	if (!nvmet_check_data_len(req, 0))
	if (!nvmet_check_transfer_len(req, 0))
		return;

	sector = le64_to_cpu(write_zeroes->slba) <<
Loading