Move tcp_write_queue_tail() to SOCK_ZEROCOPY specific flag as zerocopy
setup for msghdr->ubuf_info doesn't need to peek into the last request.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
        flags = msg->msg_flags;
 
        if ((flags & MSG_ZEROCOPY) && size) {
-               skb = tcp_write_queue_tail(sk);
-
                if (msg->msg_ubuf) {
                        uarg = msg->msg_ubuf;
                        net_zcopy_get(uarg);
                        zc = sk->sk_route_caps & NETIF_F_SG;
                } else if (sock_flag(sk, SOCK_ZEROCOPY)) {
+                       skb = tcp_write_queue_tail(sk);
                        uarg = msg_zerocopy_realloc(sk, size, skb_zcopy(skb));
                        if (!uarg) {
                                err = -ENOBUFS;