mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 13:44:26 -04:00
net: make skb_splice_bits more configureable
Prepare skb_splice_bits to be able to deal with AF_UNIX sockets. AF_UNIX sockets don't use lock_sock/release_sock and thus we have to use a callback to make the locking and unlocking configureable. Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org> Acked-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
869e7c6248
commit
a60e3cc7c9
3 changed files with 40 additions and 21 deletions
|
|
@ -35,6 +35,7 @@
|
|||
#include <linux/netdev_features.h>
|
||||
#include <linux/sched.h>
|
||||
#include <net/flow_dissector.h>
|
||||
#include <linux/splice.h>
|
||||
|
||||
/* A. Checksumming of received packets by device.
|
||||
*
|
||||
|
|
@ -2699,9 +2700,15 @@ int skb_copy_bits(const struct sk_buff *skb, int offset, void *to, int len);
|
|||
int skb_store_bits(struct sk_buff *skb, int offset, const void *from, int len);
|
||||
__wsum skb_copy_and_csum_bits(const struct sk_buff *skb, int offset, u8 *to,
|
||||
int len, __wsum csum);
|
||||
int skb_splice_bits(struct sk_buff *skb, unsigned int offset,
|
||||
ssize_t skb_socket_splice(struct sock *sk,
|
||||
struct pipe_inode_info *pipe,
|
||||
struct splice_pipe_desc *spd);
|
||||
int skb_splice_bits(struct sk_buff *skb, struct sock *sk, unsigned int offset,
|
||||
struct pipe_inode_info *pipe, unsigned int len,
|
||||
unsigned int flags);
|
||||
unsigned int flags,
|
||||
ssize_t (*splice_cb)(struct sock *,
|
||||
struct pipe_inode_info *,
|
||||
struct splice_pipe_desc *));
|
||||
void skb_copy_and_csum_dev(const struct sk_buff *skb, u8 *to);
|
||||
unsigned int skb_zerocopy_headlen(const struct sk_buff *from);
|
||||
int skb_zerocopy(struct sk_buff *to, struct sk_buff *from,
|
||||
|
|
|
|||
Loading…
Reference in a new issue