samples/bpf: Fix buffer overflow in tcp_basertt
authorPengcheng Yang <yangpc@wangsu.com>
Fri, 5 May 2023 08:50:58 +0000 (16:50 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jul 2023 14:21:04 +0000 (16:21 +0200)
[ Upstream commit f4dea9689c5fea3d07170c2cb0703e216f1a0922 ]

Using sizeof(nv) or strlen(nv)+1 is correct.

Fixes: c890063e4404 ("bpf: sample BPF_SOCKET_OPS_BASE_RTT program")
Signed-off-by: Pengcheng Yang <yangpc@wangsu.com>
Link: https://lore.kernel.org/r/1683276658-2860-1-git-send-email-yangpc@wangsu.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
samples/bpf/tcp_basertt_kern.c

index 8dfe09a..822b074 100644 (file)
@@ -47,7 +47,7 @@ int bpf_basertt(struct bpf_sock_ops *skops)
                case BPF_SOCK_OPS_BASE_RTT:
                        n = bpf_getsockopt(skops, SOL_TCP, TCP_CONGESTION,
                                           cong, sizeof(cong));
-                       if (!n && !__builtin_memcmp(cong, nv, sizeof(nv)+1)) {
+                       if (!n && !__builtin_memcmp(cong, nv, sizeof(nv))) {
                                /* Set base_rtt to 80us */
                                rv = 80;
                        } else if (n) {