mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	net: reflect mark on tcp syn ack packets
SYN-ACK responses on a server in response to a SYN from a client
did not get the injected skb mark that was tagged on the SYN packet.
Fixes: 84f39b08d7 ("net: support marking accepting TCP sockets")
Reviewed-by: Lorenzo Colitti <lorenzo@google.com>
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
			
			
This commit is contained in:
		
							parent
							
								
									8d32e06243
								
							
						
					
					
						commit
						e05a90ec9e
					
				
					 2 changed files with 3 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -173,7 +173,8 @@ int ip_build_and_send_pkt(struct sk_buff *skb, const struct sock *sk,
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	skb->priority = sk->sk_priority;
 | 
			
		||||
	skb->mark = sk->sk_mark;
 | 
			
		||||
	if (!skb->mark)
 | 
			
		||||
		skb->mark = sk->sk_mark;
 | 
			
		||||
 | 
			
		||||
	/* Send it out. */
 | 
			
		||||
	return ip_local_out(net, skb->sk, skb);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3213,6 +3213,7 @@ struct sk_buff *tcp_make_synack(const struct sock *sk, struct dst_entry *dst,
 | 
			
		|||
	tcp_ecn_make_synack(req, th);
 | 
			
		||||
	th->source = htons(ireq->ir_num);
 | 
			
		||||
	th->dest = ireq->ir_rmt_port;
 | 
			
		||||
	skb->mark = ireq->ir_mark;
 | 
			
		||||
	/* Setting of flags are superfluous here for callers (and ECE is
 | 
			
		||||
	 * not even correctly set)
 | 
			
		||||
	 */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue