Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2213837/?format=api
{ "id": 2213837, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2213837/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20260320114041.3486273-2-kadlec@netfilter.org/", "project": { "id": 26, "url": "http://patchwork.ozlabs.org/api/1.2/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": "<20260320114041.3486273-2-kadlec@netfilter.org>", "list_archive_url": null, "date": "2026-03-20T11:40:41", "name": "[1/1] netfilter: ipset: Fix data race between add and list header in all hash types", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": true, "hash": "522c2a88b848ad3180e48026c837f6729d66450a", "submitter": { "id": 77226, "url": "http://patchwork.ozlabs.org/api/1.2/people/77226/?format=api", "name": "Jozsef Kadlecsik", "email": "kadlec@netfilter.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20260320114041.3486273-2-kadlec@netfilter.org/mbox/", "series": [ { "id": 496816, "url": "http://patchwork.ozlabs.org/api/1.2/series/496816/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/list/?series=496816", "date": "2026-03-20T11:40:41", "name": "[1/1] netfilter: ipset: Fix data race between add and list header in all hash types", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/496816/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2213837/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2213837/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <netfilter-devel+bounces-11328-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 (1024-bit key;\n unprotected) header.d=blackhole.kfki.hu header.i=@blackhole.kfki.hu\n header.a=rsa-sha256 header.s=20151130 header.b=elwtd94W;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=netfilter-devel+bounces-11328-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=blackhole.kfki.hu\n header.i=@blackhole.kfki.hu header.b=\"elwtd94W\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=148.6.0.51", "smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=netfilter.org", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=blackhole.kfki.hu" ], "Received": [ "from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fcgnr032xz1y1P\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 20 Mar 2026 22:49:04 +1100 (AEDT)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 4F3B63064CCB\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 20 Mar 2026 11:48:17 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 6EC75399376;\n\tFri, 20 Mar 2026 11:48:15 +0000 (UTC)", "from smtp-out.kfki.hu (smtp-out.kfki.hu [148.6.0.51])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 6D4273469E6\n\tfor <netfilter-devel@vger.kernel.org>; Fri, 20 Mar 2026 11:48:12 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby smtp2.kfki.hu (Postfix) with ESMTP id 4fcgcC4933z7s85Q;\n\tFri, 20 Mar 2026 12:40:43 +0100 (CET)", "from smtp2.kfki.hu ([127.0.0.1])\n by localhost (smtp2.kfki.hu [127.0.0.1]) (amavis, port 10026) with ESMTP\n id hsF2T97Y8pUa; Fri, 20 Mar 2026 12:40:41 +0100 (CET)", "from blackhole.kfki.hu (blackhole.szhk.kfki.hu [148.6.240.2])\n\tby smtp2.kfki.hu (Postfix) with ESMTP id 4fcgc94r4dz7s85N;\n\tFri, 20 Mar 2026 12:40:41 +0100 (CET)", "by blackhole.kfki.hu (Postfix, from userid 1000)\n\tid 901C7340D75; Fri, 20 Mar 2026 12:40:41 +0100 (CET)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774007295; cv=none;\n b=NZkwFGq+9TMLViegaQxKqOa+x60XWKA982avhlVHpqB8SDF29iEmusvmHvK3fQmXQ58tJqIaRM+XANx9PPTDmiwJXBUFOfTgzRGoUwPslPNNPHRQ8twwQ9BArOLx7Nzr7hGNLWNqDd62dRq7M/q2S6V17RpYmFeME3XUdLWFkYM=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774007295; c=relaxed/simple;\n\tbh=gFOJbOLdErng6m8aifMum8J1FXghQiwC4LvIAGXBTEI=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t MIME-Version;\n b=NVmLmJZSwXujnId0abeSdlpjiR9ehwpUEfFY0V6wzRGegmCdcWDaqt9VK598/wkBIn4TE57XmBcfS20g9wsGeICrDAb/fBr8ai0YGs2Py9+OgOPjW3oSEjNxz6Z7kUVsNrUUhE2RWIOK5vTH8cVKxgaaILATN2iMTo5XUy4Hj3U=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=netfilter.org;\n spf=pass smtp.mailfrom=blackhole.kfki.hu;\n dkim=pass (1024-bit key) header.d=blackhole.kfki.hu\n header.i=@blackhole.kfki.hu header.b=elwtd94W;\n arc=none smtp.client-ip=148.6.0.51", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=\n\tblackhole.kfki.hu; h=mime-version:references:in-reply-to\n\t:x-mailer:message-id:date:date:from:from:received:received\n\t:received; s=20151130; t=1774006841; x=1775821242; bh=rk/JnZa5uN\n\tE4aHsyNPMIAfg/pJB0fS/Kb1zCnyBMuwM=; b=elwtd94WJ/lT9/DliuxjYHlQUu\n\t6+IW8RN6cI5xI1LgeVh/5K4kP81Kh4oqCB4d7FxY/3Yjq2P+POLlcV19UXP8oDX2\n\txE7NXANC06g1dK8gUEAh62I0R9rVrT1dDw11sZxC8jZG4phtgU+O7GpACtLrzkia\n\tAIpX8xybXBI6zN3lk=", "X-Virus-Scanned": "Debian amavis at smtp2.kfki.hu", "From": "Jozsef Kadlecsik <kadlec@netfilter.org>", "To": "netfilter-devel@vger.kernel.org", "Cc": "Pablo Neira Ayuso <pablo@netfilter.org>", "Subject": "[PATCH 1/1] netfilter: ipset: Fix data race between add and list\n header in all hash types", "Date": "Fri, 20 Mar 2026 12:40:41 +0100", "Message-Id": "<20260320114041.3486273-2-kadlec@netfilter.org>", "X-Mailer": "git-send-email 2.39.5", "In-Reply-To": "<20260320114041.3486273-1-kadlec@netfilter.org>", "References": "<20260320114041.3486273-1-kadlec@netfilter.org>", "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", "Content-Transfer-Encoding": "quoted-printable" }, "content": "The \"ipset list -terse\" command is actually a dump operation which\nmay run parallel with \"ipset add\" commands, which can trigger an\ninternal resizing of the hash type of sets just being dumped. However,\ndumping just the header part of the set was not protected against\nunderlying resizing. Fix it by protecting the header dumping part\nas well.\n\nReported-by: syzbot+786c889f046e8b003ca6@syzkaller.appspotmail.com\nSigned-off-by: Jozsef Kadlecsik <kadlec@netfilter.org>\n---\n net/netfilter/ipset/ip_set_core.c | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)", "diff": "diff --git a/net/netfilter/ipset/ip_set_core.c b/net/netfilter/ipset/ip_set_core.c\nindex a2fe711cb5e3..2cc04da95afd 100644\n--- a/net/netfilter/ipset/ip_set_core.c\n+++ b/net/netfilter/ipset/ip_set_core.c\n@@ -1648,13 +1648,13 @@ ip_set_dump_do(struct sk_buff *skb, struct netlink_callback *cb)\n \t\t\tif (cb->args[IPSET_CB_PROTO] > IPSET_PROTOCOL_MIN &&\n \t\t\t nla_put_net16(skb, IPSET_ATTR_INDEX, htons(index)))\n \t\t\t\tgoto nla_put_failure;\n+\t\t\tif (set->variant->uref)\n+\t\t\t\tset->variant->uref(set, cb, true);\n \t\t\tret = set->variant->head(set, skb);\n \t\t\tif (ret < 0)\n \t\t\t\tgoto release_refcount;\n \t\t\tif (dump_flags & IPSET_FLAG_LIST_HEADER)\n \t\t\t\tgoto next_set;\n-\t\t\tif (set->variant->uref)\n-\t\t\t\tset->variant->uref(set, cb, true);\n \t\t\tfallthrough;\n \t\tdefault:\n \t\t\tret = set->variant->list(set, skb, cb);\n", "prefixes": [ "1/1" ] }