[IPV6]: Fix tclass setting for raw sockets.

np->cork.tclass is used only in cork'ed context.
Otherwise, np->tclass should be used.

Bug#7096 reported by Remi Denis-Courmont <rdenis@simphalempin.com>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
YOSHIFUJI Hideaki 2006-09-13 20:01:28 -07:00 committed by David S. Miller
parent b552216ff1
commit e012d51cbc
2 changed files with 3 additions and 3 deletions

View File

@ -401,7 +401,7 @@ void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info,
if (hlimit < 0) if (hlimit < 0)
hlimit = ipv6_get_hoplimit(dst->dev); hlimit = ipv6_get_hoplimit(dst->dev);
tclass = np->cork.tclass; tclass = np->tclass;
if (tclass < 0) if (tclass < 0)
tclass = 0; tclass = 0;
@ -497,7 +497,7 @@ static void icmpv6_echo_reply(struct sk_buff *skb)
if (hlimit < 0) if (hlimit < 0)
hlimit = ipv6_get_hoplimit(dst->dev); hlimit = ipv6_get_hoplimit(dst->dev);
tclass = np->cork.tclass; tclass = np->tclass;
if (tclass < 0) if (tclass < 0)
tclass = 0; tclass = 0;

View File

@ -781,7 +781,7 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk,
} }
if (tclass < 0) { if (tclass < 0) {
tclass = np->cork.tclass; tclass = np->tclass;
if (tclass < 0) if (tclass < 0)
tclass = 0; tclass = 0;
} }