From nobody Sat Feb 7 21:24:30 2026 Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8F8C227A45C for ; Thu, 8 Jan 2026 03:26:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767842780; cv=none; b=cBe5qT//IQLj729gfYxlQ/j/LkkV+SJQKnzBVBTrM2xER5hLNJ8hA029Pz78C8MuljnBCjLnEc760/T7s8bhqKCsuYALp2yxKvtuYqakKeOeAdb/2ZmEQUzQKXpFgWEaFxEN/7O07/3CMLSSzsiKkax2ZvEgr2obTEKHkixv6yc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767842780; c=relaxed/simple; bh=CTMdbKDM6tde9pUqYWJToFOlrUGWOH29LhsOSDkqlfE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=qDJZNdXUs/333iS7G6FbOK91e1DKovVItqL8OW9jWNV0rVi7zZj48SfZJNbhf0t8Kk6hhH5Z9G5ZmKOP0kRuVfebuEPtWBm5Bz/5sINJef79Kmxz7Yl8OYJwMuwtkO53TcaL29ftXqa9ffsTMmnIb2HuhkpvrtQAle6V6hrPELs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=JYI+dJgA; arc=none smtp.client-ip=209.85.216.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JYI+dJgA" Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-34c7d0c5ddaso783862a91.0 for ; Wed, 07 Jan 2026 19:26:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767842778; x=1768447578; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=cGiVVQ3dZug/zuJwi1FKYDhq9LMvTXXv+UGBVztDFic=; b=JYI+dJgAWmC5DcjjCNDzU/daKc9Agh7qIH1aLxpdoptMGFxgnoGkJp4xTrbFiWljDf ViarbTQHnp/uB8pjhFXpbNso0NObdi8vdTX+9leahzyR3D7sVXIH+a+YDBwVG9VDSSwy uaoyZeWHq0iecBSUJ/iZO67IsjjnpMU/Tsihgvv8Dnv0KDLlF4ABkox+DmWjw606O3oa 61i+keYYHuwYrZuCNdfDLTQiKDbUPfs7UnOi3ysXE6QGm8H2HMQ86Pf1H8Wy9TcRR74A ziUocCvKjiBKv9Ei34ngYhrVhI4gvKg4IT1N1m2fA5wH6ui5qdH9fQ3APrVpjuOqZC5S DYtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767842778; x=1768447578; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=cGiVVQ3dZug/zuJwi1FKYDhq9LMvTXXv+UGBVztDFic=; b=XMSLGRXk/a+88KdGcujZ/7X1m6u07s07Zcgujp9pIbvpOlW+gjDXa7vyhyiMQSpey/ 5zOiFKxnRxcPpYrUrpfaQoLGBRLCHv9xdCTy1PeV920YChy9Ng2Os4rzXII9hI19DTe2 Dmw2wJV4fj4g0ECpVFGgBzEi5P0IM5AHaOpXqbvlbTHkbOReqF89KLEjoJs2sm/WiEaT afPX1SiAYbOriVyb27JKkKD28y3VzHpUXcaOsDtKrXlDSL7SmkL0Ugi5vi2TyhR0hmoc 47XyJKLFSDJQ7Y+Gqrgk73Ji7N+5pFiudIaMMLT+v5vhQl8AEP105d0ccJqkHDDB3Trn kY2w== X-Gm-Message-State: AOJu0YyDqMWHMPQSrXmXtzn09kgXTiuJNUtHCidPvA/2VgT4fSHgeP7D 4T7xInKbByWYx9DOHBM7fLYLbKCijQ4QyDo8idtoMW1kMXkOLugwolpjV6AQvRYJdVGausVMbA= = X-Gm-Gg: AY/fxX43u0tTIEvF98WmerjiLOTmR29VIPiDrT0Fs1iFppc5ef3VGL8P8kR2su1qnl0 MGa7wn0d21/7raUHXRG//i6kKhDXEJDsUk/ATQIvum/f4UcD6PFmHVOlALiKakljp60v1C3qOwE p0+MxL/qlsP4uipNvY0jUSPbXMmS048PPSmBR4YMjg/agONRQxPbrmmpPFmrzzF9YTFaGVSYvoS a0H3IWYFeid9nGPLrOxvRa0wjY8uKEUlwgBFS5db8e6AZj6zaYe0ei1rM48CrzOJOXGqwQDX0zD TbIxVlhctjmQAoQ/Gy1+PZiqQOy9iQ+OGuaHyoeTbUXOIEfm05K7A95mdA0XUDxgJJVBjQa9c1z Y0apy4Ze9tprHdj5PaVBdnhGzdgpbhINEgHQKTotOYlwjAw0D+e+rV3FrMA7+qh5IQWqHUN59Dk MqJWiRIC2os2vNDf4m/Q5Tz5BYHG26vySo/JzXwbvAeu5Qgy+0CRVBQyHgO3vZfzhgpdb514R9X i7YRvon X-Google-Smtp-Source: AGHT+IGINQ9as26/p9xJbeZF5cvjG9goh0zppI0471nmCbtpxmdiIK6LfTqE//yzwAzYRfMoDacyfw== X-Received: by 2002:a17:90b:4acb:b0:340:bfcd:6af9 with SMTP id 98e67ed59e1d1-34f68b4b16cmr4067604a91.3.1767842777719; Wed, 07 Jan 2026 19:26:17 -0800 (PST) Received: from DESKTOP-BKIPFGN (ec2-54-169-177-146.ap-southeast-1.compute.amazonaws.com. [54.169.177.146]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-34f6b88d984sm1395122a91.3.2026.01.07.19.26.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 Jan 2026 19:26:17 -0800 (PST) From: Kery Qi To: daniel@iogearbox.net Cc: linux-kernel@vger.kernel.org, Kery Qi Subject: [PATCH] selftests/bpf: wq: destroy skeleton on failure paths Date: Thu, 8 Jan 2026 11:26:09 +0800 Message-ID: <20260108032609.1585-1-qikeyu2017@gmail.com> X-Mailer: git-send-email 2.50.1.windows.1 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 Content-Type: text/plain; charset="utf-8" serial_test_wq() opens and loads a wq skeleton and then attaches it. If wq__attach() fails, the test returns early and skips wq__destroy(), leaking the skeleton resources. Fix by routing error exits through a common cleanup path and always destroying the skeleton when it was created. This is the same class of bug as the earlier skeleton leak fix (CVE-2022-3532), but in tools/testing/selftests/bpf/prog_tests/wq.c. Signed-off-by: Kery Qi --- tools/testing/selftests/bpf/prog_tests/wq.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/bpf/prog_tests/wq.c b/tools/testing/se= lftests/bpf/prog_tests/wq.c index 15c67d23128b..1dcdeda84853 100644 --- a/tools/testing/selftests/bpf/prog_tests/wq.c +++ b/tools/testing/selftests/bpf/prog_tests/wq.c @@ -21,7 +21,7 @@ void serial_test_wq(void) =20 err =3D wq__attach(wq_skel); if (!ASSERT_OK(err, "wq_attach")) - return; + goto clean_up =20 prog_fd =3D bpf_program__fd(wq_skel->progs.test_syscall_array_sleepable); err =3D bpf_prog_test_run_opts(prog_fd, &topts); @@ -31,7 +31,10 @@ void serial_test_wq(void) usleep(50); /* 10 usecs should be enough, but give it extra */ =20 ASSERT_EQ(wq_skel->bss->ok_sleepable, (1 << 1), "ok_sleepable"); - wq__destroy(wq_skel); + +clean_up: + if (wq_skel) + wq__destroy(wq_skel); } =20 void serial_test_failures_wq(void) --=20 2.34.1