Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2235200/?format=api
{ "id": 2235200, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2235200/?format=api", "web_url": "http://patchwork.ozlabs.org/project/netfilter-devel/patch/20260508205903.10238-9-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-9-kadlec@netfilter.org>", "list_archive_url": null, "date": "2026-05-08T20:59:03", "name": "[v6,8/8] netfilter: ipset: fix order of usage counters", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "566868f7d17ddd781455611319534f2c18a83a0b", "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-9-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/2235200/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2235200/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <netfilter-devel+bounces-12510-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=G7o1Dc11;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=netfilter-devel+bounces-12510-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=\"G7o1Dc11\"", "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 sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\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 4gC1pS0rhDz1yK7\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 09 May 2026 07:04:48 +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 94453304227A\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 856243E638D;\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 313F7361679\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 4gC1gw3s7Tz3sb9B;\n\tFri, 8 May 2026 22:59:08 +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 Gy7Be4RqH0gJ; Fri, 8 May 2026 22:59:06 +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 4gC1gs1YkRz3sb9S;\n\tFri, 8 May 2026 22:59:05 +0200 (CEST)", "by mentat.rmki.kfki.hu (Postfix, from userid 1000)\n\tid 084FA141F66; Fri, 8 May 2026 22:59:04 +0200 (CEST)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1778274261; cv=none;\n b=RI6moT4L55emQXOny4X9PS0OmVRuj+i2YiiXajfRGWC37+2MHGFvGxHdBXXI1idG+RKe/QH08EuOY4JtQvwISUfw+IcKUJxL890VOGzmHS31SDTtI3gsX5wi3WQXurY1cTvz8Smfb0OYYYjdODgtYqOtVkK6BANEdDI1UV/m/8w=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1778274261; c=relaxed/simple;\n\tbh=j9IDwMADCNHDAQRRycLHCCBmnD6CmWccaTi7ow3CRVk=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t MIME-Version;\n b=bY4II83yQgDy0VgOhuUsCzUSl2nbOkpHHmmAXFnCd1hkLTA/ufZ8qu5ARcGIJf23sSZd2mLKLfBm8zUDf4VsCnBAji38ikU+hy16qd1tAdbYlB9WU5d+foFg0xu4ro1oTn2aN313TyJPuHibkIijg5hWABGhEWR1pesLteYyB/4=", "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=G7o1Dc11;\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=1778273946; x=1780088347; bh=CQbQZUzsz8\n\t8tk+CALMJaG2u7tCysd9JcPbH5uMG7xyY=; b=G7o1Dc110QmxU8eGd4xTl47NVt\n\tL4Wsl2ilfW7j52c5KnReBjlgW+F3W2WqwnpE3vyYXvUAqzPRJ2j14CLNaFJNw/Sx\n\tZZRcwGuEmbv5FaPLLC2Xs/b9jZqQvwTPF7cuS1XHGnxr/1wg+q1spFqVNvSTca2w\n\tSzKePgev21Mlw4phY=", "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 8/8] netfilter: ipset: fix order of usage counters", "Date": "Fri, 8 May 2026 22:59:03 +0200", "Message-Id": "<20260508205903.10238-9-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": "Eulgyu Kim reported a slab-use-after-free issue when resizing\na set and gc runs in parallel. Resizing may run parallel with\nalready running gc or gc can start but notice that resizing\nstarted. The operation which finishes last must destroy the\noriginal set. The logic for the testing is: \"I was the last\nuser of the set and it was resized\". However setting the\ncounters in resizing was: \"the set will be resized and I'm\ngoing to use the set\". That created a small racing window\nat the testing phase. Fix the order in the resizing functions.\n\nReported by: Eulgyu Kim <eulgyukim@snu.ac.kr>\nSigned-off-by: Jozsef Kadlecsik <kadlec@netfilter.org>\n---\n net/netfilter/ipset/ip_set_hash_gen.h | 4 +++-\n 1 file changed, 3 insertions(+), 1 deletion(-)", "diff": "diff --git a/net/netfilter/ipset/ip_set_hash_gen.h b/net/netfilter/ipset/ip_set_hash_gen.h\nindex 71b57c731dcb..023a3d7aeba0 100644\n--- a/net/netfilter/ipset/ip_set_hash_gen.h\n+++ b/net/netfilter/ipset/ip_set_hash_gen.h\n@@ -681,8 +681,9 @@ mtype_resize(struct ip_set *set, bool retried)\n \t * between the original and resized sets.\n \t */\n \torig = ipset_dereference_bh_nfnl(h->table);\n-\tatomic_set(&orig->ref, 1);\n \tatomic_inc(&orig->uref);\n+\tsmp_mb__after_atomic();\n+\tatomic_set(&orig->ref, 1);\n \tpr_debug(\"attempt to resize set %s from %u to %u, t %p\\n\",\n \t\t set->name, orig->htable_bits, htable_bits, orig);\n \tfor (r = 0; r < ahash_numof_locks(orig->htable_bits); r++) {\n@@ -799,6 +800,7 @@ mtype_resize(struct ip_set *set, bool retried)\n cleanup:\n \trcu_read_unlock_bh();\n \tatomic_set(&orig->ref, 0);\n+\tsmp_mb__before_atomic();\n \tatomic_dec(&orig->uref);\n \tmtype_ahash_destroy(set, t, false);\n \tif (ret == -EAGAIN)\n", "prefixes": [ "v6", "8/8" ] }