[PATCH mptcp-next] Squash to 'Squash to "selftests/bpf: Add bpf_rrscheduler" v11'

Geliang Tang posted 1 patch 10 months ago
Failed in applying to current master (apply log)
tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
[PATCH mptcp-next] Squash to 'Squash to "selftests/bpf: Add bpf_rrscheduler" v11'
Posted by Geliang Tang 10 months ago
Change last_snd as a local variable.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c b/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c
index 21144e96ba56..8d9442996e0f 100644
--- a/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c
+++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_rr.c
@@ -9,7 +9,6 @@ char _license[] SEC("license") = "GPL";
 struct mptcp_rr_storage {
 	struct sock *last_snd;
 };
-struct sock *last_snd;
 
 struct {
 	__uint(type, BPF_MAP_TYPE_SK_STORAGE);
@@ -40,8 +39,16 @@ int BPF_STRUCT_OPS(bpf_rr_get_subflow, struct mptcp_sock *msk,
 {
 	struct mptcp_subflow_context *subflow;
 	struct mptcp_rr_storage *ptr;
+	struct sock *last_snd = NULL;
 	int nr = 0;
 
+	ptr = bpf_sk_storage_get(&mptcp_rr_map, msk, 0,
+				 BPF_LOCAL_STORAGE_GET_F_CREATE);
+	if (!ptr)
+		return -1;
+
+	last_snd = ptr->last_snd;
+
 	for (int i = 0; i < data->subflows && i < MPTCP_SUBFLOWS_MAX; i++) {
 		subflow = mptcp_subflow_ctx_by_pos(data, i);
 		if (!last_snd || !subflow)
@@ -60,11 +67,7 @@ int BPF_STRUCT_OPS(bpf_rr_get_subflow, struct mptcp_sock *msk,
 	if (!subflow)
 		return -1;
 	mptcp_subflow_set_scheduled(subflow, true);
-	last_snd = mptcp_subflow_tcp_sock(subflow);
-	ptr = bpf_sk_storage_get(&mptcp_rr_map, msk, 0,
-				 BPF_LOCAL_STORAGE_GET_F_CREATE);
-	if (ptr)
-		ptr->last_snd = last_snd;
+	ptr->last_snd = mptcp_subflow_tcp_sock(subflow);
 	return 0;
 }
 
-- 
2.35.3