aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYixin Shen <bobankhshen@gmail.com>2023-03-29 07:35:57 +0000
committerMartin KaFai Lau <martin.lau@kernel.org>2023-03-29 13:10:56 -0700
commit562dc56a88983421a6c5a46e0feb891873d118a1 (patch)
treed503b09b0383433a217cece89917c29688a1e18f
parentd8d8b008629ffd69f1e204010cb3299bb633877e (diff)
downloadbpf-562dc56a88983421a6c5a46e0feb891873d118a1.tar.gz
bpf: allow a TCP CC to write app_limited
A CC that implements tcp_congestion_ops.cong_control() should be able to write app_limited. A built-in CC or one from a kernel module is already able to write to this member of struct tcp_sock. For a BPF program, write access has not been allowed, yet. Signed-off-by: Yixin Shen <bobankhshen@gmail.com> Link: https://lore.kernel.org/r/20230329073558.8136-2-bobankhshen@gmail.com Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
-rw-r--r--net/ipv4/bpf_tcp_ca.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv4/bpf_tcp_ca.c b/net/ipv4/bpf_tcp_ca.c
index e8b27826283ead..ea21c96c03aa13 100644
--- a/net/ipv4/bpf_tcp_ca.c
+++ b/net/ipv4/bpf_tcp_ca.c
@@ -113,6 +113,9 @@ static int bpf_tcp_ca_btf_struct_access(struct bpf_verifier_log *log,
case offsetof(struct tcp_sock, ecn_flags):
end = offsetofend(struct tcp_sock, ecn_flags);
break;
+ case offsetof(struct tcp_sock, app_limited):
+ end = offsetofend(struct tcp_sock, app_limited);
+ break;
default:
bpf_log(log, "no write support to tcp_sock at off %d\n", off);
return -EACCES;