Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2223092/?format=api
{ "id": 2223092, "url": "http://patchwork.ozlabs.org/api/patches/2223092/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/CABZCAAdBHShUBAX_SHyrvp2ukyWMZodtUG-OqyXeiv_c+LedFA@mail.gmail.com/", "project": { "id": 26, "url": "http://patchwork.ozlabs.org/api/projects/26/?format=api", "name": "Netfilter Development", "link_name": "netfilter-devel", "list_id": "netfilter-devel.vger.kernel.org", "list_email": "netfilter-devel@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<CABZCAAdBHShUBAX_SHyrvp2ukyWMZodtUG-OqyXeiv_c+LedFA@mail.gmail.com>", "list_archive_url": null, "date": "2026-04-14T12:36:32", "name": "netfilter module-autoload: duplicate request for netfilter module", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "eb8cc0693aa5489342aa6720a1227059f1d677c6", "submitter": { "id": 93143, "url": "http://patchwork.ozlabs.org/api/people/93143/?format=api", "name": "Zhe Zhao", "email": "zhe.alex.zhao@gmail.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/CABZCAAdBHShUBAX_SHyrvp2ukyWMZodtUG-OqyXeiv_c+LedFA@mail.gmail.com/mbox/", "series": [ { "id": 499831, "url": "http://patchwork.ozlabs.org/api/series/499831/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/list/?series=499831", "date": "2026-04-14T12:36:32", "name": "netfilter module-autoload: duplicate request for netfilter module", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/499831/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2223092/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2223092/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <netfilter-devel+bounces-11880-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "netfilter-devel@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=jmGQyTGy;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=netfilter-devel+bounces-11880-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"jmGQyTGy\"", "smtp.subspace.kernel.org;\n arc=pass smtp.client-ip=209.85.210.46", "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com" ], "Received": [ "from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\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 4fw3hB6Hwvz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 22:37:30 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id B1E8C3020A81\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 12:36:47 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id C5E773E556D;\n\tTue, 14 Apr 2026 12:36:46 +0000 (UTC)", "from mail-ot1-f46.google.com (mail-ot1-f46.google.com\n [209.85.210.46])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id E213B20DE3\n\tfor <netfilter-devel@vger.kernel.org>; Tue, 14 Apr 2026 12:36:44 +0000 (UTC)", "by mail-ot1-f46.google.com with SMTP id\n 46e09a7af769-7dbff06e4a6so5292493a34.1\n for <netfilter-devel@vger.kernel.org>;\n Tue, 14 Apr 2026 05:36:44 -0700 (PDT)" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776170206; cv=pass;\n b=pBLDsJku+dt6SlGCKOpFQgk0hebwdVUHMeUyyJYmkU8JEhdjY1xXNa9o1Ygxg8OyZBYCoPM0bntHq/G+7L9Rx12Rv5zK7UWy5XIa2WYkw4n0Or4IcND4Sxi7YUwJXmUIP9tk3xPCWmWy4Gjms0JBt0vR8pt3sMmYtPH9F6o/l0I=", "i=1; a=rsa-sha256; t=1776170204; cv=none;\n d=google.com; s=arc-20240605;\n b=E3STY+SYw3nSRyHr4GVP/YpSsTlCvGl/Fyfx35PHfSqMSP/fiVdl5nKivpx3v1vcEt\n XMz/A+QSkXYLxO8ke7Mzo6+B1hCZ8pV+oGdIn0IgCreTTSf1S0TJZqqlAeVD1mt0IYEk\n m9RSQt2dNAqDhBTdP6pOm+5ra2cYfOy2MG4R47F1qqXI7xdkgJukdWuJBOkXFU0jp5QD\n xyDubGFUdToIuFXPtuXa69lkf31Qbn5l9Mm4qbzQ6k8XOTF+eB2dsYUeWjBJTzEMFwQ8\n rsW+A8OxR0ujmz3V6xIFGwIp5tPzc0NP0Rpp2pBMZ7nE2bY16RqO/kcvFMKULz0n9gkF\n H9kA==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776170206; c=relaxed/simple;\n\tbh=3QvKSMKEzGXKkNVsueagowDhcZXgcAoNooUo3a7+2W0=;\n\th=MIME-Version:From:Date:Message-ID:Subject:To:Cc:Content-Type;\n b=K1a+KwSn3eDdXYI4Oh2BrCgxHuoQHt14zyUEeOVSExPJ0PweVhfvuHGQ7zv4AZ70uM0mQpMIAbz/jOkbClvVbPaO87pqVSGhk59yIINUX3LRSIPrkzQv+qaQP4UwwoIPoNmiXhW9U4ZeQ/cqd76+BUu5cBTgpgSeNn8cLVLMoko=", "i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=cc:to:subject:message-id:date:from:mime-version:dkim-signature;\n bh=fuAca5m0tTkIbgymk3EB2eOlCFH3RK0fRdrSHLmxZjo=;\n fh=cKWkouWS3FVHiDWvHNnshGDqRkV9Y7Uu5kJgmIjjs5c=;\n b=MQlajVXKqO/6qL1aSSnhyN3gSLO3Sp5BTTQiTB+2TSm0doWVpykyu06lgINUgJqxbB\n 38f7oZiytt12GXOv/SZi1loHvSxkvnqMLruf+pHmc4rXVE9KdDXN2Q56rYZcTSpmdNGT\n hgnBVzBuv+qo1lgDlRvUDkEjh8Pz/h73hHlrNVmVy/xTbPRbmp++Fjn8qCKeaBuI0Oxn\n Wp851dnftUHJHyWzKCnAgUdsiqcrKi2ClY/3cZSGOoYVGiyrjH8BeibFEZUTLRY99krO\n t+Wpb+HoMt8u5WRUME/Xw3AMCw2Rqxaa0d9EFkYyjXnzkV6SYstKyjwg223mjlpDg0b+\n oPIw==;\n darn=vger.kernel.org" ], "ARC-Authentication-Results": [ "i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=jmGQyTGy; arc=pass smtp.client-ip=209.85.210.46", "i=1; mx.google.com; arc=none" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1776170204; x=1776775004;\n darn=vger.kernel.org;\n h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject\n :date:message-id:reply-to;\n bh=fuAca5m0tTkIbgymk3EB2eOlCFH3RK0fRdrSHLmxZjo=;\n b=jmGQyTGyEf/FFYtd85kXcnhZX8gFNaVRU14BIyVglygrkGN8PdGAHZiZRI/f7Mqdsc\n zTV5WgvL7lobIEoMymEldaN4MbM15GJ2i6r3dkf1Vfz4TVeGagcl9Bc75jYX/6F95Tit\n EZiYjhenk6l3I8MsSUGY84KJTZOX5hgQIBnO3CDAkJyNrl3eWsXQcESUVcS+JmIgCl4N\n Kt+vtvoagsqlM6T8PRM2r0yFZf1bY0A+oSleIefClUAdt7tZjzrP+aZjRUmR9hbKaZxK\n YQueR3cPwqw2eIUKbofePnM6UCPIROU+gjTCfEjTYPc4MmZ1RBPG/ZjQLu+FYHBcT/io\n HFWg==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776170204; x=1776775004;\n h=cc:to:subject:message-id:date:from:mime-version:x-gm-gg\n :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n bh=fuAca5m0tTkIbgymk3EB2eOlCFH3RK0fRdrSHLmxZjo=;\n b=BBHSXS6yy+Tcwpwcqgm7PdfZgTkuemMnRwmTjsUARFzeTDUhQAfrbjgj+TbJd4dR7m\n 17D113j0O8PCQbMZWpESKAKfOPo65NqMi/wrxhgc29QcsWw20pKScHiplvciYJImUNZV\n PigLRFmmmjN7H0jfHYh1FUPXnL7ea3XbRoy4OEFDIgEKTGPpCGk1X9BgxhJk299zt/NZ\n fDXjZVowuDzm/p2iBBcLG12S4nRdOjbY5B7eYaKVBFpONR9/r2KkNWLq7HesCyLp7jMV\n dYOCbxWW9Xk5DIS0aje+DEKaghFbvyj2/w86QbFrOVhrqi7jrxPy4ZPsuUxMEgHGVlyQ\n p3rQ==", "X-Gm-Message-State": "AOJu0YwjVg6W4SfVCfWgMRSB7S2OK6s6eeDoZ98NOlHXJvZzk4TE1clR\n\t5VkwlzaF/KGxoUTvSaiLVJ9hDO6Qd6gYM0PnM66vWKv+xoXO1odk23DVbJthcP1cHVEjTdplxCl\n\thdTz1YBZYqEOC+RgVzhYYCCvF+/YDoOkqdvCLhhY=", "X-Gm-Gg": "AeBDietPVQMYD17fOFNcCZYApHsgzGJF+rKzofeTAk5s0MQCoceSsyrXkHYvdMFXlRR\n\t3RG574euHLLuXQuUo4McD6wlUAZCS2J6BPXmpgC95PFTIlUyLf1EJpnPotru7G9TNldQ6Ey+5Ho\n\t5/BWNV5Ow+rYZBLD1VCzxShncBxG6KWmWNQXM1XnV7agaiRABYY5+64f4LKa4ea48ZmNKfuodv7\n\tVrHqRheKqcoYDdQD6nMopmoAP3mOy8qdZKXS4r2+USJc4RpDnqVJtUnCIREeiMHBf4tscEoezh9\n\tUnG0BEOo5Xl/HsRL7Q==", "X-Received": "by 2002:a05:6830:488e:b0:7d7:f584:f381 with SMTP id\n 46e09a7af769-7dc27db6545mr10685805a34.14.1776170203821; Tue, 14 Apr 2026\n 05:36:43 -0700 (PDT)", "Precedence": "bulk", "X-Mailing-List": "netfilter-devel@vger.kernel.org", "List-Id": "<netfilter-devel.vger.kernel.org>", "List-Subscribe": "<mailto:netfilter-devel+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:netfilter-devel+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "From": "Zhe Zhao <zhe.alex.zhao@gmail.com>", "Date": "Tue, 14 Apr 2026 20:36:32 +0800", "X-Gm-Features": "AQROBzB7lSYggQRzSaH8LgjTPJchVwWtgd8LktcnBA-R6qrrhCZZxxgxCZte-cY", "Message-ID": "\n <CABZCAAdBHShUBAX_SHyrvp2ukyWMZodtUG-OqyXeiv_c+LedFA@mail.gmail.com>", "Subject": "[PATCH]netfilter module-autoload: duplicate request for netfilter\n module", "To": "\"pablo@netfilter.org\" <pablo@netfilter.org>", "Cc": "netfilter-devel@vger.kernel.org", "Content-Type": "text/plain; charset=\"UTF-8\"" }, "content": "Hi, Pablo\n\nWhen boot up linux computer with netfilter there is below kernel\nmessages show up on my desktop\n\nkernel: ------------[ cut here ]------------\nkernel: module-autoload: duplicate request for module net-pf-16-proto-12\nkernel: WARNING: kernel/module/dups.c:184 at\nkmod_dup_request_exists_wait+0x18a/0x320, CPU#4: firewalld/1071\nkernel: Modules linked in: snd_hda_codec_intelhdmi snd_hda_codec_hdmi\nintel_rapl_msr intel_rapl_common snd_hda_codec_alc662 binfmt_misc\nsnd_hda_codec_realtek_lib intel_uncore_frequency ommon\nsnd_hda_codec_generic snd_hda_intel vfat sn>\nkernel: platform_profile snd igb intel_uncore i2c_i801 dca soundcore\ni2c_smbus mei_me mei idma64 intel_pch_thermal intel_pmc_core\npmt_telemetry pmt_discovery pmt_class acpi_tad acpi_pad y intel_vsec\nloop zram xfs i915 i2c_algo_bit dr>\nkernel: CPU: 4 UID: 0 PID: 1071 Comm: firewalld Tainted: G W 7.0.0 #4\nPREEMPT(lazy)\nkernel: Tainted: [W]=WARN\nkernel: Hardware name: HP HP ZHAN 99 Pro G1 MT/843C, BIOS F.48 07/27/2022\nkernel: RIP: 0010:kmod_dup_request_exists_wait+0x18d/0x320\nkernel: Code: c7 c7 00 0b 1c 8e e8 32 10 ce 00 48 89 df e8 ba ec 26 00\n80 3d 13 e3 dc 01 00 0f 84 17 12 e2 ff 48 8d 3d 06 2f f7 01 48 89 ee\n<67> 48 0f b9 3a 45 84 e4 75 6b 41 c7 45 00 00 00 00 00 b8 01\nkernel: RSP: 0018:ffffb254449d3ce0 EFLAGS: 00010202\nkernel: RAX: 0000000000000000 RBX: ffffa24ae080e300 RCX: 0000000000000000\nkernel: RDX: 0000000000000000 RSI: ffffb254449d3d48 RDI: ffffffff8e365720\nkernel: RBP: ffffb254449d3d48 R08: 0000000000000000 R09: 0000000000000000\nkernel: R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000001\nkernel: R13: ffffb254449d3d2c R14: ffffa2483b0f8b00 R15: ffffa248c4830000\nkernel: FS: 00007f633ca875c0(0000) GS:ffffa24b92b3e000(0000)\nknlGS:0000000000000000\nkernel: CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\nkernel: CR2: 00007f463be5fc00 CR3: 00000001de71e003 CR4: 00000000003726f0\nkernel: Call Trace:\nkernel: <TASK>\nkernel: __request_module+0x189/0x400\nkernel: netlink_create+0xaf/0x240\nkernel: ? alloc_inode+0x38/0x150\nkernel: __sock_create+0x126/0x1d0\nkernel: __sys_socket+0x92/0x110\nkernel: __x64_sys_socket+0x13/0x20\nkernel: do_syscall_64+0x125/0x1200\nkernel: entry_SYSCALL_64_after_hwframe+0x6c/0x74\nkernel: RIP: 0033:0x7f633c3060db\nkernel: Code: 48 8b 55 f8 64 48 2b 14 25 28 00 00 00 75 02 c9 c3 e8 19\nae 00 00 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa b8 29 00 00 00 0f 05\n<48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d f5 fc 0e 00 f7 d8 64 89\nkernel: RSP: 002b:00007ffe0d24d668 EFLAGS: 00000202 ORIG_RAX: 0000000000000029\nkernel: RAX: ffffffffffffffda RBX: 00007f573be0df70 RCX: 00007f633c3060db\nkernel: RDX: 000000000000000c RSI: 0000000000000003 RDI: 0000000000000010\nkernel: RBP: 00007ffe0d24d680 R08: 00007f573be0df70 R09: 0000000000000001\nkernel: R10: 00007f573be0df60 R11: 0000000000000202 R12: 0000000000000000\nkernel: R13: 00007ffe0d24d858 R14: 000000000000000c R15: 0000000000000000\nkernel: </TASK>\nkernel: ---[ end trace 0000000000000000 ]---\n\nIt is always show up during Fedora system bootup, it seems there is\nduplication module loading in the kernel for the netfilter module, I\nwrite a patch for this message fix\nbelow patch codes is based on new relesed Linux kernel 7.0, the above\nmessage can be seen in linux 6.5 and linux 7.0, It maybe a common\nissue.\n\n res = genl_family_find_byname(name);\n\n\nThe patch mainly check is there already netfilter kmod under loading,\nif there is it will not load it again, can you check is this message a\nknown issue or not? And this patch tested on my desktop, please check\nis it reasonable to fix this issue.\n\nThanks\nBr\nAlex", "diff": "diff --git a/include/linux/kmod.h b/include/linux/kmod.h\nindex 9a07c3215..a07497cb2 100644\n--- a/include/linux/kmod.h\n+++ b/include/linux/kmod.h\n@@ -22,7 +22,7 @@ int __request_module(bool wait, const char *name, ...);\n #define request_module(mod...) __request_module(true, mod)\n #define request_module_nowait(mod...) __request_module(false, mod)\n #define try_then_request_module(x, mod...) \\\n- ((x) ?: (__request_module(true, mod), (x)))\n+ ((x) ? (x) : (__request_module(true, mod), (x)))\n #else\n static inline int request_module(const char *name, ...) { return -ENOSYS; }\n static inline int request_module_nowait(const char *name, ...) {\nreturn -ENOSYS; }\ndiff --git a/include/linux/module.h b/include/linux/module.h\nindex 14f391b18..a71cf6172 100644\n--- a/include/linux/module.h\n+++ b/include/linux/module.h\n@@ -588,6 +588,8 @@ struct module {\n #endif\n\n #ifdef CONFIG_MODULES\n+/* not reentry load module */\n+bool kmod_dup_request_exists(const char *fmt, ...);\n\n /* Get/put a kernel symbol (calls must be symmetric) */\n void *__symbol_get(const char *symbol);\ndiff --git a/kernel/module/dups.c b/kernel/module/dups.c\nindex 1d720a531..fcee60254 100644\n--- a/kernel/module/dups.c\n+++ b/kernel/module/dups.c\n@@ -116,6 +116,23 @@ static void kmod_dup_request_complete(struct\nwork_struct *work)\n queue_delayed_work(system_dfl_wq, &kmod_req->delete_work, 60 * HZ);\n }\n\n+bool kmod_dup_request_exists(const char *fmt, ...)\n+{\n+ bool existed = false;\n+ char module_name[MODULE_NAME_LEN];\n+ va_list args;\n+ va_start(args, fmt);\n+ vsnprintf(module_name, sizeof(module_name), fmt, args);\n+ va_end(args);\n+\n+ mutex_lock(&kmod_dup_mutex);\n+ existed = kmod_dup_request_lookup(module_name) != NULL;\n+ mutex_unlock(&kmod_dup_mutex);\n+\n+ return existed;\n+}\n+EXPORT_SYMBOL_GPL(kmod_dup_request_exists);\n+\n bool kmod_dup_request_exists_wait(char *module_name, bool wait, int *dup_ret)\n {\n struct kmod_dup_req *kmod_req, *new_kmod_req;\ndiff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c\nindex 4d609d5cf..9d57add89 100644\n--- a/net/netlink/af_netlink.c\n+++ b/net/netlink/af_netlink.c\n@@ -664,7 +664,8 @@ static int netlink_create(struct net *net, struct\nsocket *sock, int protocol,\n #ifdef CONFIG_MODULES\n if (!nl_table[protocol].registered) {\n netlink_unlock_table();\n- request_module(\"net-pf-%d-proto-%d\", PF_NETLINK, protocol);\n+ try_then_request_module(kmod_dup_request_exists(\"net-pf-%d-proto-%d\",\nPF_NETLINK, protocol),\n+ \"net-pf-%d-proto-%d\",\nPF_NETLINK, protocol);\n netlink_lock_table();\n }\n #endif\ndiff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c\nindex a23d4c51c..8c2c8767a 100644\n--- a/net/netlink/genetlink.c\n+++ b/net/netlink/genetlink.c\n@@ -1446,8 +1446,9 @@ static int ctrl_getfamily(struct sk_buff *skb,\nstruct genl_info *info)\n if (res == NULL) {\n genl_unlock();\n up_read(&cb_lock);\n- request_module(\"net-pf-%d-proto-%d-family-%s\",\n- PF_NETLINK, NETLINK_GENERIC, name);\n+ try_then_request_module(kmod_dup_request_exists(\"net-pf-%d-proto-%d-family-%s\",\n+ PF_NETLINK, NETLINK_GENERIC, name), \"net-pf-%d-proto-%d-family-%s\",\n+ PF_NETLINK, NETLINK_GENERIC, name);\n down_read(&cb_lock);\n genl_lock();\n", "prefixes": [] }