X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=io_uring%2Fio_uring.c;h=8d1bc6cdfe712e75638ddf99c2f9ebac2d32d1f5;hb=9ab2b084737963812371d071fc83e886e3525147;hp=d839a80a6751c15e56ffbcd8277149001643e78c;hpb=f69d00d12fcee9ce4b4f24bf609ad7398d10a576;p=platform%2Fkernel%2Flinux-rpi.git diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index d839a80..8d1bc6c 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -2674,7 +2674,11 @@ static void io_pages_free(struct page ***pages, int npages) if (!pages) return; + page_array = *pages; + if (!page_array) + return; + for (i = 0; i < npages; i++) unpin_user_page(page_array[i]); kvfree(page_array); @@ -2758,7 +2762,9 @@ static void io_rings_free(struct io_ring_ctx *ctx) ctx->sq_sqes = NULL; } else { io_pages_free(&ctx->ring_pages, ctx->n_ring_pages); + ctx->n_ring_pages = 0; io_pages_free(&ctx->sqe_pages, ctx->n_sqe_pages); + ctx->n_sqe_pages = 0; } }