nvmf: check Connect command RECFMT field
Verify that the record format is the one we support (only 0 is defined by the spec for now). Change-Id: Iddf038b381e540134abf572e0545c97a0ef71d5f Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
parent
975362d236
commit
574a801941
@ -183,11 +183,19 @@ nvmf_process_connect(struct spdk_nvmf_request *req)
|
||||
spdk_event_t event;
|
||||
struct spdk_nvmf_fabric_connect_data *data = (struct spdk_nvmf_fabric_connect_data *)
|
||||
req->data;
|
||||
struct spdk_nvmf_fabric_connect_cmd *cmd = &req->cmd->connect_cmd;
|
||||
struct spdk_nvmf_fabric_connect_rsp *rsp = &req->rsp->connect_rsp;
|
||||
void *end;
|
||||
|
||||
#define INVALID_CONNECT_DATA(field) invalid_connect_response(rsp, 1, offsetof(struct spdk_nvmf_fabric_connect_data, field))
|
||||
|
||||
if (cmd->recfmt != 0) {
|
||||
SPDK_ERRLOG("Connect command unsupported RECFMT %u\n", cmd->recfmt);
|
||||
rsp->status.sct = SPDK_NVME_SCT_COMMAND_SPECIFIC;
|
||||
rsp->status.sc = SPDK_NVMF_FABRIC_SC_INCOMPATIBLE_FORMAT;
|
||||
return SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE;
|
||||
}
|
||||
|
||||
if (req->length < sizeof(struct spdk_nvmf_fabric_connect_data)) {
|
||||
SPDK_ERRLOG("Connect command data length 0x%x too small\n", req->length);
|
||||
req->rsp->nvme_cpl.status.sc = SPDK_NVME_SC_INVALID_FIELD;
|
||||
|
Loading…
x
Reference in New Issue
Block a user