diff --git a/[refs] b/[refs] index 31d6eb7471d2..d0b0ca3bc925 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3295874b6074d749516d6decd43afad7bf6e38ff +refs/heads/master: f4f117f64baf8840d22266d518227b2a186d294b diff --git a/trunk/drivers/block/nvme.c b/trunk/drivers/block/nvme.c index af88635e44e4..47c860454289 100644 --- a/trunk/drivers/block/nvme.c +++ b/trunk/drivers/block/nvme.c @@ -1237,12 +1237,17 @@ static int nvme_user_admin_cmd(struct nvme_dev *dev, if (length != cmd.data_len) status = -ENOMEM; else - status = nvme_submit_admin_cmd(dev, &c, NULL); + status = nvme_submit_admin_cmd(dev, &c, &cmd.result); if (cmd.data_len) { nvme_unmap_user_pages(dev, cmd.opcode & 1, iod); nvme_free_iod(dev, iod); } + + if (!status && copy_to_user(&ucmd->result, &cmd.result, + sizeof(cmd.result))) + status = -EFAULT; + return status; }