Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e23754f8 authored by Al Viro's avatar Al Viro
Browse files

aio: don't bother with async freeing on failure in ioctx_alloc()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 5d026c72
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -248,6 +248,7 @@ static struct kioctx *ioctx_alloc(unsigned nr_events)
	struct mm_struct *mm;
	struct kioctx *ctx;
	int did_sync = 0;
	int err = -ENOMEM;

	/* Prevent overflows */
	if ((nr_events > (0x10000000U / sizeof(struct io_event))) ||
@@ -310,16 +311,13 @@ static struct kioctx *ioctx_alloc(unsigned nr_events)
	return ctx;

out_cleanup:
	__put_ioctx(ctx);
	return ERR_PTR(-EAGAIN);

	err = -EAGAIN;
	aio_free_ring(ctx);
out_freectx:
	mmdrop(mm);
	kmem_cache_free(kioctx_cachep, ctx);
	ctx = ERR_PTR(-ENOMEM);

	dprintk("aio: error allocating ioctx %p\n", ctx);
	return ctx;
	dprintk("aio: error allocating ioctx %d\n", err);
	return ERR_PTR(err);
}

/* aio_cancel_all