ipv6: fix incorrect type in declaration
[linux-drm-fsl-dcu.git] / net / ipv6 / ipv6_sockglue.c
index c2db1df46385600f7125eed1270d7b0685376078..759fbf96515b70f3018fddf9e19773af3301bbe4 100644 (file)
@@ -1019,7 +1019,7 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
                                put_cmsg(&msg, SOL_IPV6, IPV6_HOPLIMIT, sizeof(hlim), &hlim);
                        }
                        if (np->rxopt.bits.rxtclass) {
-                               int tclass = np->rcv_tclass;
+                               int tclass = ntohl(np->rcv_flowinfo & IPV6_TCLASS_MASK) >> 20;
                                put_cmsg(&msg, SOL_IPV6, IPV6_TCLASS, sizeof(tclass), &tclass);
                        }
                        if (np->rxopt.bits.rxoinfo) {
@@ -1035,7 +1035,8 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,
                                put_cmsg(&msg, SOL_IPV6, IPV6_2292HOPLIMIT, sizeof(hlim), &hlim);
                        }
                        if (np->rxopt.bits.rxflow) {
-                               int flowinfo = np->rcv_flowinfo;
+                               __be32 flowinfo = np->rcv_flowinfo;
+
                                put_cmsg(&msg, SOL_IPV6, IPV6_FLOWINFO, sizeof(flowinfo), &flowinfo);
                        }
                }