get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 1707773,
    "url": "http://patchwork.ozlabs.org/api/patches/1707773/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-um/patch/20221122100759.208290-11-benjamin@sipsolutions.net/",
    "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": "<20221122100759.208290-11-benjamin@sipsolutions.net>",
    "list_archive_url": null,
    "date": "2022-11-22T10:07:41",
    "name": "[v2,10/28] um: Always inline stub functions",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": false,
    "hash": "94ef0ad7fa426b02f9dd4bc1ab98a9b03c09809c",
    "submitter": {
        "id": 67525,
        "url": "http://patchwork.ozlabs.org/api/people/67525/?format=api",
        "name": "Benjamin Berg",
        "email": "benjamin@sipsolutions.net"
    },
    "delegate": {
        "id": 54851,
        "url": "http://patchwork.ozlabs.org/api/users/54851/?format=api",
        "username": "rw",
        "first_name": "Richard",
        "last_name": "Weinberger",
        "email": "richard@nod.at"
    },
    "mbox": "http://patchwork.ozlabs.org/project/linux-um/patch/20221122100759.208290-11-benjamin@sipsolutions.net/mbox/",
    "series": [
        {
            "id": 329466,
            "url": "http://patchwork.ozlabs.org/api/series/329466/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-um/list/?series=329466",
            "date": "2022-11-22T10:07:37",
            "name": "Implement SECCOMP based userland",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/329466/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1707773/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1707773/checks/",
    "tags": {},
    "related": [],
    "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 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=<UNKNOWN>)",
            "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=RyE7auGD;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256\n header.s=desiato.20200630 header.b=lV8FCQBe;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n secure) header.d=sipsolutions.net header.i=@sipsolutions.net\n header.a=rsa-sha256 header.s=mail header.b=VN3UGlm9;\n\tdkim-atps=neutral"
        ],
        "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 (P-384) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4NGgRf04yzz23nl\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 22 Nov 2022 21:27:10 +1100 (AEDT)",
            "from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux))\n\tid 1oxQUY-007nz8-1j; Tue, 22 Nov 2022 10:27:02 +0000",
            "from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05])\n\tby bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux))\n\tid 1oxQTM-007nM8-7c\n\tfor linux-um@bombadil.infradead.org; Tue, 22 Nov 2022 10:25:48 +0000",
            "from s3.sipsolutions.net ([2a01:4f8:191:4433::2]\n helo=sipsolutions.net)\n\tby desiato.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux))\n\tid 1oxQF1-003P1r-HD\n\tfor linux-um@lists.infradead.org; Tue, 22 Nov 2022 10:11:06 +0000",
            "by sipsolutions.net with esmtpsa\n (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)\n\t(Exim 4.96)\n\t(envelope-from <benjamin@sipsolutions.net>)\n\tid 1oxQEp-006IGn-03;\n\tTue, 22 Nov 2022 11:10:47 +0100"
        ],
        "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:References:In-Reply-To:\n\tMessage-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=CKveaBap9dpDELrRSWkft/bmRAASXK/kUMKLtZyIwmA=; b=RyE7auGDujoa2A\n\tHrEykbebsIeMcWrFwuwu5coUZhZ50JpXp2C5QkSKuMS4iGeyHEGAvNvk0cOQleCXJ9eeOB1P8SKZW\n\tuORf/301zgo5H/k5o9Ycsmjbk+WjtP2a8Dp4cmH3NJ784pGbSLZMAMtH9UN6Qsh79AaVW3jp508ap\n\t39H8TxQ4GbRp8h/1ivSD+4AJxilOsALvLz2IyAo3s9PzQvZj9co7HJnV7+cnqpFJyDPrPwSXl9sJt\n\tOebCq9uneZ9XSchR2ORei5iGTEOScCNAMHePEqNY6lJPK0yqzcOztsoVKA2b3jF5s8dG/5UOgJai9\n\t1zveyUnvm5Xifz5/9gpA==;",
            "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:MIME-Version\n\t:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:\n\tContent-Type:Content-ID:Content-Description;\n\tbh=RmEhw37rPMmh/HTLZ71he/0l90Se9YjO1qde8mmgvsI=; b=lV8FCQBevNQPo5T1xFoBEvjxr+\n\tq6Pp81xWmPidckIMc3Hf/UsHIDtbtawBv4wueLWP4Ql/ZTW4EmKTWe5xITofHduxNalwjWisWJbKK\n\taka8tg+cMkuPtoByj1xWnWjMs+iSZStB1DODD7WEd4edAcONXtPksY1QNQatrLzgf9eqNl61xZYiv\n\tFrtg9ZL1t/X+hG86UwgmQDcA3Ux/3ZftwRvG23IqRfc0Qcg6KbIOuY5MZ+M6pF57KZW0tn/uayPKN\n\t+/SdrTlmihvJQpri59wx7NthJLrDNMLGtlZeggs5jZJxJKg3M0+TTMjWvpA8F0HKuFeE1iiy6+sa5\n\tbkPh4ihQ==;",
            "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=sipsolutions.net; s=mail; h=Content-Transfer-Encoding:MIME-Version:\n\tReferences:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Content-Type:Sender\n\t:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-To:\n\tResent-Cc:Resent-Message-ID; bh=RmEhw37rPMmh/HTLZ71he/0l90Se9YjO1qde8mmgvsI=;\n\tt=1669111858; x=1670321458; b=VN3UGlm9YIKUqZmtL0Ht46ix227AeQSNado+DE8SZ11k5Js\n\tI7GNtXkPOckPUBXQ8LzB8n561wFaZcqQ/yxC3UCm4TFt8OA0b/AqHOyqOfvJJmrZB4S6JsWNtLbde\n\tl5rZQO6Y4w1RZHyGq8Pi2ST6CWG74U1Rmc+VelXQHuhbEoZvhTCmi8sKatqDVK49ngl1fCk5NqPTz\n\tuhAWe2vzY8kr84Cp7lBhZnE8VAh4MG/vSyRhF/goq9QYPicGxiMb6o9PR5TrF29jrGUlV1zMCFcV/\n\thJWA7fS4Yh7OoPpyIV3ohxyqAyfGZHDQeDwY0VK8GBQJJUdMVOkGx6hw1hOPddjQ==;"
        ],
        "From": "benjamin@sipsolutions.net",
        "To": "linux-um@lists.infradead.org",
        "Cc": "Benjamin Berg <benjamin@sipsolutions.net>",
        "Subject": "[PATCH v2 10/28] um: Always inline stub functions",
        "Date": "Tue, 22 Nov 2022 11:07:41 +0100",
        "Message-Id": "<20221122100759.208290-11-benjamin@sipsolutions.net>",
        "X-Mailer": "git-send-email 2.38.1",
        "In-Reply-To": "<20221122100759.208290-1-benjamin@sipsolutions.net>",
        "References": "<20221122100759.208290-1-benjamin@sipsolutions.net>",
        "MIME-Version": "1.0",
        "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ",
        "X-CRM114-CacheID": "sfid-20221122_101100_572690_2DE0CE35 ",
        "X-CRM114-Status": "UNSURE (   9.05  )",
        "X-CRM114-Notice": "Please train this message.",
        "X-Spam-Score": "-0.2 (/)",
        "X-Spam-Report": "Spam detection software,\n running on the system \"desiato.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: Benjamin Berg <benjamin@sipsolutions.net> The stub\n executable\n    page is remapped to a different location in the userland process. As these\n    functions may be used by the stub, they really need to be always inlined\n   rather than permitting the compi [...]\n Content analysis details:   (-0.2 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_PASS          SPF: HELO matches SPF record\n -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from\n                             author's domain\n -0.1 DKIM_VALID_EF          Message has a valid DKIM or DK signature from\n                             envelope-from domain\n  0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n not necessarily\n                             valid\n -0.1 DKIM_VALID             Message has at least one valid DKIM or DK\n signature",
        "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>",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Sender": "\"linux-um\" <linux-um-bounces@lists.infradead.org>",
        "Errors-To": "linux-um-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"
    },
    "content": "From: Benjamin Berg <benjamin@sipsolutions.net>\n\nThe stub executable page is remapped to a different location in the\nuserland process. As these functions may be used by the stub, they\nreally need to be always inlined rather than permitting the compiler to\nemit a function.\n\nSigned-off-by: Benjamin Berg <benjamin@sipsolutions.net>\n---\n arch/x86/um/shared/sysdep/stub_32.h | 21 +++++++++++----------\n arch/x86/um/shared/sysdep/stub_64.h | 15 ++++++++-------\n 2 files changed, 19 insertions(+), 17 deletions(-)",
    "diff": "diff --git a/arch/x86/um/shared/sysdep/stub_32.h b/arch/x86/um/shared/sysdep/stub_32.h\nindex 4c6c2be0c899..dc04d8cc2791 100644\n--- a/arch/x86/um/shared/sysdep/stub_32.h\n+++ b/arch/x86/um/shared/sysdep/stub_32.h\n@@ -12,7 +12,7 @@\n #define STUB_MMAP_NR __NR_mmap2\n #define MMAP_OFFSET(o) ((o) >> UM_KERN_PAGE_SHIFT)\n \n-static inline long stub_syscall0(long syscall)\n+static __always_inline long stub_syscall0(long syscall)\n {\n \tlong ret;\n \n@@ -21,7 +21,7 @@ static inline long stub_syscall0(long syscall)\n \treturn ret;\n }\n \n-static inline long stub_syscall1(long syscall, long arg1)\n+static __always_inline long stub_syscall1(long syscall, long arg1)\n {\n \tlong ret;\n \n@@ -30,7 +30,7 @@ static inline long stub_syscall1(long syscall, long arg1)\n \treturn ret;\n }\n \n-static inline long stub_syscall2(long syscall, long arg1, long arg2)\n+static __always_inline long stub_syscall2(long syscall, long arg1, long arg2)\n {\n \tlong ret;\n \n@@ -40,7 +40,8 @@ static inline long stub_syscall2(long syscall, long arg1, long arg2)\n \treturn ret;\n }\n \n-static inline long stub_syscall3(long syscall, long arg1, long arg2, long arg3)\n+static __always_inline long stub_syscall3(long syscall, long arg1, long arg2,\n+\t\t\t\t\t  long arg3)\n {\n \tlong ret;\n \n@@ -50,8 +51,8 @@ static inline long stub_syscall3(long syscall, long arg1, long arg2, long arg3)\n \treturn ret;\n }\n \n-static inline long stub_syscall4(long syscall, long arg1, long arg2, long arg3,\n-\t\t\t\t long arg4)\n+static __always_inline long stub_syscall4(long syscall, long arg1, long arg2,\n+\t\t\t\t\t  long arg3, long arg4)\n {\n \tlong ret;\n \n@@ -61,8 +62,8 @@ static inline long stub_syscall4(long syscall, long arg1, long arg2, long arg3,\n \treturn ret;\n }\n \n-static inline long stub_syscall5(long syscall, long arg1, long arg2, long arg3,\n-\t\t\t\t long arg4, long arg5)\n+static __always_inline long stub_syscall5(long syscall, long arg1, long arg2,\n+\t\t\t\t\t  long arg3, long arg4, long arg5)\n {\n \tlong ret;\n \n@@ -72,12 +73,12 @@ static inline long stub_syscall5(long syscall, long arg1, long arg2, long arg3,\n \treturn ret;\n }\n \n-static inline void trap_myself(void)\n+static __always_inline void trap_myself(void)\n {\n \t__asm(\"int3\");\n }\n \n-static inline void remap_stack_and_trap(void)\n+static __always_inline void remap_stack_and_trap(void)\n {\n \t__asm__ volatile (\n \t\t\"movl %%esp,%%ebx ;\"\ndiff --git a/arch/x86/um/shared/sysdep/stub_64.h b/arch/x86/um/shared/sysdep/stub_64.h\nindex 92ea1670cf1c..da6fd28fa95e 100644\n--- a/arch/x86/um/shared/sysdep/stub_64.h\n+++ b/arch/x86/um/shared/sysdep/stub_64.h\n@@ -16,7 +16,7 @@\n #define __syscall_clobber \"r11\",\"rcx\",\"memory\"\n #define __syscall \"syscall\"\n \n-static inline long stub_syscall0(long syscall)\n+static __always_inline long stub_syscall0(long syscall)\n {\n \tlong ret;\n \n@@ -27,7 +27,7 @@ static inline long stub_syscall0(long syscall)\n \treturn ret;\n }\n \n-static inline long stub_syscall2(long syscall, long arg1, long arg2)\n+static __always_inline long stub_syscall2(long syscall, long arg1, long arg2)\n {\n \tlong ret;\n \n@@ -38,7 +38,8 @@ static inline long stub_syscall2(long syscall, long arg1, long arg2)\n \treturn ret;\n }\n \n-static inline long stub_syscall3(long syscall, long arg1, long arg2, long arg3)\n+static __always_inline long stub_syscall3(long syscall, long arg1, long arg2,\n+\t\t\t\t\t  long arg3)\n {\n \tlong ret;\n \n@@ -64,8 +65,8 @@ static inline long stub_syscall4(long syscall, long arg1, long arg2, long arg3,\n \treturn ret;\n }\n \n-static inline long stub_syscall5(long syscall, long arg1, long arg2, long arg3,\n-\t\t\t\t long arg4, long arg5)\n+static __always_inline long stub_syscall5(long syscall, long arg1, long arg2,\n+\t\t\t\t\t  long arg3, long arg4, long arg5)\n {\n \tlong ret;\n \n@@ -78,12 +79,12 @@ static inline long stub_syscall5(long syscall, long arg1, long arg2, long arg3,\n \treturn ret;\n }\n \n-static inline void trap_myself(void)\n+static __always_inline void trap_myself(void)\n {\n \t__asm(\"int3\");\n }\n \n-static inline void remap_stack_and_trap(void)\n+static __always_inline void remap_stack_and_trap(void)\n {\n \t__asm__ volatile (\n \t\t\"movq %0,%%rax ;\"\n",
    "prefixes": [
        "v2",
        "10/28"
    ]
}