OSDN Git Service

nvme: fix kernel paging oops
authorSagi Grimberg <sagi@grimberg.me>
Thu, 13 Dec 2018 20:34:07 +0000 (12:34 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2019 08:20:08 +0000 (09:20 +0100)
[ Upstream commit 092ff0520070fad8407b196f3bb6156ce77a6f98 ]

free the controller discard_page correctly.

Fixes: cb5b7262b011 ("nvme: provide fallback for discard alloc failure")
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/nvme/host/core.c

index 250ccf3..c4ff4f0 100644 (file)
@@ -3569,7 +3569,7 @@ static void nvme_free_ctrl(struct device *dev)
        ida_simple_remove(&nvme_instance_ida, ctrl->instance);
        kfree(ctrl->effects);
        nvme_mpath_uninit(ctrl);
-       kfree(ctrl->discard_page);
+       __free_page(ctrl->discard_page);
 
        if (subsys) {
                mutex_lock(&subsys->lock);