mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	net/smc: Fix cleanup when register ULP fails
This patch calls smc_ib_unregister_client() when tcp_register_ulp()
fails, and make sure to clean it up.
Fixes: d7cd421da9 ("net/smc: Introduce TCP ULP support")
Signed-off-by: Tony Lu <tonylu@linux.alibaba.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
			
			
This commit is contained in:
		
							parent
							
								
									9995b408f1
								
							
						
					
					
						commit
						4d08b7b57e
					
				
					 1 changed files with 3 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -3087,12 +3087,14 @@ static int __init smc_init(void)
 | 
			
		|||
	rc = tcp_register_ulp(&smc_ulp_ops);
 | 
			
		||||
	if (rc) {
 | 
			
		||||
		pr_err("%s: tcp_ulp_register fails with %d\n", __func__, rc);
 | 
			
		||||
		goto out_sock;
 | 
			
		||||
		goto out_ib;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	static_branch_enable(&tcp_have_smc);
 | 
			
		||||
	return 0;
 | 
			
		||||
 | 
			
		||||
out_ib:
 | 
			
		||||
	smc_ib_unregister_client();
 | 
			
		||||
out_sock:
 | 
			
		||||
	sock_unregister(PF_SMC);
 | 
			
		||||
out_proto6:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue