|
@@ -4421,7 +4421,7 @@ static void tcp_data_queue(struct sock *sk, struct sk_buff *skb)
|
|
__set_current_state(TASK_RUNNING);
|
|
__set_current_state(TASK_RUNNING);
|
|
|
|
|
|
local_bh_enable();
|
|
local_bh_enable();
|
|
- if (!skb_copy_datagram_iovec(skb, 0, tp->ucopy.iov, chunk)) {
|
|
|
|
|
|
+ if (!skb_copy_datagram_msg(skb, 0, tp->ucopy.msg, chunk)) {
|
|
tp->ucopy.len -= chunk;
|
|
tp->ucopy.len -= chunk;
|
|
tp->copied_seq += chunk;
|
|
tp->copied_seq += chunk;
|
|
eaten = (chunk == skb->len);
|
|
eaten = (chunk == skb->len);
|
|
@@ -4941,10 +4941,9 @@ static int tcp_copy_to_iovec(struct sock *sk, struct sk_buff *skb, int hlen)
|
|
|
|
|
|
local_bh_enable();
|
|
local_bh_enable();
|
|
if (skb_csum_unnecessary(skb))
|
|
if (skb_csum_unnecessary(skb))
|
|
- err = skb_copy_datagram_iovec(skb, hlen, tp->ucopy.iov, chunk);
|
|
|
|
|
|
+ err = skb_copy_datagram_msg(skb, hlen, tp->ucopy.msg, chunk);
|
|
else
|
|
else
|
|
- err = skb_copy_and_csum_datagram_iovec(skb, hlen,
|
|
|
|
- tp->ucopy.iov);
|
|
|
|
|
|
+ err = skb_copy_and_csum_datagram_msg(skb, hlen, tp->ucopy.msg);
|
|
|
|
|
|
if (!err) {
|
|
if (!err) {
|
|
tp->ucopy.len -= chunk;
|
|
tp->ucopy.len -= chunk;
|