diff options
-rw-r--r-- | include/net/ipv6.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 9bf85d34c024..6e416f6d3e3c 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h | |||
@@ -711,7 +711,7 @@ static inline __be32 ip6_make_flowlabel(struct net *net, struct sk_buff *skb, | |||
711 | __be32 flowlabel, bool autolabel) | 711 | __be32 flowlabel, bool autolabel) |
712 | { | 712 | { |
713 | if (!flowlabel && (autolabel || net->ipv6.sysctl.auto_flowlabels)) { | 713 | if (!flowlabel && (autolabel || net->ipv6.sysctl.auto_flowlabels)) { |
714 | __be32 hash; | 714 | u32 hash; |
715 | 715 | ||
716 | hash = skb_get_hash(skb); | 716 | hash = skb_get_hash(skb); |
717 | 717 | ||
@@ -721,7 +721,7 @@ static inline __be32 ip6_make_flowlabel(struct net *net, struct sk_buff *skb, | |||
721 | */ | 721 | */ |
722 | hash ^= hash >> 12; | 722 | hash ^= hash >> 12; |
723 | 723 | ||
724 | flowlabel = hash & IPV6_FLOWLABEL_MASK; | 724 | flowlabel = (__force __be32)hash & IPV6_FLOWLABEL_MASK; |
725 | } | 725 | } |
726 | 726 | ||
727 | return flowlabel; | 727 | return flowlabel; |