RE: [Intel-wired-lan] [PATCH v2 25/25] docs: kdoc_re: fix a parse bug on struct page_pool_params
From: Loktionov, Aleksandr <hidden>
Date: 2026-01-28 17:49:56
Also in:
bpf, intel-wired-lan, linux-doc, lkml
quoted hunk ↗ jump to hunk
-----Original Message----- From: Intel-wired-lan <redacted> On Behalf Of Mauro Carvalho Chehab Sent: Wednesday, January 28, 2026 5:50 PM To: Jonathan Corbet <corbet@lwn.net>; Linux Doc Mailing List <linux- doc@vger.kernel.org> Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>; bpf@vger.kernel.org; intel-wired-lan@lists.osuosl.org; linux- kernel@vger.kernel.org; netdev@vger.kernel.org; Peter Zijlstra [off-list ref]; Randy Dunlap [off-list ref]; Stephen Rothwell [off-list ref] Subject: [Intel-wired-lan] [PATCH v2 25/25] docs: kdoc_re: fix a parse bug on struct page_pool_params 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 <mchehab+huawei@kernel.org> --- tools/lib/python/kdoc/kdoc_re.py | 8 ++++++++ 1 file changed, 8 insertions(+)diff --git a/tools/lib/python/kdoc/kdoc_re.pyb/tools/lib/python/kdoc/kdoc_re.py index f49a568b9155..8d4cfdf8f479 100644--- a/tools/lib/python/kdoc/kdoc_re.py +++ b/tools/lib/python/kdoc/kdoc_re.py@@ -206,6 +206,9 @@ class NestedMatch: """ stack = [] + start = 0 + offset = 0 + pos = 0 for match_re in self.regex.finditer(line): start = match_re.start()@@ -255,6 +258,11 @@ class NestedMatch: yield start, offset, pos + 1 break + # 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: --2.52.0
Reviewed-by: Aleksandr Loktionov <redacted>