bpf: allow a TCP CC to write app_limited
authorYixin Shen <bobankhshen@gmail.com>
Wed, 29 Mar 2023 07:35:57 +0000 (07:35 +0000)
committerMartin KaFai Lau <martin.lau@kernel.org>
Wed, 29 Mar 2023 20:10:56 +0000 (13:10 -0700)
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>
net/ipv4/bpf_tcp_ca.c

index e8b2782..ea21c96 100644 (file)
@@ -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;