From 7c7f433ea3eca8b18fa06fccb28455795deb607c Mon Sep 17 00:00:00 2001 From: Keith Busch Date: Fri, 21 Sep 2012 10:49:05 -0600 Subject: [PATCH] --- yaml --- r: 361680 b: refs/heads/master c: f4f117f64baf8840d22266d518227b2a186d294b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/block/nvme.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) 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; }