diff --git a/fs/aio.c b/fs/aio.c
index 7ccecaab487a16ffc33d4a8331398d047f2aaa82..3490d1fa0e16f4f1f189727661e18696ab3a7a08 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1034,7 +1034,7 @@ static inline struct aio_kiocb *aio_get_req(struct kioctx *ctx)
 		return NULL;
 
 	if (unlikely(!get_reqs_available(ctx))) {
-		kfree(req);
+		kmem_cache_free(kiocb_cachep, req);
 		return NULL;
 	}