From: Geliang Tang <tanggeliang@kylinos.cn>
Move sk_stream_memory_free check before "send_info[backup].subflow
= subflow".
Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
---
tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c b/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c
index 6242430d0330..f0c9f5984736 100644
--- a/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c
+++ b/tools/testing/selftests/bpf/progs/mptcp_bpf_burst.c
@@ -87,8 +87,7 @@ static int bpf_burst_get_send(struct mptcp_sock *msk)
bool backup = subflow->backup || subflow->request_bkup;
ssk = mptcp_subflow_tcp_sock(subflow);
- if (!mptcp_subflow_active(subflow) ||
- !sk_stream_memory_free(ssk))
+ if (!mptcp_subflow_active(subflow))
continue;
nr_active += !backup;
@@ -103,6 +102,8 @@ static int bpf_burst_get_send(struct mptcp_sock *msk)
linger_time = div_u64((__u64)ssk->sk_wmem_queued << 32, pace);
if (linger_time < send_info[backup].linger_time) {
+ if (!sk_stream_memory_free(ssk))
+ continue;
send_info[backup].subflow = subflow;
send_info[backup].linger_time = linger_time;
}
--
2.45.2