tcp: export do_tcp_sendpages and tcp_rate_check_app_limited functions
authorDave Watson <davejwatson@fb.com>
Wed, 14 Jun 2017 18:37:26 +0000 (11:37 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Jun 2017 16:12:40 +0000 (12:12 -0400)
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>
include/net/tcp.h
net/ipv4/tcp.c
net/ipv4/tcp_rate.c

index b439f46f149cb2ceadd3f75aec2654c8171aba3a..e17ec286e8df4a6e17269c4d58b80169f8202e08 100644 (file)
@@ -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);
index b06ee3086a0ef6c07b1286a59256f56a38b2fd9c..11e4ee281aa041e02c5ae48201c414ce132fc3eb 100644 (file)
@@ -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)
index ad99569d4c1e2c7f0522645217a6f42e0c4155d6..3330a370d3061edd7cda90e1f50713ed0e7868a1 100644 (file)
@@ -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);