aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/ip6_output.c
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2011-10-18 17:00:24 -0400
committerDavid S. Miller <davem@davemloft.net>2011-10-19 03:10:46 -0400
commit9e903e085262ffbf1fc44a17ac06058aca03524a (patch)
tree4acefc97ba38c1733474d25c0b2053b56af97db1 /net/ipv6/ip6_output.c
parentdd767856a36e00b631d65ebc4bb81b19915532d6 (diff)
net: add skb frag size accessors
To ease skb->truesize sanitization, its better to be able to localize all references to skb frags size. Define accessors : skb_frag_size() to fetch frag size, and skb_frag_size_{set|add|sub}() to manipulate it. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/ip6_output.c')
-rw-r--r--net/ipv6/ip6_output.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index 1e20b64e646c..1c9bf8b5c30a 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -1512,13 +1512,14 @@ alloc_new_skb:
1512 err = -EMSGSIZE; 1512 err = -EMSGSIZE;
1513 goto error; 1513 goto error;
1514 } 1514 }
1515 if (getfrag(from, skb_frag_address(frag)+frag->size, 1515 if (getfrag(from,
1516 skb_frag_address(frag) + skb_frag_size(frag),
1516 offset, copy, skb->len, skb) < 0) { 1517 offset, copy, skb->len, skb) < 0) {
1517 err = -EFAULT; 1518 err = -EFAULT;
1518 goto error; 1519 goto error;
1519 } 1520 }
1520 sk->sk_sndmsg_off += copy; 1521 sk->sk_sndmsg_off += copy;
1521 frag->size += copy; 1522 skb_frag_size_add(frag, copy);
1522 skb->len += copy; 1523 skb->len += copy;
1523 skb->data_len += copy; 1524 skb->data_len += copy;
1524 skb->truesize += copy; 1525 skb->truesize += copy;