All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lawrence Brakmo <brakmo@fb.com>
To: netdev <netdev@vger.kernel.org>
Cc: Alexei Starovoitov <ast@fb.com>, Daniel Borkmann <daniel@iogearbox.net>
Subject: [PATCH net-next 5/6] bpf: Fix tcp_iw_kern.c sample program
Date: Fri, 10 Nov 2017 12:43:02 -0800	[thread overview]
Message-ID: <20171110204303.1840413-6-brakmo@fb.com> (raw)
In-Reply-To: <20171110204303.1840413-1-brakmo@fb.com>

The program was returning -1 in some cases which is not allowed
by the verifier any longer.

Fixes: 7bc62e285479 ("bpf: Sample BPF program to set initial cwnd")
Signed-off-by: Lawrence Brakmo <brakmo@fb.com>
---
 samples/bpf/tcp_iw_kern.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/samples/bpf/tcp_iw_kern.c b/samples/bpf/tcp_iw_kern.c
index 23c5122..4ca5ecc 100644
--- a/samples/bpf/tcp_iw_kern.c
+++ b/samples/bpf/tcp_iw_kern.c
@@ -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;
-- 
2.9.5

  parent reply	other threads:[~2017-11-10 20:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-10 20:42 [PATCH net-next 0/6] bpf: Fix bugs in sock_ops samples In-Reply-To: Lawrence Brakmo
2017-11-10 20:42 ` [PATCH net-next 1/6] bpf: Fix tcp_synrto_kern.c sample program Lawrence Brakmo
2017-11-10 21:18   ` Daniel Borkmann
2017-11-10 20:42 ` [PATCH net-next 2/6] bpf: Fix tcp_rwnd_kern.c " Lawrence Brakmo
2017-11-10 20:43 ` [PATCH net-next 3/6] bpf: Fix tcp_bufs_kern.c " Lawrence Brakmo
2017-11-10 20:43 ` [PATCH net-next 4/6] bpf: Fix tcp_cong_kern.c " Lawrence Brakmo
2017-11-10 20:43 ` Lawrence Brakmo [this message]
2017-11-10 20:43 ` [PATCH net-next 6/6] bpf: Fix tcp_clamp_kern.c " Lawrence Brakmo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171110204303.1840413-6-brakmo@fb.com \
    --to=brakmo@fb.com \
    --cc=ast@fb.com \
    --cc=daniel@iogearbox.net \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.