ZtuFYzVd5a3SelrYvyntU2R/YnOxqnkvKDsJ8b4ZLfryaRPXOtLgfNvm anPHc4SyIBGMjVralF5j4OlkHItB6HPN7DQ0/0glvl2Sq+k047gE1Zed0V2ofw6j/GDB14TN6pJ koyQ8bD7NDM0uQi4x7mSJxz4WpTg8Fl0SDKNlOObLxUkbgt2p9Gv/Imcn7I2Sb+iLHEiPgt8wSZ gyskWVdkbxO4ygwm6NQ== X-Authority-Analysis: v=2.4 cv=BpSQAIX5 c=1 sm=1 tr=0 ts=69708d2d cx=c_pps a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17 a=vUbySO9Y5rIA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=1XWaLZrsAAAA:8 a=VnNF1IyMAAAA:8 a=cyf6OluC0b55awWC7yQA:9 X-Proofpoint-GUID: 3gXiIP48Q54vLzVnTInrtiLwNy4lvZ_5 X-Proofpoint-ORIG-GUID: j3UxUq_eNYe_bpw5QLtOBRhoDFXqndZI X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.20,FMLib:17.12.100.49 definitions=2026-01-21_01,2026-01-20_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 clxscore=1015 adultscore=0 phishscore=0 malwarescore=0 impostorscore=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2601150000 definitions=main-2601210068 SPFCheck: Soft Fail, 20 Spam score X-DKIM: signer='ibm.com' status='pass' reason='' DKIMCheck: Server passes DKIM test, 0 Spam score X-Spam-Score: 0.5 (/) X-Spam-Report: Spam detection software, running on the system "witcher.mxrouting.net", has performed the tests listed below against this email. Information: https://mxroutedocs.com/directadmin/spamfilters/ --- Content analysis details: (0.5 points) --- pts rule name description ---- ---------------------- ----------------------------------------- 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block for more information. [213.196.21.55 listed in list.dnswl.org] 1.5 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level mail domains are different -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager SpamTally: Final spam score: 25 V1 --> V2: Add linux next repository s/needed/unneeded/ in commit message The perf test case 'libsubcmd help tests', subtest 'Exclude disjoint subcmd names' fails all the time. Root case is a special case of sorted input which the exclude_cmds() in libsubcmd can not handle. Assume the following inputs: cmds = { X, Y, Z } and excludes = { A, B }. This leads to ci cj ei cmds-name excludes ----------|-------------------- 0 0 0 | X A : cmp > 0, ei++ 0 0 1 | X B : cmp > 0, ei++ At this point, the loop is terminated due to ei == excludes->cnt. The for-loop now checks for trailing names which had to be deleted. But the first entry points to a name: cmds->names[0].name == "X" and this is a valid entry. This is the case when all commands listed in excludes are less than all commands listed in cmds. Only check for existing names when cmds list was changed, that is ci != cj. Also remove an unneeded if (cmp > 0). - Output before: # ./perf test -F 68 68.1: Load subcmd names : Ok 68.2: Uniquify subcmd names : Ok 68.3: Exclude duplicate subcmd names : Ok perf: help.c:112: exclude_cmds: Assertion `cmds->names[ci] == NULL' \ failed. Aborted ./perf test -F 68 Output after: # ./perf test -F 68 68.1: Load subcmd names : Ok 68.2: Uniquify subcmd names : Ok 68.3: Exclude duplicate subcmd names : Ok 68.4: Exclude disjoint subcmd names : Ok Fixes: 1fdf938168c4 ("perf tools: Fix use-after-free in help_unknown_cmd()") Cc: Namhyung Kim Cc: Ian Rogers Signed-off-by: Thomas Richter --- tools/lib/subcmd/help.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/lib/subcmd/help.c b/tools/lib/subcmd/help.c index ddaeb4eb3e24..1ce5fe507687 100644 --- a/tools/lib/subcmd/help.c +++ b/tools/lib/subcmd/help.c @@ -93,19 +93,19 @@ void exclude_cmds(struct cmdnames *cmds, struct cmdnames *excludes) zfree(&cmds->names[ci]); ci++; ei++; - } else if (cmp > 0) { + } else { ei++; } } - if (ci != cj) { + if (ci != cj) { /* Verify cmds list only if it changed */ while (ci < cmds->cnt) { cmds->names[cj++] = cmds->names[ci]; cmds->names[ci++] = NULL; } + for (ci = cj; ci < cmds->cnt; ci++) + assert(!cmds->names[ci]); + cmds->cnt = cj; } - for (ci = cj; ci < cmds->cnt; ci++) - assert(cmds->names[ci] == NULL); - cmds->cnt = cj; } static void get_term_dimensions(struct winsize *ws) -- 2.52.0 From - Wed Jan 21 08:41:14 2026 X-Mozilla-Status: 0001 X-Mozilla-Status2: 00000000 Return-Path: Delivered-To: hi@josie.lol Received: from witcher.mxrouting.net by witcher.mxrouting.net with LMTP id cLQXHiSRcGmBIDIAYBR5ng (envelope-from ) for ; Wed, 21 Jan 2026 08:41:08 +0000 Return-path: Envelope-to: hi@josie.lol Delivery-date: Wed, 21 Jan 2026 08:41:08 +0000 Received: from dfw.mirrors.kernel.org ([142.0.200.124]) by witcher.mxrouting.net with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.98) (envelope-from ) id 1viTm0-0000000ECVl-0XC1 for hi@josie.lol; Wed, 21 Jan 2026 08:41:08 +0000 Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.mirrors.kernel.org (Postfix) with ESMTPS id ABDD37E8BC7 for ; Wed, 21 Jan 2026 08:34:36 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 09E1A47A0AB; Wed, 21 Jan 2026 08:33:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="R//jSNiU" X-Original-To: stable@vger.kernel.org Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013009.outbound.protection.outlook.com [52.101.72.9]) (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 5A17C478E58; Wed, 21 Jan 2026 08:33:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.9 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768984433; cv=fail; b=AgR5+Akd1Px897PYEQcAND/285F/FbZMJ/Me/OIhRUjrxtJHrXwrAbu7x/Iqm5HoOwX7qDOzrS+p/+VysQDjld2DmiHoUFZ6ip24ZGFdJcrKncs6GbQqVrW+rBENffSwa6xC4BiiR520dk7vMR6L8iEQBlwJO78QXpF4gfID+dY= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768984433; c=relaxed/simple; bh=uaCukzmhBdi8QxY4nAWm2IeIcesiswJg0GWcKE1kjBk=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=ZsP4dm8sK4JScq/gLQscBkr1LZSLf11z+EnDe7sz82N2I5KHLpu6qBGpYfXnT/o0uEtlbz3+EDfEnbaxOotNZx636VmehuEhJO7I4hVdJI2T59ZDxhW+uRgHsmEtVIvpKlcp8VUN/8ztK56q7h++UfokHPFC3xXbZL4n6J4fb1A= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=R//jSNiU; arc=fail sm