|
@@ -854,11 +854,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)
|
|
|
{
|
|
@@ -889,12 +884,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;
|