mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	X.25 remove bkl in bind
Accept updates socket values in 3 lines so wrapped with lock_sock. Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									25aa4efe4f
								
							
						
					
					
						commit
						90c27297a9
					
				
					 1 changed files with 2 additions and 2 deletions
				
			
		| 
						 | 
					@ -688,7 +688,6 @@ static int x25_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
 | 
				
			||||||
	struct sockaddr_x25 *addr = (struct sockaddr_x25 *)uaddr;
 | 
						struct sockaddr_x25 *addr = (struct sockaddr_x25 *)uaddr;
 | 
				
			||||||
	int len, i, rc = 0;
 | 
						int len, i, rc = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	lock_kernel();
 | 
					 | 
				
			||||||
	if (!sock_flag(sk, SOCK_ZAPPED) ||
 | 
						if (!sock_flag(sk, SOCK_ZAPPED) ||
 | 
				
			||||||
	    addr_len != sizeof(struct sockaddr_x25) ||
 | 
						    addr_len != sizeof(struct sockaddr_x25) ||
 | 
				
			||||||
	    addr->sx25_family != AF_X25) {
 | 
						    addr->sx25_family != AF_X25) {
 | 
				
			||||||
| 
						 | 
					@ -704,12 +703,13 @@ static int x25_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						lock_sock(sk);
 | 
				
			||||||
	x25_sk(sk)->source_addr = addr->sx25_addr;
 | 
						x25_sk(sk)->source_addr = addr->sx25_addr;
 | 
				
			||||||
	x25_insert_socket(sk);
 | 
						x25_insert_socket(sk);
 | 
				
			||||||
	sock_reset_flag(sk, SOCK_ZAPPED);
 | 
						sock_reset_flag(sk, SOCK_ZAPPED);
 | 
				
			||||||
 | 
						release_sock(sk);
 | 
				
			||||||
	SOCK_DEBUG(sk, "x25_bind: socket is bound\n");
 | 
						SOCK_DEBUG(sk, "x25_bind: socket is bound\n");
 | 
				
			||||||
out:
 | 
					out:
 | 
				
			||||||
	unlock_kernel();
 | 
					 | 
				
			||||||
	return rc;
 | 
						return rc;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue