Merge branch 'for-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
[firefly-linux-kernel-4.4.55.git] / net / ipv6 / ip6_flowlabel.c
index d491125011c4d1c47fd92180efb1cf2e22a85e22..1f9ebe3cbb4ac042edd0b05754d1fc03cdfe73cd 100644 (file)
@@ -595,6 +595,10 @@ int ipv6_flowlabel_opt(struct sock *sk, char __user *optval, int optlen)
                if (freq.flr_label & ~IPV6_FLOWLABEL_MASK)
                        return -EINVAL;
 
+               if (net->ipv6.sysctl.flowlabel_state_ranges &&
+                   (freq.flr_label & IPV6_FLOWLABEL_STATELESS_FLAG))
+                       return -ERANGE;
+
                fl = fl_create(net, sk, &freq, optval, optlen, &err);
                if (!fl)
                        return err;