forked from mirrors/linux
		
	net/tls: swap sk_write_space on close
Now that we swap the original proto and clear the ULP pointer
on close we have to make sure no callback will try to access
the freed state. sk_write_space is not part of sk_prot, remember
to swap it.
Reported-by: syzbot+dcdc9deefaec44785f32@syzkaller.appspotmail.com
Fixes: 95fa145479 ("bpf: sockmap/tls, close can race with map free")
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
			
			
This commit is contained in:
		
							parent
							
								
									6d0d779dca
								
							
						
					
					
						commit
						57c722e932
					
				
					 1 changed files with 1 additions and 0 deletions
				
			
		|  | @ -308,6 +308,7 @@ static void tls_sk_proto_close(struct sock *sk, long timeout) | |||
| 	if (free_ctx) | ||||
| 		icsk->icsk_ulp_data = NULL; | ||||
| 	sk->sk_prot = ctx->sk_proto; | ||||
| 	sk->sk_write_space = ctx->sk_write_space; | ||||
| 	write_unlock_bh(&sk->sk_callback_lock); | ||||
| 	release_sock(sk); | ||||
| 	if (ctx->tx_conf == TLS_SW) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Jakub Kicinski
						Jakub Kicinski