sock_aio_dtor() is dead code - and stuff that does need to do cleanup can simply do it before calling aio_complete().
Signed-off-by: Kent Overstreet <koverstr...@google.com> Cc: Zach Brown <z...@redhat.com> Cc: Felipe Balbi <ba...@ti.com> Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org> Cc: Mark Fasheh <mfas...@suse.com> Cc: Joel Becker <jl...@evilplan.org> Cc: Rusty Russell <ru...@rustcorp.com.au> Cc: Jens Axboe <ax...@kernel.dk> Cc: Asai Thambi S P <asamymuth...@micron.com> Cc: Selvan Mani <sm...@micron.com> Cc: Sam Bradshaw <sbrads...@micron.com> Cc: Jeff Moyer <jmo...@redhat.com> Cc: Al Viro <v...@zeniv.linux.org.uk> Cc: Benjamin LaHaise <b...@kvack.org> Cc: Theodore Ts'o <ty...@mit.edu> --- fs/aio.c | 2 -- include/linux/aio.h | 1 - net/socket.c | 13 ++----------- 3 files changed, 2 insertions(+), 14 deletions(-) diff --git a/fs/aio.c b/fs/aio.c index 40781ff..7ce3cd8 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -619,8 +619,6 @@ static void kiocb_free(struct kiocb *req) fput(req->ki_filp); if (req->ki_eventfd != NULL) eventfd_ctx_put(req->ki_eventfd); - if (req->ki_dtor) - req->ki_dtor(req); kmem_cache_free(kiocb_cachep, req); } diff --git a/include/linux/aio.h b/include/linux/aio.h index c4f07ff..d9c92da 100644 --- a/include/linux/aio.h +++ b/include/linux/aio.h @@ -33,7 +33,6 @@ struct kiocb { struct file *ki_filp; struct kioctx *ki_ctx; /* NULL for sync ops */ kiocb_cancel_fn *ki_cancel; - void (*ki_dtor)(struct kiocb *); void *private; union { diff --git a/net/socket.c b/net/socket.c index bfe9fab..fc3bf4c 100644 --- a/net/socket.c +++ b/net/socket.c @@ -848,11 +848,6 @@ int kernel_recvmsg(struct socket *sock, struct msghdr *msg, } EXPORT_SYMBOL(kernel_recvmsg); -static void sock_aio_dtor(struct kiocb *iocb) -{ - kfree(iocb->private); -} - static ssize_t sock_sendpage(struct file *file, struct page *page, int offset, size_t size, loff_t *ppos, int more) { @@ -883,12 +878,8 @@ static ssize_t sock_splice_read(struct file *file, loff_t *ppos, static struct sock_iocb *alloc_sock_iocb(struct kiocb *iocb, struct sock_iocb *siocb) { - if (!is_sync_kiocb(iocb)) { - siocb = kmalloc(sizeof(*siocb), GFP_KERNEL); - if (!siocb) - return NULL; - iocb->ki_dtor = sock_aio_dtor; - } + if (!is_sync_kiocb(iocb)) + BUG(); siocb->kiocb = iocb; iocb->private = siocb; -- 1.8.2.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/