Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2226962/?format=api
{ "id": 2226962, "url": "http://patchwork.ozlabs.org/api/patches/2226962/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-ext4/patch/177689989576.3821326.18441817831051181225.stgit@frogsfrogsfrogs/", "project": { "id": 8, "url": "http://patchwork.ozlabs.org/api/projects/8/?format=api", "name": "Linux ext4 filesystem development", "link_name": "linux-ext4", "list_id": "linux-ext4.vger.kernel.org", "list_email": "linux-ext4@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<177689989576.3821326.18441817831051181225.stgit@frogsfrogsfrogs>", "list_archive_url": null, "date": "2026-04-22T23:24:02", "name": "[02/10] libext2fs: fix checking for valid fds in mmp.c", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "31ef4ce6b681207c148d3cc7e824ff4cd948483b", "submitter": { "id": 77032, "url": "http://patchwork.ozlabs.org/api/people/77032/?format=api", "name": "Darrick J. Wong", "email": "djwong@kernel.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-ext4/patch/177689989576.3821326.18441817831051181225.stgit@frogsfrogsfrogs/mbox/", "series": [ { "id": 501127, "url": "http://patchwork.ozlabs.org/api/series/501127/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-ext4/list/?series=501127", "date": "2026-04-22T23:23:47", "name": "[01/10] libext2fs: make it possible to extract the fd from an IO manager", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/501127/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2226962/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2226962/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <SRS0=vcYh=CV=vger.kernel.org=linux-ext4+bounces-16006-patchwork-incoming=ozlabs.org@ozlabs.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-ext4@vger.kernel.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "patchwork-incoming@ozlabs.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=bfLr7CLG;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=vcyh=cv=vger.kernel.org=linux-ext4+bounces-16006-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)", "gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=172.234.253.10 arc.chain=subspace.kernel.org", "gandalf.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org", "gandalf.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=bfLr7CLG;\n\tdkim-atps=neutral", "gandalf.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=linux-ext4+bounces-16006-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"bfLr7CLG\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201" ], "Received": [ "from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\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 4g1FjQ2wn9z1yDD\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 09:26:34 +1000 (AEST)", "from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4g1FjQ2Qgjz4wHx\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 09:26:34 +1000 (AEST)", "by gandalf.ozlabs.org (Postfix)\n\tid 4g1FjQ2Ls7z4wKP; Thu, 23 Apr 2026 09:26:34 +1000 (AEST)", "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)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4g1FjL5g4kz4wHx\n\tfor <patchwork-incoming@ozlabs.org>; Thu, 23 Apr 2026 09:26: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 A955D30530FC\n\tfor <patchwork-incoming@ozlabs.org>; Wed, 22 Apr 2026 23:24:05 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id EA80F37B017;\n\tWed, 22 Apr 2026 23:24:04 +0000 (UTC)", "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\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 AC5AA34F48E;\n\tWed, 22 Apr 2026 23:24:04 +0000 (UTC)", "by smtp.kernel.org (Postfix) with ESMTPSA id 372E0C2BCAF;\n\tWed, 22 Apr 2026 23:24:04 +0000 (UTC)" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1776900394; cv=pass;\n\tb=mQuP0fbavW8Jdx+hy75KMkuMIMH3pElc2gn3/6MDHov0BapFF/nz8dSJ58rH7Ta4tPiCssOL/epPipdm836bKyXsgl3st0vX6t119RtXozL28mcuGKpYLtGId+v88k2c5Ow37DUqYo3mUIuGWu1dCOZ44Zm8FH//5OENNBwRP0FuTyOMUsVgwWIRvlT/1M7/0Mr8h5EaAJNleWea9iS0ww2HNKr5f5G2nhsY162rrhjCLvLfhu2jgo6qinGaLKBkW9GefZd11P7llFc5Y82dv4ZcyUH3Zx9zOQMyduTuBsC/7mF0OPS+gHmE+qrcDK6R9swOxJS1oj3X7bCirIKInw==", "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776900244; cv=none;\n b=ZoYwH1mRD33gK4yb/bzKry3T+g/tzQdIvt8hb9deXaP6BVwN/tl9UxX8cV6yosOi4KulJh7Nt4BqXC5wXxCE8feHKGJw0HgXgsx61NE3dM2WC0s29JCcFnbTNk6pemLX09wH+SMwKsw7KHtL64y33IMapUVjtQmht+jvnOMkL+g=" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1776900394; c=relaxed/relaxed;\n\tbh=ei8fXwKS/FfEuvT/CBqTAr8M+l20HGFBWwVHAdGxDrk=;\n\th=Date:Subject:From:To:Cc:Message-ID:In-Reply-To:References:\n\t MIME-Version:Content-Type;\n b=Xypa3NNaoN3mzO/uj2CIo6HKBLE+Js0Ht378BsGJliVM1MscvR+D3dkQQmrZ2Ob/lf5CM6USfJtvir5/k217gdWZw56mI1e3XLPLyk8VywhL8tyIs7QW0vpj4OFPOqeh4I9oKVxz36LtoVBWR1FHPH4/fK05+APgJ1XxEzUhQ+wZVz7RUF7CjSJmn2o7rcKg+niP+rnI1iycjt7BwEAqFzarqghUZ6687HZ4SL7Q39RwNbRd7k/ZfR3R123szYTJYRdqc/qZ5GsWCSiDP9qkm0tKTT4TzgiVFi207JNihEvDkvkhMGMz/jzeuxEqmRHy2ttrRf3cMjLeJVD2Yc0lAQ==", "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776900244; c=relaxed/simple;\n\tbh=JYxdgXAAk37h6iFb0YjdjLOKoYVuZupQIUbjtX6RT2Y=;\n\th=Date:Subject:From:To:Cc:Message-ID:In-Reply-To:References:\n\t MIME-Version:Content-Type;\n b=M+rcRVFhjmCIJgv+Ew0o32Ecym/EKo/gNfHLf/CqsYi53YReeJMRDFnqceaAtM85e4zozjasXqrXWi8UGyuqWqGjZWBLIZ5+TGzjq448kYDRQGabb18+EAOKNVUXgs5YvuHNoY45qASqrTT1jJhdqc7+lQk0gzxcyyo3bVgzqPQ=" ], "ARC-Authentication-Results": [ "i=2; gandalf.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org;\n dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=bfLr7CLG; dkim-atps=neutral;\n spf=pass (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-ext4+bounces-16006-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org", "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=bfLr7CLG; arc=none smtp.client-ip=10.30.226.201" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1776900244;\n\tbh=JYxdgXAAk37h6iFb0YjdjLOKoYVuZupQIUbjtX6RT2Y=;\n\th=Date:Subject:From:To:Cc:In-Reply-To:References:From;\n\tb=bfLr7CLGEfIcHikXZAzsKG6z4WWvgC8JDrnnc7Ti13SXy4rAWAT8PLcqKnkkRbS9f\n\t AGPARgnRGB7XF02H7ApdkSnnW2fT+L8Qf3rWnyede7ieUBeN+CDj85HcP8Ge6IQrvv\n\t YpBwnOLY2o0csWID5QI8Oa5t8W7wdXp4qS4VD50BzpLc4wPOG/yTGjqcnYwwJn8+ae\n\t 5wUOxkNiOz+0RXBK98NUrid9bXSBdTN0v6jPOXmPrwYEAk10Qhm38MR8pW0adk0RC5\n\t /30c4CTICCb5QGhIITbhr08AsNSAJYqSnxv5NDb2jt5OSFsQ9cOSat/BwpriUeL+3W\n\t 6IXWKlL5vBj1A==", "Date": "Wed, 22 Apr 2026 16:24:02 -0700", "Subject": "[PATCH 02/10] libext2fs: fix checking for valid fds in mmp.c", "From": "\"Darrick J. Wong\" <djwong@kernel.org>", "To": "tytso@mit.edu", "Cc": "linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org,\n fuse-devel@lists.linux.dev, linux-ext4@vger.kernel.org, neal@gompa.dev,\n joannelkoong@gmail.com, miklos@szeredi.hu, bernd@bsbernd.com", "Message-ID": "<177689989576.3821326.18441817831051181225.stgit@frogsfrogsfrogs>", "In-Reply-To": "<177689989498.3821326.15497525132012299039.stgit@frogsfrogsfrogs>", "References": "<177689989498.3821326.15497525132012299039.stgit@frogsfrogsfrogs>", "Precedence": "bulk", "X-Mailing-List": "linux-ext4@vger.kernel.org", "List-Id": "<linux-ext4.vger.kernel.org>", "List-Subscribe": "<mailto:linux-ext4+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-ext4+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "X-Spam-Status": "No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_PASS,\n\tMAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=disabled\n\tversion=4.0.1", "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org" }, "content": "From: Darrick J. Wong <djwong@kernel.org>\n\nFile descriptors are non-negative numbers, which means that 0 is a valid\nfd. Fix the code to be consistent with Unix behaviors.\n\nCc: <linux-ext4@vger.kernel.org> # v1.42\nFixes: 0f5eba7501f467 (\"ext2fs: add multi-mount protection (INCOMPAT_MMP)\")\nFixes: 76a6c8788c79e4 (\"mmp: do not use O_DIRECT when working with regular file\")\nSigned-off-by: \"Darrick J. Wong\" <djwong@kernel.org>\n---\n lib/ext2fs/mmp.c | 6 +++---\n lib/ext2fs/openfs.c | 1 +\n 2 files changed, 4 insertions(+), 3 deletions(-)", "diff": "diff --git a/lib/ext2fs/mmp.c b/lib/ext2fs/mmp.c\nindex e2823732e2b6a2..cb15a18fce5547 100644\n--- a/lib/ext2fs/mmp.c\n+++ b/lib/ext2fs/mmp.c\n@@ -59,11 +59,11 @@ errcode_t ext2fs_mmp_read(ext2_filsys fs, blk64_t mmp_blk, void *buf)\n \t\treturn EXT2_ET_MMP_BAD_BLOCK;\n \n \t/* ext2fs_open() reserves fd0,1,2 to avoid stdio collision, so checking\n-\t * mmp_fd <= 0 is OK to validate that the fd is valid. This opens its\n+\t * mmp_fd < 0 is OK to validate that the fd is valid. This opens its\n \t * own fd to read the MMP block to ensure that it is using O_DIRECT,\n \t * regardless of how the io_manager is doing reads, to avoid caching of\n \t * the MMP block by the io_manager or the VM. It needs to be fresh. */\n-\tif (fs->mmp_fd <= 0) {\n+\tif (fs->mmp_fd < 0) {\n \t\tstruct stat st;\n \t\tint flags = O_RDONLY | O_DIRECT;\n \n@@ -427,7 +427,7 @@ errcode_t ext2fs_mmp_stop(ext2_filsys fs)\n \tretval = ext2fs_mmp_write(fs, fs->super->s_mmp_block, fs->mmp_cmp);\n \n mmp_error:\n-\tif (fs->mmp_fd > 0) {\n+\tif (fs->mmp_fd >= 0) {\n \t\tclose(fs->mmp_fd);\n \t\tfs->mmp_fd = -1;\n \t}\ndiff --git a/lib/ext2fs/openfs.c b/lib/ext2fs/openfs.c\nindex 2b8e0e753c46e8..41359d15740881 100644\n--- a/lib/ext2fs/openfs.c\n+++ b/lib/ext2fs/openfs.c\n@@ -148,6 +148,7 @@ errcode_t ext2fs_open2(const char *name, const char *io_options,\n \t/* don't overwrite sb backups unless flag is explicitly cleared */\n \tfs->flags |= EXT2_FLAG_MASTER_SB_ONLY;\n \tfs->umask = 022;\n+\tfs->mmp_fd = -1;\n \n \ttime_env = ext2fs_safe_getenv(\"SOURCE_DATE_EPOCH\");\n \tif (time_env) {\n", "prefixes": [ "02/10" ] }