mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 15:27:29 +00:00
[SK_BUFF]: Introduce skb_transport_header(skb)
For the places where we need a pointer to the transport header, it is still legal to touch skb->h.raw directly if just adding to, subtracting from or setting it to another layer header. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a27ef749e7
commit
9c70220b73
42 changed files with 129 additions and 102 deletions
|
@ -62,7 +62,7 @@ int xfrm_parse_spi(struct sk_buff *skb, u8 nexthdr, __be32 *spi, __be32 *seq)
|
|||
case IPPROTO_COMP:
|
||||
if (!pskb_may_pull(skb, sizeof(struct ip_comp_hdr)))
|
||||
return -EINVAL;
|
||||
*spi = htonl(ntohs(*(__be16*)(skb->h.raw + 2)));
|
||||
*spi = htonl(ntohs(*(__be16*)(skb_transport_header(skb) + 2)));
|
||||
*seq = 0;
|
||||
return 0;
|
||||
default:
|
||||
|
@ -72,8 +72,8 @@ int xfrm_parse_spi(struct sk_buff *skb, u8 nexthdr, __be32 *spi, __be32 *seq)
|
|||
if (!pskb_may_pull(skb, 16))
|
||||
return -EINVAL;
|
||||
|
||||
*spi = *(__be32*)(skb->h.raw + offset);
|
||||
*seq = *(__be32*)(skb->h.raw + offset_seq);
|
||||
*spi = *(__be32*)(skb_transport_header(skb) + offset);
|
||||
*seq = *(__be32*)(skb_transport_header(skb) + offset_seq);
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(xfrm_parse_spi);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue