perf/x86/msr: Use Intel family macros for MSR events code
[cascardo/linux.git] / fs / aio.c
index a6deaa7..fb8e45b 100644 (file)
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -496,7 +496,12 @@ static int aio_setup_ring(struct kioctx *ctx)
        ctx->mmap_size = nr_pages * PAGE_SIZE;
        pr_debug("attempting mmap of %lu bytes\n", ctx->mmap_size);
 
-       down_write(&mm->mmap_sem);
+       if (down_write_killable(&mm->mmap_sem)) {
+               ctx->mmap_size = 0;
+               aio_free_ring(ctx);
+               return -EINTR;
+       }
+
        ctx->mmap_base = do_mmap_pgoff(ctx->aio_ring_file, 0, ctx->mmap_size,
                                       PROT_READ | PROT_WRITE,
                                       MAP_SHARED, 0, &unused);