bpf: Fix tcp_iw_kern.c sample program
The program was returning -1 in some cases which is not allowed
by the verifier any longer.
Fixes: 390ee7e29f ("bpf: enforce return code for cgroup-bpf programs")
Signed-off-by: Lawrence Brakmo <brakmo@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
			
			
This commit is contained in:
		
							parent
							
								
									2ff969fbe2
								
							
						
					
					
						commit
						e1853319fc
					
				| @ -42,8 +42,10 @@ int bpf_iw(struct bpf_sock_ops *skops) | ||||
| 	 * if neither port numberis 55601 | ||||
| 	 */ | ||||
| 	if (bpf_ntohl(skops->remote_port) != 55601 && | ||||
| 	    skops->local_port != 55601) | ||||
| 		return -1; | ||||
| 	    skops->local_port != 55601) { | ||||
| 		skops->reply = -1; | ||||
| 		return 1; | ||||
| 	} | ||||
| 
 | ||||
| 	op = (int) skops->op; | ||||
| 
 | ||||
| @ -62,8 +64,8 @@ int bpf_iw(struct bpf_sock_ops *skops) | ||||
| 		/* Set sndbuf and rcvbuf of active connections */ | ||||
| 		rv = bpf_setsockopt(skops, SOL_SOCKET, SO_SNDBUF, &bufsize, | ||||
| 				    sizeof(bufsize)); | ||||
| 		rv = rv*100 + bpf_setsockopt(skops, SOL_SOCKET, SO_RCVBUF, | ||||
| 					     &bufsize, sizeof(bufsize)); | ||||
| 		rv += bpf_setsockopt(skops, SOL_SOCKET, SO_RCVBUF, | ||||
| 				     &bufsize, sizeof(bufsize)); | ||||
| 		break; | ||||
| 	case BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB: | ||||
| 		rv = bpf_setsockopt(skops, SOL_TCP, TCP_BPF_IW, &iw, | ||||
| @ -73,8 +75,8 @@ int bpf_iw(struct bpf_sock_ops *skops) | ||||
| 		/* Set sndbuf and rcvbuf of passive connections */ | ||||
| 		rv = bpf_setsockopt(skops, SOL_SOCKET, SO_SNDBUF, &bufsize, | ||||
| 				    sizeof(bufsize)); | ||||
| 		rv = rv*100 + bpf_setsockopt(skops, SOL_SOCKET, SO_RCVBUF, | ||||
| 					     &bufsize, sizeof(bufsize)); | ||||
| 		rv +=  bpf_setsockopt(skops, SOL_SOCKET, SO_RCVBUF, | ||||
| 				      &bufsize, sizeof(bufsize)); | ||||
| 		break; | ||||
| 	default: | ||||
| 		rv = -1; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user