get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2226962/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "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"
    ]
}