From nobody Fri Jul 24 23:30:38 2026 Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.4]) (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 EA997470137; Wed, 22 Jul 2026 07:48:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784706514; cv=none; b=Yq4x9DU75IMZ7Hsf4+uESaI8myp9m1ldt4kBLbWpqc0BeORWYRmylc+UCgNjXZKGW5pr+eefOfsdjqLylCPD2pS8hCJIKTLnXWhw/m6rELYo2P0sr6XYlWLoy6wyLCOjGMA08GAWnxwZKtK/z53cab5NdPSd7SbdoixKzpSiGEk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784706514; c=relaxed/simple; bh=tgM9o/DpEvL50YP7AXAiYHsExbCXemZgNAnHESGJKTE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=VKeYkKcwwCj2PLO2nYpCvZkIbvcGqa3/nMVDjYsF8DDzXhnLaSTUpIXzMiYJM+W/KRH+Z9xEatg0ths8oYo7f+7JlbEPFj2oYAv4DNiQsidMNo1X4DRbH1t6KE1iKoVoDXWgyR2Ku8g4fPW47cLqUlRDj7d4jG5NFp74H/v9tU8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=ceVoDmNf; arc=none smtp.client-ip=220.197.31.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="ceVoDmNf" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=aj 4zqliLEwXTaW1eZQaP/YZLdrTirAHsc39CRSxXaEM=; b=ceVoDmNfDYaKzTBIO0 fu7/PnNy5nh5ISp4biGXcIodlGe2awPU0jTAyzLPc9zhCjnp7X4XHwn9KWeNkJ9Q Mr2422DSX4Ggn+Rx0HVYPsAki6Ra9uTZe5331lhqcUan8LDKftuZkwJtxdDmUKCH Do4JgwRsPvYSR3ekLR1sONNjw= Received: from localhost.localdomain (unknown []) by gzsmtp3 (Coremail) with SMTP id PigvCgDnrw+kdWBq8DkpJA--.55057S3; Wed, 22 Jul 2026 15:47:51 +0800 (CST) From: Feng Yang To: andrii@kernel.org, eddyz87@gmail.com, ast@kernel.org, daniel@iogearbox.net, memxor@gmail.com, martin.lau@linux.dev, song@kernel.org, yonghong.song@linux.dev, jolsa@kernel.org, emil@etsalapatis.com Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 bpf-next 1/5] selftests/bpf: Fix double free of subtest_state->name Date: Wed, 22 Jul 2026 15:47:44 +0800 Message-Id: <20260722074748.674080-2-yangfeng59949@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260722074748.674080-1-yangfeng59949@163.com> References: <20260722074748.674080-1-yangfeng59949@163.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PigvCgDnrw+kdWBq8DkpJA--.55057S3 X-Coremail-Antispam: 1Uf129KBjvdXoWruF4ftryfXFyrCr17Zr43KFg_yoWfCFXE9w 4UXrs7GF10yay5A3WUGr1FkrWkZw4Uur4kXrnIqF13Jay5Xa1DXF4kur1qyas8W39xJa9I van3G3s3Kr1rujkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU89Z27UUUUU== X-CM-SenderInfo: p1dqww5hqjkmqzuzqiywtou0bp/xtbCzwc5sWpgdadMWAAA3M Content-Type: text/plain; charset="utf-8" From: Feng Yang The name has already been freed in the free_subtest_state function and does not need to be freed again. Fixes: 0925225956bb ("bpf/selftests: Add granular subtest output for prog_t= est") Signed-off-by: Feng Yang --- tools/testing/selftests/bpf/test_progs.c | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selft= ests/bpf/test_progs.c index 7ba82974ee78..1d3caf996971 100644 --- a/tools/testing/selftests/bpf/test_progs.c +++ b/tools/testing/selftests/bpf/test_progs.c @@ -1886,7 +1886,6 @@ static int worker_main_send_subtests(int sock, struct= test_state *state) worker_main_send_log(sock, subtest_state->log_buf, subtest_state->log_c= nt); =20 free_subtest_state(subtest_state); - free(subtest_state->name); } =20 out: --=20 2.43.0 From nobody Fri Jul 24 23:30:38 2026 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.4]) (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 3522447604E; Wed, 22 Jul 2026 07:48:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=117.135.210.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784706528; cv=none; b=NUSa8Cb1Kx7Chq62jzgCMAgskHIvhzPXtGs6MUJ2dC+eie4gZfh08i7Hv1d4F5t9l36BMZzUKNstabjyJdIuz9AnAl7AGs75p1RPkvghPnqny9T//HdFptRB9JezzOy9YXvmlgEorw0hFpl1TDhT0amA0pIery+bOGqf6wADTHA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784706528; c=relaxed/simple; bh=FNi/w8QUVzqiKMiKlF225WNheWrCsvZLomDXdy+bxb0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=RmpSWWzO5Ko3O7kAU1oOB26dgAuGr+ilsuA7orL+CIvRCLLUbotpaU8dYtZOjMoCF/T4qNUUO9bcSPmLWzzw4byX9tXXePHtGtaREuJ7BYRZgtJ49J9QFmTrE9t2vh6OBAwExNfmuPpi2RqcmcTTELE0fPtfZ7KXerDZwFozUSo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=OTKLeElO; arc=none smtp.client-ip=117.135.210.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="OTKLeElO" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=pR tt+gWQWOELN6BDEnQJjjf8T2CiaZ37KNZud1J4Acs=; b=OTKLeElOvALEI5PHSH TTdT7vXGJ5X3aMeIOK71jPZgEyTShenSCBDZBuDidEv2Q9yPnFGAxedJDv+9xEPf yi7o/5q7nMOAe+j8aFnABtvVmy6T3gENndLIaSMpAuF+w6SACb9xOLiXOs0h6WPP VTlmEvUuIeJPxzVP4a6WJqD70= Received: from localhost.localdomain (unknown []) by gzsmtp3 (Coremail) with SMTP id PigvCgDnrw+kdWBq8DkpJA--.55057S4; Wed, 22 Jul 2026 15:47:51 +0800 (CST) From: Feng Yang To: andrii@kernel.org, eddyz87@gmail.com, ast@kernel.org, daniel@iogearbox.net, memxor@gmail.com, martin.lau@linux.dev, song@kernel.org, yonghong.song@linux.dev, jolsa@kernel.org, emil@etsalapatis.com Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 bpf-next 2/5] selftests/bpf: Fix missing allocation null checks in test_progs.c Date: Wed, 22 Jul 2026 15:47:45 +0800 Message-Id: <20260722074748.674080-3-yangfeng59949@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260722074748.674080-1-yangfeng59949@163.com> References: <20260722074748.674080-1-yangfeng59949@163.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PigvCgDnrw+kdWBq8DkpJA--.55057S4 X-Coremail-Antispam: 1Uf129KBjvJXoWxAFWfuw4fKry3Cr47Ar47Jwb_yoW5WrykpF 48GFn8KF4fZFnFv3W3C3yUWry5KwsYqayDKa4xAw17Ar47JryfK34ktFyIqFnrGr45uFW3 Z3Z09F1IgrsrJF7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07j7R6rUUUUU= X-CM-SenderInfo: p1dqww5hqjkmqzuzqiywtou0bp/xtbCzwc5sWpgdadMXwAA3L Content-Type: text/plain; charset="utf-8" From: Feng Yang Add null checks after memory allocations to prevent potential segmentation = faults. Signed-off-by: Feng Yang --- tools/testing/selftests/bpf/test_progs.c | 33 ++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selft= ests/bpf/test_progs.c index 1d3caf996971..88c65ce5b018 100644 --- a/tools/testing/selftests/bpf/test_progs.c +++ b/tools/testing/selftests/bpf/test_progs.c @@ -730,11 +730,14 @@ int compare_map_keys(int map1_fd, int map2_fd) int compare_stack_ips(int smap_fd, int amap_fd, int stack_trace_len) { __u32 key, next_key, *cur_key_p, *next_key_p; - char *val_buf1, *val_buf2; - int i, err =3D 0; + char *val_buf1 =3D NULL, *val_buf2 =3D NULL; + int i, err =3D -ENOMEM; =20 val_buf1 =3D malloc(stack_trace_len); val_buf2 =3D malloc(stack_trace_len); + if (!val_buf1 || !val_buf2) + goto out; + err =3D 0; cur_key_p =3D NULL; next_key_p =3D &key; while (bpf_map_get_next_key(smap_fd, cur_key_p, next_key_p) =3D=3D 0) { @@ -1514,6 +1517,8 @@ static int dispatch_thread_send_subtests(int sock_fd,= struct test_state *state) int subtest_num =3D state->subtest_num; =20 state->subtest_states =3D malloc(subtest_num * sizeof(*subtest_state)); + if (!state->subtest_states) + return -ENOMEM; =20 for (int i =3D 0; i < subtest_num; i++) { subtest_state =3D &state->subtest_states[i]; @@ -1732,9 +1737,24 @@ static void server_main(void) sigaction(SIGINT, &sigact_int, NULL); =20 dispatcher_threads =3D calloc(sizeof(pthread_t), env.workers); + if (!dispatcher_threads) { + perror("Failed to calloc dispatcher_threads"); + exit(EXIT_ERR_SETUP_INFRA); + } data =3D calloc(sizeof(struct dispatch_data), env.workers); + if (!data) { + perror("Failed to calloc data"); + free(dispatcher_threads); + exit(EXIT_ERR_SETUP_INFRA); + } =20 env.worker_current_test =3D calloc(sizeof(int), env.workers); + if (!env.worker_current_test) { + perror("Failed to calloc env.worker_current_test"); + free(data); + free(dispatcher_threads); + exit(EXIT_ERR_SETUP_INFRA); + } for (i =3D 0; i < env.workers; i++) { int rc; =20 @@ -2094,7 +2114,16 @@ int main(int argc, char **argv) env.worker_id =3D -1; /* main process */ if (env.workers) { env.worker_pids =3D calloc(sizeof(pid_t), env.workers); + if (!env.worker_pids) { + perror("Failed to calloc worker_pids"); + return -ENOMEM; + } env.worker_socks =3D calloc(sizeof(int), env.workers); + if (!env.worker_socks) { + perror("Failed to calloc worker_socks"); + free(env.worker_pids); + return -ENOMEM; + } if (env.debug) fprintf(stdout, "Launching %d workers.\n", env.workers); for (i =3D 0; i < env.workers; i++) { --=20 2.43.0 From nobody Fri Jul 24 23:30:38 2026 Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.5]) (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 D894047143A; Wed, 22 Jul 2026 07:48:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784706527; cv=none; b=d+/r6vbQxc7i5zFPZSIiWvQ64ZPMD9YUu681TUS0e+n7Yl59ROeOvpxvwOune6qSAk0VPKn0JAoTfdYMdjT8VTY5PyLiu2utADn/nBKpYvuCC62W360jAboXMjnHBv9V8syrY8GrnkmBz4b6JQI0VuOBgBcJcG9PTyuNGu6QfV0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784706527; c=relaxed/simple; bh=/CyqYapRFwqKdaSXapus7/vEhO8Iy9GGexphq1elrKM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=k0L9XPUdmdSJiyTWskVlU9K20fiXqUPLuPiNJFuQMSlcInE9wtSIE0uOFsfdlkuHvTbqDVVWsd0XVOVqpUafPJotIQR7b2jlGyTzyqD+WhkC0Cn8wkCTjzgAwwlKjgyKM/BgLQ5eiN3Q64CSTHWznK7+nzxzFqe+BQFxmSVb4vE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=MI2gk4AQ; arc=none smtp.client-ip=220.197.31.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="MI2gk4AQ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=Tk vSE4ocXd7ie/+zMu3wzISFvbgwrwWJ/UIs/8Ewglo=; b=MI2gk4AQ7K80+BRuS1 q4F1bQxQ00v3uaA7L555XL+WXbowq4x2/xTZhHY4xwTuqmSygWbY5JftxQIzKoXu VBjREVLn9z9o78JbNzSMEYmyNTWzSBMwpxMfRKHtPdltg4gFQPVcN01IThnqyd4U GRfVYNiUolR4nmYxGVu+/R7V8= Received: from localhost.localdomain (unknown []) by gzsmtp3 (Coremail) with SMTP id PigvCgDnrw+kdWBq8DkpJA--.55057S5; Wed, 22 Jul 2026 15:47:52 +0800 (CST) From: Feng Yang To: andrii@kernel.org, eddyz87@gmail.com, ast@kernel.org, daniel@iogearbox.net, memxor@gmail.com, martin.lau@linux.dev, song@kernel.org, yonghong.song@linux.dev, jolsa@kernel.org, emil@etsalapatis.com Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 bpf-next 3/5] selftests/bpf: Use calloc to allocate subtest_states Date: Wed, 22 Jul 2026 15:47:46 +0800 Message-Id: <20260722074748.674080-4-yangfeng59949@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260722074748.674080-1-yangfeng59949@163.com> References: <20260722074748.674080-1-yangfeng59949@163.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PigvCgDnrw+kdWBq8DkpJA--.55057S5 X-Coremail-Antispam: 1Uf129KBjvJXoW7Xw18tr1kurW8KF4UKr13twb_yoW8JrWxpF WkGr4jgr17tFnIqFnrJr4UCrsYgwnrX3yxKryUZw1UAr17Xryftrn7KrWjqFnIgrWFvryr Z3Wv9rs8Cw4UJF7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jyVbkUUUUU= X-CM-SenderInfo: p1dqww5hqjkmqzuzqiywtou0bp/xtbC8gg6smpgdajBOwAA3f Content-Type: text/plain; charset="utf-8" From: Feng Yang An early return triggered by read_prog_test_msg leaves uninitialized elemen= ts, which leads to memory corruption during free_test_states cleanup. Signed-off-by: Feng Yang --- tools/testing/selftests/bpf/test_progs.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selft= ests/bpf/test_progs.c index 88c65ce5b018..ed9ad7ad3352 100644 --- a/tools/testing/selftests/bpf/test_progs.c +++ b/tools/testing/selftests/bpf/test_progs.c @@ -1516,15 +1516,13 @@ static int dispatch_thread_send_subtests(int sock_f= d, struct test_state *state) struct subtest_state *subtest_state; int subtest_num =3D state->subtest_num; =20 - state->subtest_states =3D malloc(subtest_num * sizeof(*subtest_state)); + state->subtest_states =3D calloc(subtest_num, sizeof(*subtest_state)); if (!state->subtest_states) return -ENOMEM; =20 for (int i =3D 0; i < subtest_num; i++) { subtest_state =3D &state->subtest_states[i]; =20 - memset(subtest_state, 0, sizeof(*subtest_state)); - if (read_prog_test_msg(sock_fd, &msg, MSG_SUBTEST_DONE)) return 1; =20 --=20 2.43.0 From nobody Fri Jul 24 23:30:38 2026 Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.2]) (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 F1E2E471254; Wed, 22 Jul 2026 07:48:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.2 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784706513; cv=none; b=PJhbUgrPSypT/wn2OSBoCM1AFmOldQWxRf16Ap8ZYp3t4cgFEhfVnci0WxciRXos/0CbxPC3oa5NG819EXOSI9YjLHj0bVraUYqL0m2yBUGklTuWJpAIlz5T3jgL7B4ho1CdqrRYRoXuFfqhNZmH4HAHAM0EzVCWhzNl/QZKCCs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784706513; c=relaxed/simple; bh=SAuWJEs3ejcv+3zY7oC3QLSgIO+Hihatb+rLU0Zxqgs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=I8E1x82IZTTZke+999c+X1rxeh+YmB9rG2vIKO1mEW1LdeskhPZwRLpuFkCtBqUZHXERph5DYDLEz0CuGqcmnyIpRYVkhhDvzCvv/OyOQeXAULl/NttGD3LamUKy4QUzyMKUEggi7x1dZHVIx7rtTtHdLOND2AqyA904hYlxTtc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=VDyVqf8/; arc=none smtp.client-ip=220.197.31.2 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="VDyVqf8/" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=un QlmtBlrXEmAs+njOjBB0p+7BQiFeGGMAjYNK9uENM=; b=VDyVqf8/AgMkCEhNMZ z9POJSezdg8WppdgaX3HnUKwtJ5FlmGS70hFLvii39JEjCrQYTnO3cZM1bnzZjY5 FANV1tUzXRb2yPHww5jeBSwK9UxZxxhGHQ7KHS2LXFF5IWl6QCff47K+zA1L6AAd gH/Hl7emQd7BxumCE0WQwKzVw= Received: from localhost.localdomain (unknown []) by gzsmtp3 (Coremail) with SMTP id PigvCgDnrw+kdWBq8DkpJA--.55057S6; Wed, 22 Jul 2026 15:47:52 +0800 (CST) From: Feng Yang To: andrii@kernel.org, eddyz87@gmail.com, ast@kernel.org, daniel@iogearbox.net, memxor@gmail.com, martin.lau@linux.dev, song@kernel.org, yonghong.song@linux.dev, jolsa@kernel.org, emil@etsalapatis.com Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 bpf-next 4/5] selftests/bpf: Fix memory leak on subtest_states reallocation Date: Wed, 22 Jul 2026 15:47:47 +0800 Message-Id: <20260722074748.674080-5-yangfeng59949@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260722074748.674080-1-yangfeng59949@163.com> References: <20260722074748.674080-1-yangfeng59949@163.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PigvCgDnrw+kdWBq8DkpJA--.55057S6 X-Coremail-Antispam: 1Uf129KBjvJXoW7tFWxXFW5Xr1UAFyxXF17GFg_yoW8Xr1rpF WDGrWrKr13JanxZrnrJr1Uua9YgryIqw4xK34jy34UAF17Xr93trn7t3yUtrsxJrWrZr4F v3Wv9rs8Zw48WF7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jY5l8UUUUU= X-CM-SenderInfo: p1dqww5hqjkmqzuzqiywtou0bp/xtbCzwg6smpgdahMbQAA35 Content-Type: text/plain; charset="utf-8" From: Feng Yang Fix memory leak in subtest_states reallocation, and revert subtest_num if allocation fails. Fixes: 0925225956bb ("bpf/selftests: Add granular subtest output for prog_t= est") Signed-off-by: Feng Yang --- tools/testing/selftests/bpf/test_progs.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selft= ests/bpf/test_progs.c index ed9ad7ad3352..ea9c887201ae 100644 --- a/tools/testing/selftests/bpf/test_progs.c +++ b/tools/testing/selftests/bpf/test_progs.c @@ -573,18 +573,19 @@ bool test__start_subtest_with_desc(const char *subtes= t_name, const char *subtest struct subtest_state *subtest_state; const char *subtest_display_name; size_t sub_state_size =3D sizeof(*subtest_state); + void *tmp; =20 if (env.subtest_state) test__end_subtest(); =20 state->subtest_num++; - state->subtest_states =3D - realloc(state->subtest_states, - state->subtest_num * sub_state_size); - if (!state->subtest_states) { + tmp =3D realloc(state->subtest_states, state->subtest_num * sub_state_siz= e); + if (!tmp) { + state->subtest_num--; fprintf(stderr, "Not enough memory to allocate subtest result\n"); return false; } + state->subtest_states =3D tmp; =20 subtest_state =3D &state->subtest_states[state->subtest_num - 1]; =20 --=20 2.43.0 From nobody Fri Jul 24 23:30:38 2026 Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.4]) (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 11A2F471259; Wed, 22 Jul 2026 07:48:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=220.197.31.4 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784706514; cv=none; b=kwVkGXxoKEJwi8cSzA280Lm+xOjOr79/yIHG38JSAJZHrkiW2RL4d1CJdpaU9o0DkfAkSOZS6CVl+HjSGQTq5UuXKrFu1sAeWDBEEcUOjvxUqNvglbQVy2khC3QqxEXZg4eyGP6XKTU6NK2/72DSc4+nlpUknMrSNKrA1UJh1f8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784706514; c=relaxed/simple; bh=icBQ7+5hLhxN86ad0zpnx3TAM/L6Rz1brWUB8KKO+PE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=JFb2jR4uHVqT9mQO2Wnwb710CcrvEetPcFNUYprLBkiTsi8wMgDiEOWLhJZ7M4qgG1d3HlRe6xNv5WeZjDGZFp8jYRLt6RNdEgaV5JtkXEZMvfDsoqBGrOr439gi5d7n3c1J+Nq1q2+z2Z85WQ+QsHq2WAKvNADOfqWcIuwC2UA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com; spf=pass smtp.mailfrom=163.com; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b=KoQzthBc; arc=none smtp.client-ip=220.197.31.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=163.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=163.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=163.com header.i=@163.com header.b="KoQzthBc" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=8i XR2R/F4v5Mjm6Ek/zklsIoQfVxNcCfO5tik3HycDE=; b=KoQzthBck1vsXo1HG2 0nsmghX6hWHuj6oeqUtLxLLcXNkKma3vBngXa+bn/xbG5bAlZMQrWbElMVGcEPP3 XUzimCXv0VSp81zQoUi5ytIMVUKdM7VaOcM6O7WJaBMkRNtKK8n6kUBIkrZYodyg gJGg9W2KTmjt9Vy8fhjHkeiak= Received: from localhost.localdomain (unknown []) by gzsmtp3 (Coremail) with SMTP id PigvCgDnrw+kdWBq8DkpJA--.55057S7; Wed, 22 Jul 2026 15:47:52 +0800 (CST) From: Feng Yang To: andrii@kernel.org, eddyz87@gmail.com, ast@kernel.org, daniel@iogearbox.net, memxor@gmail.com, martin.lau@linux.dev, song@kernel.org, yonghong.song@linux.dev, jolsa@kernel.org, emil@etsalapatis.com Cc: bpf@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 bpf-next 5/5] selftests/bpf: Fix potential NULL pointer dereference in strscpy call Date: Wed, 22 Jul 2026 15:47:48 +0800 Message-Id: <20260722074748.674080-6-yangfeng59949@163.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260722074748.674080-1-yangfeng59949@163.com> References: <20260722074748.674080-1-yangfeng59949@163.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: PigvCgDnrw+kdWBq8DkpJA--.55057S7 X-Coremail-Antispam: 1Uf129KBjvdXoW7Jw13Ww1DZFW3WF1kAFyUAwb_yoWkAFcE9w 4jgr97GF1jya43Aw1UGr1FkFZ3Xw4qqF4kXr1UtFy3tFy5Xan8W3WkJrs8A3WrW39xtFy2 qws5ur97tr47CjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IU8kcTPUUUUU== X-CM-SenderInfo: p1dqww5hqjkmqzuzqiywtou0bp/xtbCzwg6smpgdahMdgAA3i Content-Type: text/plain; charset="utf-8" From: Feng Yang In test__start_subtest_with_desc, if strdup fails or an empty name is passe= d, the function returns early. Later, worker_main_send_subtests copies the nam= e via strscpy, which leads to a NULL pointer dereference. Signed-off-by: Feng Yang --- tools/testing/selftests/bpf/test_progs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/bpf/test_progs.c b/tools/testing/selft= ests/bpf/test_progs.c index ea9c887201ae..ab88268db9e2 100644 --- a/tools/testing/selftests/bpf/test_progs.c +++ b/tools/testing/selftests/bpf/test_progs.c @@ -1882,7 +1882,8 @@ static int worker_main_send_subtests(int sock, struct= test_state *state) =20 msg.subtest_done.num =3D i; =20 - strscpy(msg.subtest_done.name, subtest_state->name, MAX_SUBTEST_NAME); + const char *name =3D subtest_state->name ? : ""; + strscpy(msg.subtest_done.name, name, MAX_SUBTEST_NAME); =20 msg.subtest_done.error_cnt =3D subtest_state->error_cnt; msg.subtest_done.skipped =3D subtest_state->skipped; --=20 2.43.0