[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:
		
							parent
							
								
									b552216ff1
								
							
						
					
					
						commit
						e012d51cbc
					
				| @ -401,7 +401,7 @@ void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info, | ||||
| 	if (hlimit < 0) | ||||
| 		hlimit = ipv6_get_hoplimit(dst->dev); | ||||
| 
 | ||||
| 	tclass = np->cork.tclass; | ||||
| 	tclass = np->tclass; | ||||
| 	if (tclass < 0) | ||||
| 		tclass = 0; | ||||
| 
 | ||||
| @ -497,7 +497,7 @@ static void icmpv6_echo_reply(struct sk_buff *skb) | ||||
| 	if (hlimit < 0) | ||||
| 		hlimit = ipv6_get_hoplimit(dst->dev); | ||||
| 
 | ||||
| 	tclass = np->cork.tclass; | ||||
| 	tclass = np->tclass; | ||||
| 	if (tclass < 0) | ||||
| 		tclass = 0; | ||||
| 
 | ||||
|  | ||||
| @ -781,7 +781,7 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk, | ||||
| 	} | ||||
| 
 | ||||
| 	if (tclass < 0) { | ||||
| 		tclass = np->cork.tclass; | ||||
| 		tclass = np->tclass; | ||||
| 		if (tclass < 0) | ||||
| 			tclass = 0; | ||||
| 	} | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user