Show a cover letter.

GET /api/1.2/covers/2234463/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2234463,
    "url": "http://patchwork.ozlabs.org/api/1.2/covers/2234463/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-mtd/cover/20260507-winbond-v6-18-rc1-spi-nor-swp-v5-0-93453e1a9597@bootlin.com/",
    "project": {
        "id": 3,
        "url": "http://patchwork.ozlabs.org/api/1.2/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,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260507-winbond-v6-18-rc1-spi-nor-swp-v5-0-93453e1a9597@bootlin.com>",
    "list_archive_url": null,
    "date": "2026-05-07T16:46:41",
    "name": "[v5,00/28] mtd: spi-nor: Enhance software protection",
    "submitter": {
        "id": 73368,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/73368/?format=api",
        "name": "Miquel Raynal",
        "email": "miquel.raynal@bootlin.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/linux-mtd/cover/20260507-winbond-v6-18-rc1-spi-nor-swp-v5-0-93453e1a9597@bootlin.com/mbox/",
    "series": [
        {
            "id": 503226,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/503226/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-mtd/list/?series=503226",
            "date": "2026-05-07T16:46:51",
            "name": "mtd: spi-nor: Enhance software protection",
            "version": 5,
            "mbox": "http://patchwork.ozlabs.org/series/503226/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2234463/comments/",
    "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=bKBFXfem;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=bootlin.com header.i=@bootlin.com header.a=rsa-sha256\n header.s=dkim header.b=Rqymipg9;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=none (no SPF record) smtp.mailfrom=lists.infradead.org\n (client-ip=2607:7c80:54:3::133; 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 4gBJ7y6ySmz23mQ\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 08 May 2026 02:47:25 +1000 (AEST)",
            "from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux))\n\tid 1wL1sR-00000004Mx4-2Tp7;\n\tThu, 07 May 2026 16:47:07 +0000",
            "from smtpout-03.galae.net ([185.246.85.4])\n\tby bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux))\n\tid 1wL1sL-00000004Mu5-44Kl\n\tfor linux-mtd@lists.infradead.org;\n\tThu, 07 May 2026 16:47:04 +0000",
            "from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233])\n\tby smtpout-03.galae.net (Postfix) with ESMTPS id BAB544E42C13;\n\tThu,  7 May 2026 16:46:56 +0000 (UTC)",
            "from mail.galae.net (mail.galae.net [212.83.136.155])\n\tby smtpout-01.galae.net (Postfix) with ESMTPS id 79DB2605CF;\n\tThu,  7 May 2026 16:46:56 +0000 (UTC)",
            "from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon)\n with ESMTPSA id DF68E108194A8;\n\tThu,  7 May 2026 18:46:48 +0200 (CEST)"
        ],
        "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:Cc:To:MIME-Version:Message-Id:Date:\n\tSubject: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=AN4P2skrw37pGbf+GyMbH8S+hKozh1jWpS4vLxabpnU=; b=bKBFXfemlhz9rh\n\tF9W9zYqtwqN5Wmx+hHp+AaSE9q9seQJfjtG6FIjp00253G4Z2UaZH0Aa7sh2ENfkOu5QUD9EqXR8z\n\tASGYlO4puGjqe4OK5NynrFz04h6tq96xA3IdEZus/mQdfJT2Tlhh6IrlDGBgPYwEBhl3i5bq23Rvy\n\ti8Cnde0r0isBnKYQSjDXimNOCNqKHdfRPJ21rDwCk1OABI+/0HYfAc1mNMhdCzHtuiTvxz42wr0m+\n\tMQHHG9Xqiot1gGNVng/juAe5TLEYiL8Uk2ptdqWq+8PnM9WDQQEeE7cVOMxnrPA9JXy9qw7snMAZ1\n\tBqprYtdE5J347HhsR4+g==;",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim;\n\tt=1778172415; h=from:subject:date:message-id:to:cc:mime-version:content-type:\n\t content-transfer-encoding; bh=8ZjXYHxFLpGqdP6xSDXPObLI6FpFPItAK6zPqiXuvb8=;\n\tb=Rqymipg9qz628HCteGa4XUtrSWNtK/JLDRHCulUJeqnsGCwqz+DtBoPkL05xddaHd1axHK\n\t7Z3ofX2EFRmCLZ/P+OEzbcLf026D/AI0ikfnDsfxl372I3uuXpCIV/5OoOPjVV5b4Fs/zS\n\taxK3HjQMAbutOMfY/ZYjnLOM8mHqYIHjozCwDDQEk0vWdUx5gMDDZfevNpZpvGJZfJn8zH\n\tRvaUMsTTKWpw6cjd7ONwZOI/dovK7iSNf3h9l4mZ4Abm/ZMBsVPMvcS8Y7UMxO71/vWxse\n\tHCR2x5wUbquPHTabHXhDx2eU7Y0ox7O/tcv2csBwW+v6YpvPX5voOhEYHqjQSA=="
        ],
        "From": "Miquel Raynal <miquel.raynal@bootlin.com>",
        "Subject": "[PATCH v5 00/28] mtd: spi-nor: Enhance software protection",
        "Date": "Thu, 07 May 2026 18:46:41 +0200",
        "Message-Id": "\n <20260507-winbond-v6-18-rc1-spi-nor-swp-v5-0-93453e1a9597@bootlin.com>",
        "MIME-Version": "1.0",
        "X-B4-Tracking": "v=1; b=H4sIAAAAAAAC/43NzW4CIRiF4VsxrPsZPv5x5X0YFwPDVJIWJmDQx\n sy9F02MaVxMl+9ZPOdGaigxVLLb3EgJLdaYUw/5sSH+NKTPAHHsTRhlEhEFXGJyOY3QFKCB4hH\n qHCHlAvUyg1Fy5GoSk7KSdGMuYYrXh3849j7Fes7l53HX8L7+V24IFITRzmtk1nLcu5zPXzFtf\n f4md7uxp6coUrPmse55oViYDFXI6bvHXx5Hvebx7jE/2DCIoJ117554eYLyNU90z3A+Dk4GzYz\n 56y3L8guw+TOhvAEAAA==",
        "X-Change-ID": "20251114-winbond-v6-18-rc1-spi-nor-swp-865d36f4f695",
        "To": "Pratyush Yadav <pratyush@kernel.org>, Michael Walle <mwalle@kernel.org>,\n Takahiro Kuwano <takahiro.kuwano@infineon.com>,\n Richard Weinberger <richard@nod.at>, Vignesh Raghavendra <vigneshr@ti.com>,\n Jonathan Corbet <corbet@lwn.net>, Tudor Ambarus <tudor.ambarus@linaro.org>,\n Shuah Khan <skhan@linuxfoundation.org>",
        "Cc": "Sean Anderson <sean.anderson@linux.dev>,\n Thomas Petazzoni <thomas.petazzoni@bootlin.com>,\n Steam Lin <STLin2@winbond.com>, linux-mtd@lists.infradead.org,\n linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,\n Miquel Raynal <miquel.raynal@bootlin.com>, stable@kernel.org",
        "X-Mailer": "b4 0.14.3",
        "X-Last-TLS-Session-Version": "TLSv1.3",
        "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 ",
        "X-CRM114-CacheID": "sfid-20260507_094702_292976_641A4A4B ",
        "X-CRM114-Status": "GOOD (  24.99  )",
        "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:  Hello, As recently raised on the mailing-list (link below),\n    it seems that the \"locking\" support in SPI NOR could benefit from some\n enhancements.\n    As I myself had to dig into it recently, here is a proposal.\n Content analysis details:   (-2.1 points, 5.0 required)\n  pts rule name              description\n ---- ----------------------\n --------------------------------------------------\n -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record\n -0.0 SPF_PASS               SPF: sender matches 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_VALID_AU          Message has a valid DKIM or DK signature from\n author's\n                             domain\n  0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n not necessarily valid\n -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n                             [score: 0.0000]\n -0.0 DMARC_PASS             DMARC pass policy",
        "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": "Hello,\n\nAs recently raised on the mailing-list (link below), it seems that the\n\"locking\" support in SPI NOR could benefit from some enhancements. As I\nmyself had to dig into it recently, here is a proposal.\n\nFirst issue that I see, the MEMLOCK ioctl is not behaving correctly\nin some cases, as addressed in:\n\n    mtd: spi-nor: swp: Improve locking user experience\n\nThen there is no clear explanation of the shortcuts taken by the kernel\nin terms of uAPI, so there is an attempt to list them in:\n\n    mtd: spi-nor: swp: Explain the MEMLOCK ioctl implementation behaviour\n\nPlus, Tudor also asked if we could cover locking in the testing\nprocedure, which is done in:\n\n    mtd: spi-nor: Add steps for testing locking support\n\nIn order to simplify this procedure, and because it got very helpful\nduring my testing/development, I want to propose additions to the\ndebugfs output:\n\n    mtd: spi-nor: debugfs: Add locking support TODO: make the captures again\n\nFinally, I am providing an implementation for the complement (CMP)\nfeature in order to allow finer control of the regions locked. This\nfeature is for instance available on Winbond chips:\n\n    [core] mtd: spi-nor: swp: Add support for the complement feature\n    [doc]  mtd: spi-nor: Add steps for testing locking with CMP\n    [use]  mtd: spi-nor: winbond: Add CMP locking support\n\nDisclaimer: it was much less straightforward than I initially thought to\nget the CMP feature working correctly. I tested it with as much focus as\nI could, and I am improving the test coverage for the new cases, I am\nalso providing extra test cases in the metadata of the commit (which do\nnot make sense to test for chip additions, but may be sensible show when\nmaking core additions like this one), but honestly there are so many\npossibilities, I may still be missing corner cases. I hope this will\nanyway be helpful to others!\n\nAll the other patches are misc improvements or style fixes which I faced\nand fixed during my development.\n\nLink: https://lore.kernel.org/linux-mtd/92e99a96-5582-48a5-a4f9-e9b33fcff171@linux.dev/\n\nSigned-off-by: Miquel Raynal <miquel.raynal@bootlin.com>\n---\nChanges in v5:\n- Fixed the writing of SR2 in the locking ops for devices without RDCR\n  capability.\n- Moved the ioctl comments to an existing comment as advised by\n  Pratyush.\n- Changed the documentation to use the concept of lock sector instead of\n  block because on small density devices, the two amounts are typically\n  different.\n- Renamed the debugfs output \"#blocks\" -> \"#sectors\" for the same\n  reason.\n- Added a patch to make sure the QE bit is not badly overwritten when\n  using the core's SR/CR status write helpers.\n- Link to v4: https://lore.kernel.org/r/20260403-winbond-v6-18-rc1-spi-nor-swp-v4-0-833dab5e7288@bootlin.com\n\nChanges in v4:\n- Make sure we don't try to show the (SR specific) debugfs info if the\n  chip does not support an SR based locking scheme. For this, add a new\n  helper to derive whether we are using the default ops or not.\n- Fix compilation issue on arm32, by using div_u64.\n- Link to v3: https://lore.kernel.org/r/20260317-winbond-v6-18-rc1-spi-nor-swp-v3-0-2ca9ea4e7b9b@bootlin.com\n\nChanges in v3:\n- No change at all, just rebased on top of v7.0-rc1.\n- Collected 2 R-by from M. Walle.\n- Link to v2: https://lore.kernel.org/r/20260108-winbond-v6-18-rc1-spi-nor-swp-v2-0-c462ef806130@bootlin.com\n\nChanges in v2:\n- Collect tags.\n- Add missing Fixes/Cc: stable tags.\n- Add a comment explaining why can_be_top && can_be_bottom is a specific\n  condition.\n- Fix commit logs following Michael Walle's reviews.\n- Amend the documentation following our discussion with Michael Walle as\n  well.\n- Cache the SR register for debugfs use.\n- Create a locked sector map file instead of dumping it as part of the\n  `params` file output.\n- Improved greatly the output of the map as suggested by Michael.\n- Add a patch fixing a duplicate dependency in Kconfig.\n- Add an important comment in the doc about the small 4kiB erase size\n  choice.\n- Add test runs for each and every chip for which the CMP feature is\n  added. This prove me that testing of each and every chip was needed,\n  as some of them seem to feature a broken BFPT table which does not\n  advertise a working 35h (Read CR) command.\n- Added a condition on which the CMP feature is enabled: RDCR must be\n  possible.\n- Link to v1: https://lore.kernel.org/r/20251114-winbond-v6-18-rc1-spi-nor-swp-v1-0-487bc7129931@bootlin.com\n\n---\nMiquel Raynal (28):\n      mtd: spi-nor: Drop duplicate Kconfig dependency\n      mtd: spi-nor: debugfs: Fix the flags list\n      mtd: spi-nor: Make sure the QE bit is kept enabled if useful\n      mtd: spi-nor: swp: Improve locking user experience\n      mtd: spi-nor: Improve opcodes documentation\n      mtd: spi-nor: debugfs: Align variable access with the rest of the file\n      mtd: spi-nor: debugfs: Enhance output\n      mtd: spi-nor: swp: Explain the MEMLOCK ioctl implementation behaviour\n      mtd: spi-nor: swp: Clarify a comment\n      mtd: spi-nor: swp: Use a pointer for SR instead of a single byte\n      mtd: spi-nor: swp: Create a helper that writes SR, CR and checks\n      mtd: spi-nor: swp: Rename a mask\n      mtd: spi-nor: swp: Create a TB intermediate variable\n      mtd: spi-nor: swp: Create helpers for building the SR register\n      mtd: spi-nor: swp: Simplify checking the locked/unlocked range\n      mtd: spi-nor: swp: Cosmetic changes\n      mtd: spi-nor: Create a local SR cache\n      mtd: spi-nor: debugfs: Add locking support\n      mtd: spi-nor: debugfs: Add a locked sectors map\n      mtd: spi-nor: Add steps for testing locking support\n      mtd: spi-nor: swp: Add support for the complement feature\n      mtd: spi-nor: Add steps for testing locking with CMP\n      mtd: spi-nor: winbond: Add W25H512NWxxAM CMP locking support\n      mtd: spi-nor: winbond: Add W25H01NWxxAM CMP locking support\n      mtd: spi-nor: winbond: Add W25H02NWxxAM CMP locking support\n      mtd: spi-nor: winbond: Add W25H01NWxxIQ CMP locking support\n      mtd: spi-nor: winbond: Add W25Q01NWxxIM CMP locking support\n      mtd: spi-nor: winbond: Add W25Q02NWxxIM CMP locking support\n\n Documentation/driver-api/mtd/spi-nor.rst | 169 +++++++++++++++\n drivers/mtd/spi-nor/Kconfig              |   1 -\n drivers/mtd/spi-nor/core.c               |  78 ++++++-\n drivers/mtd/spi-nor/core.h               |  25 ++-\n drivers/mtd/spi-nor/debugfs.c            |  69 +++++-\n drivers/mtd/spi-nor/swp.c                | 359 ++++++++++++++++++++++++-------\n drivers/mtd/spi-nor/winbond.c            |  41 +++-\n include/linux/mtd/spi-nor.h              |   7 +-\n 8 files changed, 656 insertions(+), 93 deletions(-)\n---\nbase-commit: 2df04c01437d44ea7cac641cb4d0c9fd1275df45\nchange-id: 20251114-winbond-v6-18-rc1-spi-nor-swp-865d36f4f695\n\nBest regards,"
}