{"id":2197667,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2197667/?format=json","project":{"id":46,"url":"http://patchwork.ozlabs.org/api/1.0/projects/46/?format=json","name":"Intel Wired Ethernet development","link_name":"intel-wired-lan","list_id":"intel-wired-lan.osuosl.org","list_email":"intel-wired-lan@osuosl.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<eba972628cc478ab977d0403716029e9190ef9da.1771408406.git.mchehab+huawei@kernel.org>","date":"2026-02-18T10:12:45","name":"[15/38] docs: kdoc_re: properly handle strings and escape chars on it","commit_ref":null,"pull_url":null,"state":"handled-elsewhere","archived":false,"hash":"e6b50b72a70d308eb93c4c92df75b565810bb9ff","submitter":{"id":78235,"url":"http://patchwork.ozlabs.org/api/1.0/people/78235/?format=json","name":"Mauro Carvalho Chehab","email":"mchehab+huawei@kernel.org"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/intel-wired-lan/patch/eba972628cc478ab977d0403716029e9190ef9da.1771408406.git.mchehab+huawei@kernel.org/mbox/","series":[{"id":492532,"url":"http://patchwork.ozlabs.org/api/1.0/series/492532/?format=json","date":"2026-02-18T10:12:30","name":"docs: several improvements to kernel-doc","version":1,"mbox":"http://patchwork.ozlabs.org/series/492532/mbox/"}],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2197667/checks/","tags":{},"headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=K9JTqXVs;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fGC5c2nZnz1xwr\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 18 Feb 2026 21:13:40 +1100 (AEDT)","from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 43757407D0;\n\tWed, 18 Feb 2026 10:13:32 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id KPflimCyVTcy; Wed, 18 Feb 2026 10:13:31 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id B01F1407F0;\n\tWed, 18 Feb 2026 10:13:31 +0000 (UTC)","from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])\n by lists1.osuosl.org (Postfix) with ESMTP id 17FAE206\n for <intel-wired-lan@lists.osuosl.org>; Wed, 18 Feb 2026 10:13:26 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id A01B78108F\n for <intel-wired-lan@lists.osuosl.org>; Wed, 18 Feb 2026 10:13:25 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 1RiXCknZ_SiR for <intel-wired-lan@lists.osuosl.org>;\n Wed, 18 Feb 2026 10:13:23 +0000 (UTC)","from sea.source.kernel.org (sea.source.kernel.org\n [IPv6:2600:3c0a:e001:78e:0:1991:8:25])\n by smtp1.osuosl.org (Postfix) with ESMTPS id AA1EF81096\n for <intel-wired-lan@lists.osuosl.org>; Wed, 18 Feb 2026 10:13:23 +0000 (UTC)","from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n by sea.source.kernel.org (Postfix) with ESMTP id 6259041B6F;\n Wed, 18 Feb 2026 10:13:23 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 46342C2BCAF;\n Wed, 18 Feb 2026 10:13:23 +0000 (UTC)","from mchehab by mail.kernel.org with local (Exim 4.99.1)\n (envelope-from <mchehab+huawei@kernel.org>)\n id 1vseYb-00000000Lc3-2Hp4; Wed, 18 Feb 2026 11:13:21 +0100"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp4.osuosl.org B01F1407F0","OpenDKIM Filter v2.11.0 smtp1.osuosl.org AA1EF81096"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1771409611;\n\tbh=CD09W1Cs/CKxtTlaYQEjSUVqXi90SvD+QSCwnQD/cGQ=;\n\th=From:To:Cc:Date:In-Reply-To:References:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From;\n\tb=K9JTqXVso9j3kHf772HfwVDPkqiGbPgXKh89GRa/EqxRncr7EpH1jWcUlJU8BspUZ\n\t qUpgZ6ymDvoDNTiNc/IK1KgcoBRBvedeOQppe3HjXtfRTchBgvyOS/eHHI4pVDeI+A\n\t Xc4Br6RAdUnPAHbLYbVq/rytI+1h0qYkxyzBsXdXYPKfbj1tYhi6buG59ehPlLD83K\n\t qzEH9wyy1uR+zOG8FzlbjdxpXc6YAgiy45R94rdS4z9sz6qxcqUvr1srzEBnQQy0TG\n\t Hr2/vXW7MOaaO7xlkE0TiStuXg5oqUqPn6nvO786cboqQL55S2w3OdVcw/memteVIm\n\t gGeJhCO6Bte3g==","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2600:3c0a:e001:78e:0:1991:8:25; helo=sea.source.kernel.org;\n envelope-from=mchehab+huawei@kernel.org; receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp1.osuosl.org AA1EF81096","From":"Mauro Carvalho Chehab <mchehab+huawei@kernel.org>","To":"Jonathan Corbet <corbet@lwn.net>,\n Linux Doc Mailing List <linux-doc@vger.kernel.org>","Cc":"Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,\n intel-wired-lan@lists.osuosl.org, linux-hardening@vger.kernel.org,\n linux-kernel@vger.kernel.org, netdev@vger.kernel.org,\n Aleksandr Loktionov <aleksandr.loktionov@intel.com>,\n Randy Dunlap <rdunlap@infradead.org>","Date":"Wed, 18 Feb 2026 11:12:45 +0100","Message-ID":"\n <eba972628cc478ab977d0403716029e9190ef9da.1771408406.git.mchehab+huawei@kernel.org>","X-Mailer":"git-send-email 2.52.0","In-Reply-To":"<cover.1771408406.git.mchehab+huawei@kernel.org>","References":"<cover.1771408406.git.mchehab+huawei@kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"8bit","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n d=kernel.org; s=k20201202; t=1771409603;\n bh=2s+fzq6gQbWuB1ApycJQ9BmmsdbPbLOVTREB5x1uqxI=;\n h=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n b=NXzlsSSLNhbbqZv4lPRJrQvqahR3ZaCkRyRkFGnD6lg7Sy60W5BiePskmESRP/Cty\n Al/DpzbA4GpxnY4SYtJWZ5vowF3oLv4OTEQPtc6+J+5sNphAgmrH07REMm3xP2LJxH\n Ium9012IyjZQcYf/hl6TSD66MGlgCs6Bnz85TBnTW+as9GhtZUTi0G08kF9Fpa3EXJ\n mBSpw2KqNuN2kTo+wpsEjT7i+F74cTLDQwLWrdUt/8pwmxnouST8eJtr7jlRkuO6Za\n vGLJoV+iuj2C99MfdyjGtV5OW5J7Q8M9CtNXH3gjF6rtgHQATdS2nIuxVU7tMRyo4y\n zXJjPqeaV7j4w==","X-Mailman-Original-Authentication-Results":["smtp1.osuosl.org;\n dmarc=pass (p=quarantine dis=none)\n header.from=kernel.org","smtp1.osuosl.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.a=rsa-sha256 header.s=k20201202 header.b=NXzlsSSL"],"Subject":"[Intel-wired-lan] [PATCH 15/38] docs: kdoc_re: properly handle\n strings and escape chars on it","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"},"content":"The logic inside NestedMatch currently doesn't consider that\nfunction arguments may have chars and strings, which may\neventually contain delimiters.\n\nAdd logic to handle strings and escape characters on them.\n\nSigned-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>\nReviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>\n---\n tools/lib/python/kdoc/kdoc_re.py | 18 ++++++++++++++++++\n 1 file changed, 18 insertions(+)","diff":"diff --git a/tools/lib/python/kdoc/kdoc_re.py b/tools/lib/python/kdoc/kdoc_re.py\nindex 6c44fcce0415..420cb8879ba3 100644\n--- a/tools/lib/python/kdoc/kdoc_re.py\n+++ b/tools/lib/python/kdoc/kdoc_re.py\n@@ -195,6 +195,8 @@ class NestedMatch:\n         for match_re in regex.finditer(line):\n             start = match_re.start()\n             offset = match_re.end()\n+            string_char = None\n+            escape = False\n \n             d = line[offset - 1]\n             if d not in self.DELIMITER_PAIRS:\n@@ -208,6 +210,22 @@ class NestedMatch:\n \n                 d = line[pos]\n \n+                if escape:\n+                    escape = False\n+                    continue\n+\n+                if string_char:\n+                    if d == '\\\\':\n+                        escape = True\n+                    elif d == string_char:\n+                        string_char = None\n+\n+                    continue\n+\n+                if d in ('\"', \"'\"):\n+                    string_char = d\n+                    continue\n+\n                 if d in self.DELIMITER_PAIRS:\n                     end = self.DELIMITER_PAIRS[d]\n \n","prefixes":["15/38"]}