aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/ipv6_sockglue.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/ipv6_sockglue.c')
-rw-r--r--net/ipv6/ipv6_sockglue.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c
index 2855b00ed49d..7024a874e901 100644
--- a/net/ipv6/ipv6_sockglue.c
+++ b/net/ipv6/ipv6_sockglue.c
@@ -1221,6 +1221,7 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
1221 case IPV6_FLOWLABEL_MGR: 1221 case IPV6_FLOWLABEL_MGR:
1222 { 1222 {
1223 struct in6_flowlabel_req freq; 1223 struct in6_flowlabel_req freq;
1224 int flags;
1224 1225
1225 if (len < sizeof(freq)) 1226 if (len < sizeof(freq))
1226 return -EINVAL; 1227 return -EINVAL;
@@ -1232,9 +1233,11 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
1232 return -EINVAL; 1233 return -EINVAL;
1233 1234
1234 len = sizeof(freq); 1235 len = sizeof(freq);
1236 flags = freq.flr_flags;
1237
1235 memset(&freq, 0, sizeof(freq)); 1238 memset(&freq, 0, sizeof(freq));
1236 1239
1237 val = ipv6_flowlabel_opt_get(sk, &freq); 1240 val = ipv6_flowlabel_opt_get(sk, &freq, flags);
1238 if (val < 0) 1241 if (val < 0)
1239 return val; 1242 return val;
1240 1243