diff options
Diffstat (limited to 'net/ipv6/xfrm6_policy.c')
-rw-r--r-- | net/ipv6/xfrm6_policy.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c index d400f8fae129..8dffd4daae9c 100644 --- a/net/ipv6/xfrm6_policy.c +++ b/net/ipv6/xfrm6_policy.c | |||
@@ -274,11 +274,12 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl) | |||
274 | break; | 274 | break; |
275 | 275 | ||
276 | case IPPROTO_UDP: | 276 | case IPPROTO_UDP: |
277 | case IPPROTO_UDPLITE: | ||
277 | case IPPROTO_TCP: | 278 | case IPPROTO_TCP: |
278 | case IPPROTO_SCTP: | 279 | case IPPROTO_SCTP: |
279 | case IPPROTO_DCCP: | 280 | case IPPROTO_DCCP: |
280 | if (pskb_may_pull(skb, skb->nh.raw + offset + 4 - skb->data)) { | 281 | if (pskb_may_pull(skb, skb->nh.raw + offset + 4 - skb->data)) { |
281 | u16 *ports = (u16 *)exthdr; | 282 | __be16 *ports = (__be16 *)exthdr; |
282 | 283 | ||
283 | fl->fl_ip_sport = ports[0]; | 284 | fl->fl_ip_sport = ports[0]; |
284 | fl->fl_ip_dport = ports[1]; | 285 | fl->fl_ip_dport = ports[1]; |