Thread (56 messages) 56 messages, 4 authors, 2026-02-10

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.py
b/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>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help