nvmet-passthru: Reject commands with non-sgl flags set
Any command with a non-SGL flag set (like fuse flags) should be
rejected.
Fixes: c1fef73f79
("nvmet: add passthru code to process commands")
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
382fee1a8b
commit
0ceeab96ba
|
@ -326,6 +326,10 @@ static u16 nvmet_setup_passthru_command(struct nvmet_req *req)
|
|||
|
||||
u16 nvmet_parse_passthru_io_cmd(struct nvmet_req *req)
|
||||
{
|
||||
/* Reject any commands with non-sgl flags set (ie. fused commands) */
|
||||
if (req->cmd->common.flags & ~NVME_CMD_SGL_ALL)
|
||||
return NVME_SC_INVALID_FIELD;
|
||||
|
||||
switch (req->cmd->common.opcode) {
|
||||
case nvme_cmd_resv_register:
|
||||
case nvme_cmd_resv_report:
|
||||
|
@ -396,6 +400,10 @@ static u16 nvmet_passthru_get_set_features(struct nvmet_req *req)
|
|||
|
||||
u16 nvmet_parse_passthru_admin_cmd(struct nvmet_req *req)
|
||||
{
|
||||
/* Reject any commands with non-sgl flags set (ie. fused commands) */
|
||||
if (req->cmd->common.flags & ~NVME_CMD_SGL_ALL)
|
||||
return NVME_SC_INVALID_FIELD;
|
||||
|
||||
/*
|
||||
* Passthru all vendor specific commands
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue