diff options
author | Dave Watson <davejwatson@fb.com> | 2017-06-14 11:37:26 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-06-15 12:12:40 -0400 |
commit | e3b5616a347603a521fe3ac46f3194a60900e3a7 (patch) | |
tree | b4fb14a65da9ebe7c0ca71ccb7b1777013ab4936 | |
parent | 734942cc4ea6478eed125af258da1bdbb4afe578 (diff) | |
download | linux-stable-e3b5616a347603a521fe3ac46f3194a60900e3a7.tar.gz linux-stable-e3b5616a347603a521fe3ac46f3194a60900e3a7.tar.bz2 linux-stable-e3b5616a347603a521fe3ac46f3194a60900e3a7.zip |
tcp: export do_tcp_sendpages and tcp_rate_check_app_limited functions
Export do_tcp_sendpages and tcp_rate_check_app_limited, since tls will need to
sendpages while the socket is already locked.
tcp_sendpage is exported, but requires the socket lock to not be held already.
Signed-off-by: Aviad Yehezkel <aviadye@mellanox.com>
Signed-off-by: Ilya Lesokhin <ilyal@mellanox.com>
Signed-off-by: Boris Pismenny <borisp@mellanox.com>
Signed-off-by: Dave Watson <davejwatson@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/net/tcp.h | 2 | ||||
-rw-r--r-- | net/ipv4/tcp.c | 5 | ||||
-rw-r--r-- | net/ipv4/tcp_rate.c | 1 |
3 files changed, 6 insertions, 2 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h index b439f46f149c..e17ec286e8df 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -350,6 +350,8 @@ int tcp_v4_tw_remember_stamp(struct inet_timewait_sock *tw); int tcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size); int tcp_sendpage(struct sock *sk, struct page *page, int offset, size_t size, int flags); +ssize_t do_tcp_sendpages(struct sock *sk, struct page *page, int offset, + size_t size, int flags); void tcp_release_cb(struct sock *sk); void tcp_wfree(struct sk_buff *skb); void tcp_write_timer_handler(struct sock *sk); diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index b06ee3086a0e..11e4ee281aa0 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -901,8 +901,8 @@ static int tcp_send_mss(struct sock *sk, int *size_goal, int flags) return mss_now; } -static ssize_t do_tcp_sendpages(struct sock *sk, struct page *page, int offset, - size_t size, int flags) +ssize_t do_tcp_sendpages(struct sock *sk, struct page *page, int offset, + size_t size, int flags) { struct tcp_sock *tp = tcp_sk(sk); int mss_now, size_goal; @@ -1032,6 +1032,7 @@ out_err: } return sk_stream_error(sk, flags, err); } +EXPORT_SYMBOL_GPL(do_tcp_sendpages); int tcp_sendpage(struct sock *sk, struct page *page, int offset, size_t size, int flags) diff --git a/net/ipv4/tcp_rate.c b/net/ipv4/tcp_rate.c index ad99569d4c1e..3330a370d306 100644 --- a/net/ipv4/tcp_rate.c +++ b/net/ipv4/tcp_rate.c @@ -185,3 +185,4 @@ void tcp_rate_check_app_limited(struct sock *sk) tp->app_limited = (tp->delivered + tcp_packets_in_flight(tp)) ? : 1; } +EXPORT_SYMBOL_GPL(tcp_rate_check_app_limited); |