{"id":2226962,"url":"http://patchwork.ozlabs.org/api/patches/2226962/?format=json","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=json","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=json","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=json","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"]}