Show a cover letter.

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

{
    "id": 2195530,
    "url": "http://patchwork.ozlabs.org/api/covers/2195530/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-um/cover/20260211103141.3215197-1-rppt@kernel.org/",
    "project": {
        "id": 60,
        "url": "http://patchwork.ozlabs.org/api/projects/60/?format=api",
        "name": "User-mode Linux Development",
        "link_name": "linux-um",
        "list_id": "linux-um.lists.infradead.org",
        "list_email": "linux-um@lists.infradead.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260211103141.3215197-1-rppt@kernel.org>",
    "list_archive_url": null,
    "date": "2026-02-11T10:31:37",
    "name": "[v3,0/4] arch, mm: consolidate empty_zero_page",
    "submitter": {
        "id": 77733,
        "url": "http://patchwork.ozlabs.org/api/people/77733/?format=api",
        "name": "Mike Rapoport",
        "email": "rppt@kernel.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/linux-um/cover/20260211103141.3215197-1-rppt@kernel.org/mbox/",
    "series": [
        {
            "id": 491814,
            "url": "http://patchwork.ozlabs.org/api/series/491814/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-um/list/?series=491814",
            "date": "2026-02-11T10:31:37",
            "name": "arch, mm: consolidate empty_zero_page",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/491814/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2195530/comments/",
    "headers": {
        "Return-Path": "\n <linux-um-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=Gl4CZkvn;\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=PV/jXKpF;\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-um-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 4f9vr51Tysz1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 11 Feb 2026 21:32:05 +1100 (AEDT)",
            "from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1vq7Vr-00000000VQq-03sX;\n\tWed, 11 Feb 2026 10:32:03 +0000",
            "from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1vq7Vn-00000000VQ4-2F45;\n\tWed, 11 Feb 2026 10:32:00 +0000",
            "from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby sea.source.kernel.org (Postfix) with ESMTP id 80DAE43D75;\n\tWed, 11 Feb 2026 10:31:58 +0000 (UTC)",
            "by smtp.kernel.org (Postfix) with ESMTPSA id D364AC19421;\n\tWed, 11 Feb 2026 10:31:46 +0000 (UTC)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help\n\t:List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding:\n\tMIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type:\n\tContent-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:\n\tResent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner;\n\tbh=icF2+PwVaSY7S9HGXldpzB+lF1cDxRtpf0+cMzX32GE=; b=Gl4CZkvnD/dhi0bhBeyi9D42R3\n\t6F7m09xTAtGwVdQ/ouKPSsKz1Ptulkk0iujOFW8qHP7moepnGkWDlBnNz6T+qHkxvr24/3ThMMgW7\n\tDPIAglW7yP+Tgccp+pgztpjT49DNOim6u4azNFl8shwIA8m/G+zHsjEEocRFgOh1snjcJO/6cPVxw\n\tJoD75jnqVT9UOJo+TLQcUPiFTuDrnfwK7CSWZ4XE9ePiE8XnHdUaW3V6oEIKRlES7hxKAkz+UnIQO\n\tg5jR8rvZewe4eKPMj6Rwp6qrdJ3YvbG6h+Zjex/BSIXDyL02+PTtLbs2AD6H65z6tvf06kf9SkCm8\n\tnQv5kVXQ==;",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1770805918;\n\tbh=BzPjss/o79E8vniYif3vhWCcMbpnh+bfpm0PwJifv0s=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=PV/jXKpFwT8Fev+iuIdzwDQGCp1d9tQZwQOxpL0LXiHzOkF4CIyDk3VR8KHKDtHPW\n\t 95broCDwDG6FDa0dsrh08bvjDtJvEVi+8U3bdfQGt0/3GFehuGtNXEfr5rcfZqIyHe\n\t 4Gas0OFpDJ0b6cdfz9zvpAFeNg4A3xRSvqWBEmxAoCac9/v12nM5/tozP4vCWoIt3t\n\t WM1Df8XDDZbZ4yrkjS35IzQoTegVuVT5cx/AIkgGipbvq47QF+8iCUbZqSYaNcR9kd\n\t /L0GUWtHeBli4O4MUGnMTsxwsezchH/soEQNYXQrx3YIGnwJ/R226FAA4/HIBChyBn\n\t bpfII91wxqjeA=="
        ],
        "From": "Mike Rapoport <rppt@kernel.org>",
        "To": "Andrew Morton <akpm@linux-foundation.org>",
        "Cc": "Andreas Larsson <andreas@gaisler.com>,\n\tBorislav Petkov <bp@alien8.de>,\n\tBrian Cain <bcain@kernel.org>,\n\tCatalin Marinas <catalin.marinas@arm.com>,\n\t\"Christophe Leroy (CS GROUP)\" <chleroy@kernel.org>,\n\t\"David S. Miller\" <davem@davemloft.net>,\n\tDave Hansen <dave.hansen@linux.intel.com>,\n\tDavid Hildenbrand <david@kernel.org>,\n\tDinh Nguyen <dinguyen@kernel.org>,\n\tGeert Uytterhoeven <geert@linux-m68k.org>,\n\tGuo Ren <guoren@kernel.org>,\n\tHelge Deller <deller@gmx.de>,\n\tHuacai Chen <chenhuacai@kernel.org>,\n\tIngo Molnar <mingo@redhat.com>,\n\tJohannes Berg <johannes@sipsolutions.net>,\n\tJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,\n\t\"Liam R. Howlett\" <Liam.Howlett@oracle.com>,\n\tLorenzo Stoakes <lorenzo.stoakes@oracle.com>,\n\tMadhavan Srinivasan <maddy@linux.ibm.com>,\n\tMagnus Lindholm <linmag7@gmail.com>,\n\tMatt Turner <mattst88@gmail.com>,\n\tMax Filippov <jcmvbkbc@gmail.com>,\n\tMichael Ellerman <mpe@ellerman.id.au>,\n\tMichal Hocko <mhocko@suse.com>,\n\tMichal Simek <monstr@monstr.eu>,\n\tMike Rapoport <rppt@kernel.org>,\n\tPalmer Dabbelt <palmer@dabbelt.com>,\n\tRichard Weinberger <richard@nod.at>,\n\tRussell King <linux@armlinux.org.uk>,\n\tStafford Horne <shorne@gmail.com>,\n\tSuren Baghdasaryan <surenb@google.com>,\n\tThomas Gleixner <tglx@kernel.org>,\n\tVineet Gupta <vgupta@kernel.org>,\n\tVlastimil Babka <vbabka@suse.cz>,\n\tWill Deacon <will@kernel.org>,\n\tlinux-alpha@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tlinux-snps-arc@lists.infradead.org,\n\tlinux-arm-kernel@lists.infradead.org,\n\tlinux-csky@vger.kernel.org,\n\tlinux-hexagon@vger.kernel.org,\n\tloongarch@lists.linux.dev,\n\tlinux-m68k@lists.linux-m68k.org,\n\tlinux-openrisc@vger.kernel.org,\n\tlinux-parisc@vger.kernel.org,\n\tlinuxppc-dev@lists.ozlabs.org,\n\tlinux-riscv@lists.infradead.org,\n\tlinux-sh@vger.kernel.org,\n\tsparclinux@vger.kernel.org,\n\tlinux-um@lists.infradead.org,\n\tlinux-mm@kvack.org,\n\tx86@kernel.org",
        "Subject": "[PATCH v3 0/4] arch, mm: consolidate empty_zero_page",
        "Date": "Wed, 11 Feb 2026 12:31:37 +0200",
        "Message-ID": "<20260211103141.3215197-1-rppt@kernel.org>",
        "X-Mailer": "git-send-email 2.51.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ",
        "X-CRM114-CacheID": "sfid-20260211_023159_621507_705EC5AF ",
        "X-CRM114-Status": "GOOD (  13.78  )",
        "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:  From: \"Mike Rapoport (Microsoft)\" <rppt@kernel.org> Hi,\n These\n    patches cleanup handling of ZERO_PAGE() and zero_pfn.\n Content analysis details:   (-2.1 points, 5.0 required)\n  pts rule name              description\n ---- ----------------------\n --------------------------------------------------\n  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record\n -0.0 SPF_PASS               SPF: sender matches SPF record\n -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from\n author's\n                             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_EF          Message has a valid DKIM or DK signature from\n                             envelope-from domain\n -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n                             [score: 0.0000]\n -0.0 DKIMWL_WL_HIGH         DKIMwl.org - High trust sender",
        "X-BeenThere": "linux-um@lists.infradead.org",
        "X-Mailman-Version": "2.1.34",
        "Precedence": "list",
        "List-Id": "<linux-um.lists.infradead.org>",
        "List-Unsubscribe": "<http://lists.infradead.org/mailman/options/linux-um>,\n <mailto:linux-um-request@lists.infradead.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.infradead.org/pipermail/linux-um/>",
        "List-Post": "<mailto:linux-um@lists.infradead.org>",
        "List-Help": "<mailto:linux-um-request@lists.infradead.org?subject=help>",
        "List-Subscribe": "<http://lists.infradead.org/mailman/listinfo/linux-um>,\n <mailto:linux-um-request@lists.infradead.org?subject=subscribe>",
        "Sender": "\"linux-um\" <linux-um-bounces@lists.infradead.org>",
        "Errors-To": "linux-um-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"
    },
    "content": "From: \"Mike Rapoport (Microsoft)\" <rppt@kernel.org>\n\nHi,\n\nThese patches cleanup handling of ZERO_PAGE() and zero_pfn.\n\nv3 changes:\n* move zero_page_pfn extern declaration back inside the helpers\n* add tags, thanks all!\n\nv2: https://lore.kernel.org/all/20260209144058.2092871-1-rppt@kernel.org\n* add patches that cleanup zero_pfn code a bit (patches 1,2)\n* add a patch that caches struct page for empty_zero_page (patch 4)\n* use uint8_t instead of unsigned long for empty_zero_page\n* fix sparc64 changes in patch 3\n\nv1: https://lore.kernel.org/all/20260124095628.668870-1-rppt@kernel.org\n\nMike Rapoport (Microsoft) (4):\n  mm: don't special case !MMU for is_zero_pfn() and my_zero_pfn()\n  mm: rename my_zero_pfn() to zero_pfn()\n  arch, mm: consolidate empty_zero_page\n  mm: cache struct page for empty_zero_page and return it from ZERO_PAGE()\n\n arch/alpha/include/asm/pgtable.h          |  6 ---\n arch/arc/include/asm/pgtable.h            |  3 --\n arch/arc/mm/init.c                        |  2 -\n arch/arm/include/asm/pgtable.h            |  9 -----\n arch/arm/mm/mmu.c                         |  7 ----\n arch/arm/mm/nommu.c                       |  7 ----\n arch/arm64/include/asm/pgtable.h          |  7 ----\n arch/arm64/mm/init.c                      |  5 +++\n arch/arm64/mm/mmu.c                       |  7 ----\n arch/csky/include/asm/pgtable.h           |  3 --\n arch/csky/mm/init.c                       |  3 --\n arch/hexagon/include/asm/pgtable.h        |  6 ---\n arch/hexagon/kernel/head.S                |  5 ---\n arch/hexagon/kernel/hexagon_ksyms.c       |  1 -\n arch/loongarch/include/asm/pgtable.h      |  9 -----\n arch/loongarch/mm/init.c                  |  3 --\n arch/m68k/include/asm/pgtable_mm.h        |  9 -----\n arch/m68k/include/asm/pgtable_no.h        |  7 ----\n arch/m68k/mm/init.c                       |  9 -----\n arch/m68k/mm/mcfmmu.c                     |  2 -\n arch/m68k/mm/motorola.c                   |  6 ---\n arch/m68k/mm/sun3mmu.c                    |  2 -\n arch/microblaze/include/asm/pgtable.h     | 10 -----\n arch/microblaze/kernel/head.S             |  4 --\n arch/microblaze/kernel/microblaze_ksyms.c |  2 -\n arch/mips/mm/init.c                       | 11 +-----\n arch/nios2/include/asm/pgtable.h          |  7 ----\n arch/nios2/kernel/head.S                  | 10 -----\n arch/nios2/kernel/nios2_ksyms.c           |  1 -\n arch/openrisc/include/asm/pgtable.h       |  4 --\n arch/openrisc/kernel/head.S               |  3 --\n arch/openrisc/kernel/or32_ksyms.c         |  1 -\n arch/openrisc/mm/init.c                   |  3 --\n arch/parisc/include/asm/pgtable.h         | 11 ------\n arch/parisc/mm/init.c                     |  6 ---\n arch/powerpc/include/asm/pgtable.h        |  6 ---\n arch/powerpc/mm/mem.c                     |  3 --\n arch/riscv/include/asm/pgtable.h          |  7 ----\n arch/riscv/mm/init.c                      |  4 --\n arch/s390/mm/init.c                       |  4 +-\n arch/sh/include/asm/pgtable.h             |  8 ----\n arch/sh/include/asm/setup.h               |  3 +-\n arch/sh/kernel/head_32.S                  |  4 +-\n arch/sh/kernel/sh_ksyms_32.c              |  1 -\n arch/sh/mm/init.c                         |  1 -\n arch/sparc/include/asm/pgtable_32.h       |  8 ----\n arch/sparc/include/asm/pgtable_64.h       |  3 --\n arch/sparc/include/asm/setup.h            |  2 -\n arch/sparc/kernel/head_32.S               |  7 ----\n arch/sparc/mm/init_32.c                   |  4 --\n arch/sparc/mm/init_64.c                   | 24 +++++-------\n arch/um/include/asm/pgtable.h             |  9 -----\n arch/um/include/shared/kern_util.h        |  1 -\n arch/um/kernel/mem.c                      | 16 --------\n arch/um/kernel/um_arch.c                  |  1 -\n arch/x86/include/asm/pgtable.h            |  8 ----\n arch/x86/kernel/head_32.S                 |  4 --\n arch/x86/kernel/head_64.S                 |  7 ----\n arch/x86/kvm/mmu/spte.h                   |  2 +-\n arch/xtensa/include/asm/pgtable.h         |  4 --\n arch/xtensa/kernel/head.S                 |  3 --\n arch/xtensa/kernel/xtensa_ksyms.c         |  2 -\n fs/dax.c                                  |  2 +-\n fs/proc/vmcore.c                          |  2 +-\n include/linux/pgtable.h                   | 48 ++++++++++++++---------\n mm/huge_memory.c                          |  2 +-\n mm/memory.c                               | 15 +------\n mm/migrate.c                              |  2 +-\n mm/mm_init.c                              | 28 +++++++++++++\n mm/userfaultfd.c                          |  4 +-\n 70 files changed, 86 insertions(+), 354 deletions(-)\n\n\nbase-commit: 50c7f34c5c7403a12003c6759f6f6ca9a5a10872\n--\n2.51.0\n\n*** BLURB HERE ***\n\nMike Rapoport (Microsoft) (4):\n  mm: don't special case !MMU for is_zero_pfn() and my_zero_pfn()\n  mm: rename my_zero_pfn() to zero_pfn()\n  arch, mm: consolidate empty_zero_page\n  mm: cache struct page for empty_zero_page and return it from\n    ZERO_PAGE()\n\n arch/alpha/include/asm/pgtable.h          |  6 ---\n arch/arc/include/asm/pgtable.h            |  3 --\n arch/arc/mm/init.c                        |  2 -\n arch/arm/include/asm/pgtable.h            |  9 ----\n arch/arm/mm/mmu.c                         |  7 ----\n arch/arm/mm/nommu.c                       |  7 ----\n arch/arm64/include/asm/pgtable.h          |  7 ----\n arch/arm64/mm/init.c                      |  5 +++\n arch/arm64/mm/mmu.c                       |  7 ----\n arch/csky/include/asm/pgtable.h           |  3 --\n arch/csky/mm/init.c                       |  3 --\n arch/hexagon/include/asm/pgtable.h        |  6 ---\n arch/hexagon/kernel/head.S                |  5 ---\n arch/hexagon/kernel/hexagon_ksyms.c       |  1 -\n arch/loongarch/include/asm/pgtable.h      |  9 ----\n arch/loongarch/mm/init.c                  |  3 --\n arch/m68k/include/asm/pgtable_mm.h        |  9 ----\n arch/m68k/include/asm/pgtable_no.h        |  7 ----\n arch/m68k/mm/init.c                       |  9 ----\n arch/m68k/mm/mcfmmu.c                     |  2 -\n arch/m68k/mm/motorola.c                   |  6 ---\n arch/m68k/mm/sun3mmu.c                    |  2 -\n arch/microblaze/include/asm/pgtable.h     | 10 -----\n arch/microblaze/kernel/head.S             |  4 --\n arch/microblaze/kernel/microblaze_ksyms.c |  2 -\n arch/mips/mm/init.c                       | 11 +----\n arch/nios2/include/asm/pgtable.h          |  7 ----\n arch/nios2/kernel/head.S                  | 10 -----\n arch/nios2/kernel/nios2_ksyms.c           |  1 -\n arch/openrisc/include/asm/pgtable.h       |  4 --\n arch/openrisc/kernel/head.S               |  3 --\n arch/openrisc/kernel/or32_ksyms.c         |  1 -\n arch/openrisc/mm/init.c                   |  3 --\n arch/parisc/include/asm/pgtable.h         | 11 -----\n arch/parisc/mm/init.c                     |  6 ---\n arch/powerpc/include/asm/pgtable.h        |  6 ---\n arch/powerpc/mm/mem.c                     |  3 --\n arch/riscv/include/asm/pgtable.h          |  7 ----\n arch/riscv/mm/init.c                      |  4 --\n arch/s390/mm/init.c                       |  4 +-\n arch/sh/include/asm/pgtable.h             |  8 ----\n arch/sh/include/asm/setup.h               |  3 +-\n arch/sh/kernel/head_32.S                  |  4 +-\n arch/sh/kernel/sh_ksyms_32.c              |  1 -\n arch/sh/mm/init.c                         |  1 -\n arch/sparc/include/asm/pgtable_32.h       |  8 ----\n arch/sparc/include/asm/pgtable_64.h       |  3 --\n arch/sparc/include/asm/setup.h            |  2 -\n arch/sparc/kernel/head_32.S               |  7 ----\n arch/sparc/mm/init_32.c                   |  4 --\n arch/sparc/mm/init_64.c                   | 24 ++++-------\n arch/um/include/asm/pgtable.h             |  9 ----\n arch/um/include/shared/kern_util.h        |  1 -\n arch/um/kernel/mem.c                      | 16 -------\n arch/um/kernel/um_arch.c                  |  1 -\n arch/x86/include/asm/pgtable.h            |  8 ----\n arch/x86/kernel/head_32.S                 |  4 --\n arch/x86/kernel/head_64.S                 |  7 ----\n arch/x86/kvm/mmu/spte.h                   |  2 +-\n arch/xtensa/include/asm/pgtable.h         |  4 --\n arch/xtensa/kernel/head.S                 |  3 --\n arch/xtensa/kernel/xtensa_ksyms.c         |  2 -\n fs/dax.c                                  |  2 +-\n fs/proc/vmcore.c                          |  2 +-\n include/linux/pgtable.h                   | 51 +++++++++++++++--------\n mm/huge_memory.c                          |  2 +-\n mm/memory.c                               | 15 +------\n mm/migrate.c                              |  2 +-\n mm/mm_init.c                              | 28 +++++++++++++\n mm/userfaultfd.c                          |  4 +-\n 70 files changed, 89 insertions(+), 354 deletions(-)\n\n\nbase-commit: 50c7f34c5c7403a12003c6759f6f6ca9a5a10872\n--\n2.51.0"
}