From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 12DA08F40 for ; Thu, 6 Jul 2023 17:46:30 +0000 (UTC) Received: from mail-pl1-x649.google.com (mail-pl1-x649.google.com [IPv6:2607:f8b0:4864:20::649]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A1F3610C for ; Thu, 6 Jul 2023 10:46:29 -0700 (PDT) Received: by mail-pl1-x649.google.com with SMTP id d9443c01a7336-1b89712d613so10377205ad.2 for ; Thu, 06 Jul 2023 10:46:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1688665589; x=1691257589; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:from:to:cc:subject:date:message-id :reply-to; bh=iYwswXlV1/1qc1QMb8XdbUm0VHdqMuEGHLDmXeCI7tw=; b=JADhELCXVgoD7i7cWTwhQRh73F5YhFYDBv94oM/8VxQQoeG0PhxyPIPeAt5smzYLDQ 2VFXs6FDTv58B0PombJgnTJb6SyHVgNKljVNLKJw3EBZa3IM+rDpks3+Z8C/xYtcpoxb LbU/vFpSAvnQ+5Dl4V1lvy11cPRh6gO9C/KaYNRuo5YkMRA5ChZ+B6QR3eNwDAJNHhEv 28/VzsSQuyF3hQ7p9xa/+eE3S/Swa0foXq4eOKi4DtfGVPSsoyFlkW+OKOkQEV9Hjwha r2lQN4ScFg+aAQmNbKsoXLuiVXMfbKyZj9wiemASlejBWpa5SFm0+xS1wTFJAhLizRvw VrwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688665589; x=1691257589; h=content-transfer-encoding:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=iYwswXlV1/1qc1QMb8XdbUm0VHdqMuEGHLDmXeCI7tw=; b=VHnHozYsRvJ5JoNr+Cs2d78ncEtfAlZaNtrhIezphUCZ3odJzvlWewjhtHfTepAEtd KazHwjMnraAaIdRdTCYyUjVXBEPn7DGf3QXpwENuzA5C5XMEeeiqpxmLFMViXztoJPEC uJrDb4kPL6CCjpBOPrM8y4ICWFycbD2tCdtHlhObaDm1l1oYtqFfGfzzkBFlv6bZ3Cr3 4wVmcKtCoU9vr173vpu+9W3dPbV6QQs+gRzIT06ptVEjMYC9EoKhTUtgV+B+an3iZZJd ZMsp0yugrRoH0bQCb10Ot9j+yrJevRS8gSXTcHtTRRgOrvlDokAekJfCabiZPywaJp+F +fFA== X-Gm-Message-State: ABy/qLZFd6ciiGDI9qczoAqrMOvsl65duoC6rxkfoINAQS4vbzcDtTvP SCbDMxw/X9kRdsF1JvTu9/RxTv4= X-Google-Smtp-Source: APBJJlFpjvWRD+oH7cEr3v6mp6VT3nmUJ2yl68awyDOvDt3JNKrMgENCDlaLreMNh3hWPwDXBQWJuWE= X-Received: from sdf.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:5935]) (user=sdf job=sendgmr) by 2002:a17:902:7085:b0:1b7:eecd:9dae with SMTP id z5-20020a170902708500b001b7eecd9daemr1936538plk.9.1688665589079; Thu, 06 Jul 2023 10:46:29 -0700 (PDT) Date: Thu, 6 Jul 2023 10:46:27 -0700 In-Reply-To: <20230706142228.1128452-1-bjorn@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20230706142228.1128452-1-bjorn@kernel.org> Message-ID: Subject: Re: [PATCH bpf-next] selftests/bpf: Bump and validate MAX_SYMS From: Stanislav Fomichev To: "=?utf-8?B?QmrDtnJuIFTDtnBlbA==?=" Cc: Andrii Nakryiko , Mykola Lysenko , bpf@vger.kernel.org, netdev@vger.kernel.org, "=?utf-8?B?QmrDtnJuIFTDtnBlbA==?=" , Alexei Starovoitov , Daniel Borkmann , linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net On 07/06, Bj=C3=B6rn T=C3=B6pel wrote: > From: Bj=C3=B6rn T=C3=B6pel >=20 > BPF tests that load /proc/kallsyms, e.g. bpf_cookie, will perform a > buffer overrun if the number of syms on the system is larger than > MAX_SYMS. >=20 > Bump the MAX_SYMS to 400000, and add a runtime check that bails out if > the maximum is reached. >=20 > Signed-off-by: Bj=C3=B6rn T=C3=B6pel Acked-by: Stanislav Fomichev OTOH, should be easy to convert this to malloc/realloc? That should fix it once and for all and avoid future need to bump the limit? > --- > tools/testing/selftests/bpf/trace_helpers.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) >=20 > diff --git a/tools/testing/selftests/bpf/trace_helpers.c b/tools/testing/= selftests/bpf/trace_helpers.c > index 9b070cdf44ac..f83d9f65c65b 100644 > --- a/tools/testing/selftests/bpf/trace_helpers.c > +++ b/tools/testing/selftests/bpf/trace_helpers.c > @@ -18,7 +18,7 @@ > #define TRACEFS_PIPE "/sys/kernel/tracing/trace_pipe" > #define DEBUGFS_PIPE "/sys/kernel/debug/tracing/trace_pipe" > =20 > -#define MAX_SYMS 300000 > +#define MAX_SYMS 400000 > static struct ksym syms[MAX_SYMS]; > static int sym_cnt; > =20 > @@ -46,6 +46,9 @@ int load_kallsyms_refresh(void) > break; > if (!addr) > continue; > + if (i >=3D MAX_SYMS) > + return -EFBIG; > + > syms[i].addr =3D (long) addr; > syms[i].name =3D strdup(func); > i++; >=20 > base-commit: fd283ab196a867f8f65f36913e0fadd031fcb823 > --=20 > 2.39.2 >=20