diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2011-10-18 17:00:24 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-10-19 03:10:46 -0400 |
commit | 9e903e085262ffbf1fc44a17ac06058aca03524a (patch) | |
tree | 4acefc97ba38c1733474d25c0b2053b56af97db1 /net/ipv6/ip6_output.c | |
parent | dd767856a36e00b631d65ebc4bb81b19915532d6 (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.c | 5 |
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; |