io_uring: use kvfree() in io_sqe_buffer_register()
authorDenis Efremov <efremov@linux.com>
Fri, 5 Jun 2020 09:32:03 +0000 (12:32 +0300)
committerJens Axboe <axboe@kernel.dk>
Mon, 8 Jun 2020 15:39:13 +0000 (09:39 -0600)
Use kvfree() to free the pages and vmas, since they are allocated by
kvmalloc_array() in a loop.

Fixes: d4ef647510b1 ("io_uring: avoid page allocation warnings")
Signed-off-by: Denis Efremov <efremov@linux.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20200605093203.40087-1-efremov@linux.com
fs/io_uring.c

index 5431b182b6b005ad0f70a97c3685717650a6a781..5e36e78e766e76d5cef3d91a38c2067ca0cbcbb4 100644 (file)
@@ -7171,8 +7171,8 @@ static int io_sqe_buffer_register(struct io_ring_ctx *ctx, void __user *arg,
 
                ret = 0;
                if (!pages || nr_pages > got_pages) {
-                       kfree(vmas);
-                       kfree(pages);
+                       kvfree(vmas);
+                       kvfree(pages);
                        pages = kvmalloc_array(nr_pages, sizeof(struct page *),
                                                GFP_KERNEL);
                        vmas = kvmalloc_array(nr_pages,