forked from mirrors/linux
		
	l2tp: have l2tp_ip_destroy_sock use ip_flush_pending_frames
Use the recently exported ip_flush_pending_frames instead of a free-coded version and lock the socket while we call it. Signed-off-by: James Chapman <jchapman@katalix.com> Signed-off-by: Tom Parkin <tparkin@katalix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									4ff8863419
								
							
						
					
					
						commit
						ed8ebee6de
					
				
					 1 changed files with 3 additions and 3 deletions
				
			
		|  | @ -236,10 +236,10 @@ static void l2tp_ip_close(struct sock *sk, long timeout) | ||||||
| static void l2tp_ip_destroy_sock(struct sock *sk) | static void l2tp_ip_destroy_sock(struct sock *sk) | ||||||
| { | { | ||||||
| 	struct l2tp_tunnel *tunnel; | 	struct l2tp_tunnel *tunnel; | ||||||
| 	struct sk_buff *skb; |  | ||||||
| 
 | 
 | ||||||
| 	while ((skb = __skb_dequeue_tail(&sk->sk_write_queue)) != NULL) | 	lock_sock(sk); | ||||||
| 		kfree_skb(skb); | 	ip_flush_pending_frames(sk); | ||||||
|  | 	release_sock(sk); | ||||||
| 
 | 
 | ||||||
| 	tunnel = l2tp_sk_to_tunnel(sk); | 	tunnel = l2tp_sk_to_tunnel(sk); | ||||||
| 	if (tunnel) { | 	if (tunnel) { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 James Chapman
						James Chapman