Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2235197/?format=api
{ "id": 2235197, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2235197/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20260508205903.10238-3-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": "<20260508205903.10238-3-kadlec@netfilter.org>", "list_archive_url": null, "date": "2026-05-08T20:58:57", "name": "[v6,2/8] netfilter: ipset: Fix data race between add and list header in all hash types", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "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/20260508205903.10238-3-kadlec@netfilter.org/mbox/", "series": [ { "id": 503447, "url": "http://patchwork.ozlabs.org/api/1.2/series/503447/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/list/?series=503447", "date": "2026-05-08T20:58:57", "name": "netfilter: ipset fixes", "version": 6, "mbox": "http://patchwork.ozlabs.org/series/503447/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2235197/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2235197/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <netfilter-devel+bounces-12508-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=SXER3OsO;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=netfilter-devel+bounces-12508-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=\"SXER3OsO\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=148.6.0.49", "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\n [IPv6:2600:3c04:e001:36c::12fc:5321])\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 4gC1p06KRZz1yMp\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 09 May 2026 07:04:24 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 36D21302FA18\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 8 May 2026 21:04:22 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 509AC423149;\n\tFri, 8 May 2026 21:04:21 +0000 (UTC)", "from smtp-out.kfki.hu (smtp-out.kfki.hu [148.6.0.49])\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 2D664351C06\n\tfor <netfilter-devel@vger.kernel.org>; Fri, 8 May 2026 21:04:19 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby smtp0.kfki.hu (Postfix) with ESMTP id 4gC1gt4xYLz3sb8s;\n\tFri, 8 May 2026 22:59:06 +0200 (CEST)", "from smtp0.kfki.hu ([127.0.0.1])\n by localhost (smtp0.kfki.hu [127.0.0.1]) (amavis, port 10026) with ESMTP\n id Un9YCcrjOTKo; Fri, 8 May 2026 22:59:04 +0200 (CEST)", "from mentat.rmki.kfki.hu (254C131D.nat.pool.telekom.hu\n [37.76.19.29])\n\t(Authenticated sender: kadlecsik.jozsef@wigner.hu)\n\tby smtp0.kfki.hu (Postfix) with ESMTPSA id 4gC1gr4zCkz3sb8r;\n\tFri, 8 May 2026 22:59:04 +0200 (CEST)", "by mentat.rmki.kfki.hu (Postfix, from userid 1000)\n\tid EBA3F141D33; Fri, 8 May 2026 22:59:03 +0200 (CEST)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1778274260; cv=none;\n b=NAJeDYGlp1SnFjQ4aJe/8izimDBxeuigO/CewqyRt4pXFP85esukR3kWCowG/XUlqccmaVDM90TZZBDHs2GNVsuPzsLor+KrU7gAUPfhFIm5BTd10B1RP7QyYWNTnVbet4i4tvClh80xDiXIdes5Gyg2r2jCUXkI6KG3FZG1n2M=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1778274260; c=relaxed/simple;\n\tbh=XICrzaBAIxlR9y5HBepOoF2WZD+0n3LpVE484qnsp3s=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t MIME-Version;\n b=vCnagc/1ZxUKk4SuxQyfWok6aqN6k2QUNiidXzx9EHqAS4l2qAvJLdqI+m5ylxoXmnKBbkDd67wG19QxhEpj8rcy31JmyVaKrW+bwUJmCEKGUus4C2KcAD/QObni8ta6Ik5ujnXqLM1kqZL2Es19Sq5z52eeSpeC0yGuRkavBGc=", "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=SXER3OsO;\n arc=none smtp.client-ip=148.6.0.49", "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=1778273944; x=1780088345; bh=RW2lQhxLAt\n\tV/0hfjWi32b0FOQWEQYFGEgsJmW1yFSnM=; b=SXER3OsO625aTa6cU2SEyPbRyP\n\thl1F3xbec44x+UaCDbxh42nplmFxUMCzyRThMn+3c63MRcPhnvuesw/eYm/t7Jzv\n\tDohgoJkXz7zsztPHjoetJf2wmz9qYB4NqOSFXauhDsYcplCS4t95HC6ScXNYkaJY\n\t43s6uzQuh+GoSVf0I=", "X-Virus-Scanned": "Debian amavis at smtp0.kfki.hu", "From": "Jozsef Kadlecsik <kadlec@netfilter.org>", "To": "netfilter-devel@vger.kernel.org", "Cc": "Pablo Neira Ayuso <pablo@netfilter.org>", "Subject": "[PATCH v6 2/8] netfilter: ipset: Fix data race between add and list\n header in all hash types", "Date": "Fri, 8 May 2026 22:58:57 +0200", "Message-Id": "<20260508205903.10238-3-kadlec@netfilter.org>", "X-Mailer": "git-send-email 2.39.5", "In-Reply-To": "<20260508205903.10238-1-kadlec@netfilter.org>", "References": "<20260508205903.10238-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", "X-deepspam": "ham 1%", "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\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 0874029cb0f2..3706b4a85a0f 100644\n--- a/net/netfilter/ipset/ip_set_core.c\n+++ b/net/netfilter/ipset/ip_set_core.c\n@@ -1649,13 +1649,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": [ "v6", "2/8" ] }