X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=net%2Fipv6%2Fipv6_sockglue.c;h=2855b00ed49d94ee5fdbca67af9249a54e349035;hb=d76ed22b225c02228c643ae336f76e086fdc32f0;hp=af0ecb94b3b44cefe2d1575ebec2e46b3d2d1979;hpb=e96a41ebde3b66dbb59d3ffa0a38dff6e5ca25a9;p=karo-tx-linux.git diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index af0ecb94b3b4..2855b00ed49d 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c @@ -1019,7 +1019,8 @@ 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 = ntohl(np->rcv_flowinfo & IPV6_TCLASS_MASK) >> 20; + int tclass = (int)ip6_tclass(np->rcv_flowinfo); + put_cmsg(&msg, SOL_IPV6, IPV6_TCLASS, sizeof(tclass), &tclass); } if (np->rxopt.bits.rxoinfo) {