mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	netrom: Fix data-races around sysctl_net_busy_read
We need to protect the reader reading the sysctl value because the
value can be changed concurrently.
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Jason Xing <kernelxing@tencent.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
			
			
This commit is contained in:
		
							parent
							
								
									bc76645ebd
								
							
						
					
					
						commit
						d380ce7005
					
				
					 2 changed files with 4 additions and 4 deletions
				
			
		|  | @ -954,7 +954,7 @@ int nr_rx_frame(struct sk_buff *skb, struct net_device *dev) | |||
| 		 * G8PZT's Xrouter which is sending packets with command type 7 | ||||
| 		 * as an extension of the protocol. | ||||
| 		 */ | ||||
| 		if (sysctl_netrom_reset_circuit && | ||||
| 		if (READ_ONCE(sysctl_netrom_reset_circuit) && | ||||
| 		    (frametype != NR_RESET || flags != 0)) | ||||
| 			nr_transmit_reset(skb, 1); | ||||
| 
 | ||||
|  |  | |||
|  | @ -97,7 +97,7 @@ static int nr_state1_machine(struct sock *sk, struct sk_buff *skb, | |||
| 		break; | ||||
| 
 | ||||
| 	case NR_RESET: | ||||
| 		if (sysctl_netrom_reset_circuit) | ||||
| 		if (READ_ONCE(sysctl_netrom_reset_circuit)) | ||||
| 			nr_disconnect(sk, ECONNRESET); | ||||
| 		break; | ||||
| 
 | ||||
|  | @ -128,7 +128,7 @@ static int nr_state2_machine(struct sock *sk, struct sk_buff *skb, | |||
| 		break; | ||||
| 
 | ||||
| 	case NR_RESET: | ||||
| 		if (sysctl_netrom_reset_circuit) | ||||
| 		if (READ_ONCE(sysctl_netrom_reset_circuit)) | ||||
| 			nr_disconnect(sk, ECONNRESET); | ||||
| 		break; | ||||
| 
 | ||||
|  | @ -262,7 +262,7 @@ static int nr_state3_machine(struct sock *sk, struct sk_buff *skb, int frametype | |||
| 		break; | ||||
| 
 | ||||
| 	case NR_RESET: | ||||
| 		if (sysctl_netrom_reset_circuit) | ||||
| 		if (READ_ONCE(sysctl_netrom_reset_circuit)) | ||||
| 			nr_disconnect(sk, ECONNRESET); | ||||
| 		break; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Jason Xing
						Jason Xing