diff mbox series

[net-next,1/6] bpf: Fix tcp_synrto_kern.c sample program

Message ID 20171110204303.1840413-2-brakmo@fb.com
State Superseded, archived
Delegated to: David Miller
Headers show
Series bpf: Fix bugs in sock_ops samples In-Reply-To: | expand

Commit Message

Lawrence Brakmo Nov. 10, 2017, 8:42 p.m. UTC
The program was returning -1 in some cases which is not allowed
by the verifier any longer.

Fixes: 8550f328f45d ("bpf: Support for per connection SYN/SYN-ACK RTOs")
Signed-off-by: Lawrence Brakmo <brakmo@fb.com>
---
 samples/bpf/tcp_synrto_kern.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Daniel Borkmann Nov. 10, 2017, 9:18 p.m. UTC | #1
On 11/10/2017 09:42 PM, Lawrence Brakmo wrote:
> The program was returning -1 in some cases which is not allowed
> by the verifier any longer.
> 
> Fixes: 8550f328f45d ("bpf: Support for per connection SYN/SYN-ACK RTOs")

Hmm, for most of the series (if not all), I think Fixes tag is:
390ee7e29fc8 ("bpf: enforce return code for cgroup-bpf programs"),
which is the one that started enforcing via check_return_code()
in range [0, 1].

Btw, your subject from cover letter got somehow messed up a bit:

'[PATCH net-next 0/6] bpf: Fix bugs in sock_ops samples In-Reply-To:'

> Signed-off-by: Lawrence Brakmo <brakmo@fb.com>
> ---
>   samples/bpf/tcp_synrto_kern.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/samples/bpf/tcp_synrto_kern.c b/samples/bpf/tcp_synrto_kern.c
> index 3c3fc83..232bb24 100644
> --- a/samples/bpf/tcp_synrto_kern.c
> +++ b/samples/bpf/tcp_synrto_kern.c
> @@ -38,8 +38,10 @@ int bpf_synrto(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;
>   
>
diff mbox series

Patch

diff --git a/samples/bpf/tcp_synrto_kern.c b/samples/bpf/tcp_synrto_kern.c
index 3c3fc83..232bb24 100644
--- a/samples/bpf/tcp_synrto_kern.c
+++ b/samples/bpf/tcp_synrto_kern.c
@@ -38,8 +38,10 @@  int bpf_synrto(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;