From nobody Sun Feb 8 21:47:35 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 41AF7358D38; Sat, 31 Jan 2026 14:25:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769869522; cv=none; b=CYA7PlC1xDqbBdyqYBQzOWqQL0/rMlp3P4IzoD1x+Ct5wRMkDHPnapns7myUAIp4ICQK9z6xmMV5y6prukj0JXAcjlav/EcHkU07obvRNUKJ/NgFU4/J6rs5qBA0dRaOrW2QSQuZ4EIvZsZ3a8sJfbuMTpBanio21TMw04sH4Uo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769869522; c=relaxed/simple; bh=k3Exn/v9pCnRWah8GG4TA6vNRtpJjwGM1Bhrsrl1p0Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=IoNhszoIKRGnbsIejCxXJGGKaGslhkLkP7w2JWAeKfY6QbBeNhr4X9gX++JYM1WYxtrpGDu0CvoWQqN//ukqXgcCNKiHZBZvLfwHQ6alI4EEiuARlCLvEd+febHBKw1IkmKN8gDcjiS0IieZwL8Gy86Rke8KQnPuP3NwHlA9NCM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OvUudNjX; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="OvUudNjX" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9C03EC2BCF7; Sat, 31 Jan 2026 14:25:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1769869521; bh=k3Exn/v9pCnRWah8GG4TA6vNRtpJjwGM1Bhrsrl1p0Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OvUudNjX9xrBKQrvkqkcZvMH601ogLtpT+0oXRR2dpWAB8f/780ewGG6WMxsM4r+R /qWk8x9l0KQ+MgNRhpX4po7LY32bs0eG0GFxYyyirb35OPfCFmfoIPV8AjDA7/iJI2 eKvAxJ1V1tSeElsStiIz0ihE97MXE0GWf7j0B0YuflF9atJAjEJOkQ6qM5gxq/rScA G8jmIUndsVxh2xGzjPbaEOtmhKFvz6p0RF0FzQu9w5htZQCpQxd+ViYBW0q8tmTZh6 DqT4cEGbpvCSHbwhiJbhyPU5D70/byqprc2r1nJzAmrVm0FZsXWVDxFGpsfuS2US+T ya7v53B2g7Zhg== Received: from mchehab by mail.kernel.org with local (Exim 4.99.1) (envelope-from ) id 1vmBuZ-0000000AVlA-3q05; Sat, 31 Jan 2026 15:25:19 +0100 From: Mauro Carvalho Chehab To: Jonathan Corbet , Linux Doc Mailing List Cc: Mauro Carvalho Chehab , intel-wired-lan@lists.osuosl.org, linux-hardening@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Aleksandr Loktionov , Mauro Carvalho Chehab , Randy Dunlap Subject: [PATCH v4 22/41] docs: kdoc_re: fix a parse bug on struct page_pool_params Date: Sat, 31 Jan 2026 15:24:56 +0100 Message-ID: X-Mailer: git-send-email 2.52.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Sender: Mauro Carvalho Chehab The struct page_pool_params definition has a private definition on it: struct page_pool_params { struct_group_tagged(page_pool_params_fast, fast, unsigned int order; unsigned int pool_size; int nid; struct device *dev; struct napi_struct *napi; enum dma_data_direction dma_dir; unsigned int max_len; unsigned int offset; ); struct_group_tagged(page_pool_params_slow, slow, struct net_device *netdev; unsigned int queue_idx; unsigned int flags; /* private: used by test code only */ void (*init_callback)(netmem_ref netmem, void *arg); void *init_arg; ); }; This makes kernel-doc parser to miss the end parenthesis of the second struct_group_tagged, causing documentation issues. Address it by ensuring that, if are there anything at the stack, it will be placed as the last part of the argument. Signed-off-by: Mauro Carvalho Chehab Reviewed-by: Aleksandr Loktionov --- tools/lib/python/kdoc/kdoc_re.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/lib/python/kdoc/kdoc_re.py b/tools/lib/python/kdoc/kdoc_= re.py index 858cc688a58f..5f455ffff7b2 100644 --- a/tools/lib/python/kdoc/kdoc_re.py +++ b/tools/lib/python/kdoc/kdoc_re.py @@ -201,6 +201,9 @@ class NestedMatch: """ =20 stack =3D [] + start =3D 0 + offset =3D 0 + pos =3D 0 =20 for match_re in self.regex.finditer(line): start =3D match_re.start() @@ -250,6 +253,11 @@ class NestedMatch: yield start, offset, pos + 1 break =20 + # When /* private */ is used, it may end the end delimiterq + if stack: + stack.pop() + yield start, offset, len(line) + 1 + def search(self, line): """ This is similar to re.search: --=20 2.52.0