mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
sock: Remove ->sendpage*() in favour of sendmsg(MSG_SPLICE_PAGES)
Remove ->sendpage() and ->sendpage_locked(). sendmsg() with MSG_SPLICE_PAGES should be used instead. This allows multiple pages and multipage folios to be passed through. Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Marc Kleine-Budde <mkl@pengutronix.de> # for net/can cc: Jens Axboe <axboe@kernel.dk> cc: Matthew Wilcox <willy@infradead.org> cc: linux-afs@lists.infradead.org cc: mptcp@lists.linux.dev cc: rds-devel@oss.oracle.com cc: tipc-discussion@lists.sourceforge.net cc: virtualization@lists.linux-foundation.org Link: https://lore.kernel.org/r/20230623225513.2732256-16-dhowells@redhat.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
e52828cc01
commit
dc97391e66
48
net/socket.c
48
net/socket.c
@@ -3552,54 +3552,6 @@ int kernel_getpeername(struct socket *sock, struct sockaddr *addr)
|
||||
}
|
||||
EXPORT_SYMBOL(kernel_getpeername);
|
||||
|
||||
/**
|
||||
* kernel_sendpage - send a &page through a socket (kernel space)
|
||||
* @sock: socket
|
||||
* @page: page
|
||||
* @offset: page offset
|
||||
* @size: total size in bytes
|
||||
* @flags: flags (MSG_DONTWAIT, ...)
|
||||
*
|
||||
* Returns the total amount sent in bytes or an error.
|
||||
*/
|
||||
|
||||
int kernel_sendpage(struct socket *sock, struct page *page, int offset,
|
||||
size_t size, int flags)
|
||||
{
|
||||
if (sock->ops->sendpage) {
|
||||
/* Warn in case the improper page to zero-copy send */
|
||||
WARN_ONCE(!sendpage_ok(page), "improper page for zero-copy send");
|
||||
return sock->ops->sendpage(sock, page, offset, size, flags);
|
||||
}
|
||||
return sock_no_sendpage(sock, page, offset, size, flags);
|
||||
}
|
||||
EXPORT_SYMBOL(kernel_sendpage);
|
||||
|
||||
/**
|
||||
* kernel_sendpage_locked - send a &page through the locked sock (kernel space)
|
||||
* @sk: sock
|
||||
* @page: page
|
||||
* @offset: page offset
|
||||
* @size: total size in bytes
|
||||
* @flags: flags (MSG_DONTWAIT, ...)
|
||||
*
|
||||
* Returns the total amount sent in bytes or an error.
|
||||
* Caller must hold @sk.
|
||||
*/
|
||||
|
||||
int kernel_sendpage_locked(struct sock *sk, struct page *page, int offset,
|
||||
size_t size, int flags)
|
||||
{
|
||||
struct socket *sock = sk->sk_socket;
|
||||
|
||||
if (sock->ops->sendpage_locked)
|
||||
return sock->ops->sendpage_locked(sk, page, offset, size,
|
||||
flags);
|
||||
|
||||
return sock_no_sendpage_locked(sk, page, offset, size, flags);
|
||||
}
|
||||
EXPORT_SYMBOL(kernel_sendpage_locked);
|
||||
|
||||
/**
|
||||
* kernel_sock_shutdown - shut down part of a full-duplex connection (kernel space)
|
||||
* @sock: socket
|
||||
|
Reference in New Issue
Block a user