get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2231599,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2231599/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-mtd/patch/20260430220719.77223-1-rosenp@gmail.com/",
    "project": {
        "id": 3,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/3/?format=api",
        "name": "Linux MTD development",
        "link_name": "linux-mtd",
        "list_id": "linux-mtd.lists.infradead.org",
        "list_email": "linux-mtd@lists.infradead.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null
    },
    "msgid": "<20260430220719.77223-1-rosenp@gmail.com>",
    "date": "2026-04-30T22:07:19",
    "name": "mtd: sm_ftl: allocate cis_buffer with main struct",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "c36df8fc7a746c07e15eba9b409856c20bdd4e1c",
    "submitter": {
        "id": 70304,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/70304/?format=api",
        "name": "Rosen Penev",
        "email": "rosenp@gmail.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-mtd/patch/20260430220719.77223-1-rosenp@gmail.com/mbox/",
    "series": [
        {
            "id": 502399,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/502399/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-mtd/list/?series=502399",
            "date": "2026-04-30T22:07:19",
            "name": "mtd: sm_ftl: allocate cis_buffer with main struct",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/502399/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2231599/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2231599/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "\n <linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=lists.infradead.org header.i=@lists.infradead.org\n header.a=rsa-sha256 header.s=bombadil.20210309 header.b=w7+EjVOD;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=XW+3Sjj3;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=temperror (SPF Temporary Error: DNS Timeout)\n smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:3::133;\n helo=bombadil.infradead.org;\n envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from bombadil.infradead.org (bombadil.infradead.org\n [IPv6:2607:7c80:54:3::133])\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 4g67bb4jP6z1yGq\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 08:07:59 +1000 (AEST)",
            "from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wIZXq-000000061Nj-1Bq4;\n\tThu, 30 Apr 2026 22:07:42 +0000",
            "from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wIZXn-000000061NN-0gLi\n\tfor linux-mtd@lists.infradead.org;\n\tThu, 30 Apr 2026 22:07:40 +0000",
            "by mail-pj1-x102d.google.com with SMTP id\n 98e67ed59e1d1-35d971fb6f1so1604343a91.0\n        for <linux-mtd@lists.infradead.org>;\n Thu, 30 Apr 2026 15:07:38 -0700 (PDT)",
            "from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32])\n        by smtp.gmail.com with ESMTPSA id\n 98e67ed59e1d1-364ec00ad4dsm517183a91.11.2026.04.30.15.07.36\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Thu, 30 Apr 2026 15:07:36 -0700 (PDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:Cc\n\t:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:\n\tResent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:\n\tList-Owner; bh=weXtU4iwwfAHn+5PPzJv82Qx7VoQvs7gnPMMvldkFzY=; b=w7+EjVODU24lcH\n\tw9xA9Lf2rhSbK4tpyI0AquY9boQGbR+LuWAh4n2K+RAIGyaDp1UBpJCeqsihJ4LlN4v7D9W/sgisi\n\tmTgljy++M9QjVn3QaqP6OnEeXXuZCnBDxQT+RDtzPPLBlWxMQiafOd7x948fW5dJzyWP41McMwDjV\n\tolcg46O4OUZ7FaTghLX7Ushp7hK6Eip1trxN4O6++iQloEiG1PyAzPrxlLNDKY5YRnq+iTByj4aGU\n\tlizkVeqiXp/WXyD2q6vqg0fiC09kUfYQHIVJxzW1Rtl0LzvdJ2OsvESy+BzH3rd8eDH89eYF+7/Ns\n\tZH/wMRtw3oTIUMMKjZ6w==;",
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1777586857; x=1778191657;\n darn=lists.infradead.org;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:from:to:cc:subject:date:message-id:reply-to;\n        bh=io9P2rkHvmKPxGQBn5MKYkMRkO761qnxJqz17cwJFt0=;\n        b=XW+3Sjj3Mi5JGnbkasHmf3l33ZIJ7Sm7CgDSrNdlHZ+mD/WCP/wIE9kTqvl+GITgWE\n         Xf+ke49C49l8C2E85txdjV0AGeyVWWWSZ+lFuOjQvQJ22ZL9U0RrjOoun0En5bQPY/ww\n         4QcTIJNd+FBBeYoJe3vCtCjMD1/zyuPna25t7IHPIRiCS3UeJmrdLbJtWRUgaz5ZlxzF\n         WVhQg1ESVT/sykQBXr/8xhbUa/v3ZCEzEt6yPQV9JJe4HNvGreyJVpT7JlBAwJM0il0x\n         +FVyWpN6Snn0UzKwM/LGvCb6eHgU0hrgShEqZAQolEjQUhkusxj89wot60G3y5WbJJnm\n         64dg=="
        ],
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1777586857; x=1778191657;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=io9P2rkHvmKPxGQBn5MKYkMRkO761qnxJqz17cwJFt0=;\n        b=IGSfV5XjA5rPWqz1ch2Y8pynfcwBrV9w8CZ7DPpjpaDj6zsIYEvPwINU0cdXdc/nI0\n         xohkxK3Sf4/wRIpjkWAEct/gCwttnCFucg5Kvw96Cc4vpHVRoRInSNu/rU0tn3KYAwW3\n         fk3ZUxFNjToO7vKkaDpvAOTRydaAwnPp6jsCTQcPM24vtYp+Ke8cPblZFztJC8+hiX0Q\n         qRuMjWhhtG7LRzdU2vUbG92KduiL2cH3O8Sa0UYfoIUfUR0eIpZsizUFolmm3/evjA7z\n         /zaomtKCWTblO6dMD4MCzvAvjs5EqPsqNzr6TyZr+hdFP2pmlJa5A1yqcH2ry3uOrMrC\n         yH3g==",
        "X-Gm-Message-State": "AOJu0YyNxgFwCmhl8OHP4ltwhpJ84I24MQF9S2mphmVvuLXsIYvRY5Oi\n\tC93ygs1Bwifgkgq4X56FnDP79CHS3y/YinhxxgzFfOQY3Na4riRnsun1yPXmzykZ",
        "X-Gm-Gg": "AeBDietz2bwCOkUuN/Qe1YL/7FrDKH5gciZ7Agl1SDpBZ8897X0qd8KHFL49eUGcAOJ\n\tBdA+l38IFs0TzryOFomYzZL8MIzxA4s9HdTNPg4TC5fo7l/YYwosEMxVr2P4AcPrZr4jltCq4kj\n\tdefvxsxkkK9OzRk6XOMAxpadAjNthWB4jfoR3+eC70eEWjkwbTCh6u/J1e8jo9GlcC4sIIRF5Pt\n\tcGtHcVlxuXpJ44I2c4UrG1XpwI84hF9S5rq4cP5rAeJUscg12Gq+UTZPUIi20bJcfLoqNUSflLM\n\tYf3Lu7XPVq+HAKwGUsVo1rmn0cpKsAutTNVnBc+9BLIgm0PKk+XrUXAPFEGqOw7lj/wMnC2eZUl\n\ts4eu3WxF5PJQwFMDl5/hnaoQ6Eg1EjzrNkWULgv4h8nwvAZ4dyorqXkS9UFbDWxFbKDO0VB9cJL\n\tKpYAB05oT86pJHILuj4isTn9MoDDpyOAwyPa3p5MQawUowUkzlw2am2APxP0DKNIa1q9fBH4pG2\n\tUFnUB++87Op0iPY7/BWzsEhF0droKiJtmfntgtc61HjottuTgeiFzOS",
        "X-Received": "by 2002:a17:90b:4a51:b0:35f:ba8e:150d with SMTP id\n 98e67ed59e1d1-364c312dcc8mr4771553a91.14.1777586857335;\n        Thu, 30 Apr 2026 15:07:37 -0700 (PDT)",
        "From": "Rosen Penev <rosenp@gmail.com>",
        "To": "linux-mtd@lists.infradead.org",
        "Cc": "Miquel Raynal <miquel.raynal@bootlin.com>,\n\tRichard Weinberger <richard@nod.at>,\n\tVignesh Raghavendra <vigneshr@ti.com>,\n\tlinux-kernel@vger.kernel.org (open list)",
        "Subject": "[PATCH] mtd: sm_ftl: allocate cis_buffer with main struct",
        "Date": "Thu, 30 Apr 2026 15:07:19 -0700",
        "Message-ID": "<20260430220719.77223-1-rosenp@gmail.com>",
        "X-Mailer": "git-send-email 2.54.0",
        "MIME-Version": "1.0",
        "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ",
        "X-CRM114-CacheID": "sfid-20260430_150739_228024_DEBBA5F0 ",
        "X-CRM114-Status": "GOOD (  14.21  )",
        "X-Spam-Score": "-2.1 (--)",
        "X-Spam-Report": "Spam detection software,\n running on the system \"bombadil.infradead.org\",\n has NOT identified this incoming email as spam.  The original\n message has been attached to this so you can view it or label\n similar future email.  If you have any questions, see\n the administrator of that system for details.\n Content preview:  Use a flexible array member and kzalloc_flex() to do so.\n Simplifies\n    memory allocation slightly. Signed-off-by: Rosen Penev ---\n drivers/mtd/sm_ftl.c\n    | 30 +++++++++++ drivers/mtd/sm_ftl.h | 2 +- 2 files changed,\n 12 insertions(+),\n    20 deletions(-)\n Content analysis details:   (-2.1 points, 5.0 required)\n  pts rule name              description\n ---- ----------------------\n --------------------------------------------------\n -0.0 SPF_PASS               SPF: sender matches SPF record\n  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record\n -0.1 DKIM_VALID_EF          Message has a valid DKIM or DK signature from\n                             envelope-from domain\n -0.1 DKIM_VALID             Message has at least one valid DKIM or DK\n signature\n  0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n not necessarily valid\n -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from\n author's\n                             domain\n -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n                             [score: 0.0000]\n -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/, no\n                             trust\n                             [2607:f8b0:4864:20:0:0:0:102d listed in]\n                             [list.dnswl.org]\n  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail\n provider\n                             [rosenp(at)gmail.com]",
        "X-BeenThere": "linux-mtd@lists.infradead.org",
        "X-Mailman-Version": "2.1.34",
        "Precedence": "list",
        "List-Id": "Linux MTD discussion mailing list <linux-mtd.lists.infradead.org>",
        "List-Unsubscribe": "<http://lists.infradead.org/mailman/options/linux-mtd>,\n <mailto:linux-mtd-request@lists.infradead.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.infradead.org/pipermail/linux-mtd/>",
        "List-Post": "<mailto:linux-mtd@lists.infradead.org>",
        "List-Help": "<mailto:linux-mtd-request@lists.infradead.org?subject=help>",
        "List-Subscribe": "<http://lists.infradead.org/mailman/listinfo/linux-mtd>,\n <mailto:linux-mtd-request@lists.infradead.org?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Sender": "\"linux-mtd\" <linux-mtd-bounces@lists.infradead.org>",
        "Errors-To": "linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"
    },
    "content": "Use a flexible array member and kzalloc_flex() to do so. Simplifies\nmemory allocation slightly.\n\nSigned-off-by: Rosen Penev <rosenp@gmail.com>\n---\n drivers/mtd/sm_ftl.c | 30 +++++++++++-------------------\n drivers/mtd/sm_ftl.h |  2 +-\n 2 files changed, 12 insertions(+), 20 deletions(-)",
    "diff": "diff --git a/drivers/mtd/sm_ftl.c b/drivers/mtd/sm_ftl.c\nindex c8032755f9a4..fb0f97fb94f0 100644\n--- a/drivers/mtd/sm_ftl.c\n+++ b/drivers/mtd/sm_ftl.c\n@@ -1133,7 +1133,7 @@ static void sm_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd)\n \tstruct sm_ftl *ftl;\n \n \t/* Allocate & initialize our private structure */\n-\tftl = kzalloc_obj(struct sm_ftl);\n+\tftl = kzalloc_flex(*ftl, cis_buffer, SM_SECTOR_SIZE);\n \tif (!ftl)\n \t\tgoto error1;\n \n@@ -1145,25 +1145,20 @@ static void sm_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd)\n \t/* Read media information */\n \tif (sm_get_media_info(ftl, mtd)) {\n \t\tdbg(\"found unsupported mtd device, aborting\");\n-\t\tgoto error2;\n+\t\tgoto error1;\n \t}\n \n \n-\t/* Allocate temporary CIS buffer for read retry support */\n-\tftl->cis_buffer = kzalloc(SM_SECTOR_SIZE, GFP_KERNEL);\n-\tif (!ftl->cis_buffer)\n-\t\tgoto error2;\n-\n \t/* Allocate zone array, it will be initialized on demand */\n \tftl->zones = kzalloc_objs(struct ftl_zone, ftl->zone_count);\n \tif (!ftl->zones)\n-\t\tgoto error3;\n+\t\tgoto error2;\n \n \t/* Allocate the cache*/\n \tftl->cache_data = kzalloc(ftl->block_size, GFP_KERNEL);\n \n \tif (!ftl->cache_data)\n-\t\tgoto error4;\n+\t\tgoto error3;\n \n \tsm_cache_init(ftl);\n \n@@ -1171,7 +1166,7 @@ static void sm_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd)\n \t/* Allocate upper layer structure and initialize it */\n \ttrans = kzalloc_obj(struct mtd_blktrans_dev);\n \tif (!trans)\n-\t\tgoto error5;\n+\t\tgoto error4;\n \n \tftl->trans = trans;\n \ttrans->priv = ftl;\n@@ -1184,12 +1179,12 @@ static void sm_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd)\n \n \tif (sm_find_cis(ftl)) {\n \t\tdbg(\"CIS not found on mtd device, aborting\");\n-\t\tgoto error6;\n+\t\tgoto error5;\n \t}\n \n \tftl->disk_attributes = sm_create_sysfs_attributes(ftl);\n \tif (!ftl->disk_attributes)\n-\t\tgoto error6;\n+\t\tgoto error5;\n \ttrans->disk_attributes = ftl->disk_attributes;\n \n \tsm_printk(\"Found %d MiB xD/SmartMedia FTL on mtd%d\",\n@@ -1206,17 +1201,15 @@ static void sm_add_mtd(struct mtd_blktrans_ops *tr, struct mtd_info *mtd)\n \t/* Register device*/\n \tif (add_mtd_blktrans_dev(trans)) {\n \t\tdbg(\"error in mtdblktrans layer\");\n-\t\tgoto error6;\n+\t\tgoto error5;\n \t}\n \treturn;\n-error6:\n-\tkfree(trans);\n error5:\n-\tkfree(ftl->cache_data);\n+\tkfree(trans);\n error4:\n-\tkfree(ftl->zones);\n+\tkfree(ftl->cache_data);\n error3:\n-\tkfree(ftl->cis_buffer);\n+\tkfree(ftl->zones);\n error2:\n \tkfree(ftl);\n error1:\n@@ -1242,7 +1235,6 @@ static void sm_remove_dev(struct mtd_blktrans_dev *dev)\n \t}\n \n \tsm_delete_sysfs_attributes(ftl);\n-\tkfree(ftl->cis_buffer);\n \tkfree(ftl->zones);\n \tkfree(ftl->cache_data);\n \tkfree(ftl);\ndiff --git a/drivers/mtd/sm_ftl.h b/drivers/mtd/sm_ftl.h\nindex 6aed8b60de16..1a1a54ce836a 100644\n--- a/drivers/mtd/sm_ftl.h\n+++ b/drivers/mtd/sm_ftl.h\n@@ -39,7 +39,6 @@ struct sm_ftl {\n \tint cis_block;\t\t\t/* CIS block location */\n \tint cis_boffset;\t\t/* CIS offset in the block */\n \tint cis_page_offset;\t\t/* CIS offset in the page */\n-\tvoid *cis_buffer;\t\t/* tmp buffer for cis reads */\n \n \t/* Cache */\n \tint cache_block;\t\t/* block number of cached block */\n@@ -56,6 +55,7 @@ struct sm_ftl {\n \tint cylinders;\n \n \tstruct attribute_group *disk_attributes;\n+\tu8 cis_buffer[];\t\t/* tmp buffer for cis reads */\n };\n \n struct chs_entry {\n",
    "prefixes": []
}