get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 1707739,
    "url": "http://patchwork.ozlabs.org/api/patches/1707739/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-um/patch/20221122100759.208290-7-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-7-benjamin@sipsolutions.net>",
    "list_archive_url": null,
    "date": "2022-11-22T10:07:37",
    "name": "[v2,06/28] um: Don't use vfprintf() for os_info()",
    "commit_ref": null,
    "pull_url": null,
    "state": "not-applicable",
    "archived": false,
    "hash": "7cb3bee0884966d5c05b0f14f3e88e9fb93574c6",
    "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-7-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/1707739/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1707739/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=agQHgCsM;\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=AiqOMlyg;\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 4NGg5N1G2zz23nm\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 22 Nov 2022 21:11:20 +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 1oxQF9-007foS-Kc; Tue, 22 Nov 2022 10:11:07 +0000",
            "from s3.sipsolutions.net ([2a01:4f8:191:4433::2]\n helo=sipsolutions.net)\n\tby bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux))\n\tid 1oxQF1-007feO-4D\n\tfor linux-um@lists.infradead.org; Tue, 22 Nov 2022 10:11:03 +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 1oxQEn-006IGn-1h;\n\tTue, 22 Nov 2022 11:10:45 +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=j3QaNpoxAOMxfej5eE8t2uUb+7VhJ2iJj2JPaTezg0Q=; b=agQHgCsMJpmKGc\n\twNpQdTZS6nkmhoilclB85FnfZDG+tegiztr4ZNtZN+C6h1GsctC+/hNuUZQ4N95rFVrnZtQrWY2Oy\n\tHdNp4jVRi2Gd0bHvQ99RweSFSASlQj1MuHM9KiPmOcfGVsuE2ckYop5mWwkkW5sflZIbBIahycL2q\n\tnI4Pv6wbHMnnzHI7Swu/ohEx6NIgqrko5DXmKiqOvv3r9j2PuQk1m4kXMUXaF9hXviXLryDuqYN+h\n\tNfnlEBAkEZ/zVUTU5CBFxKXr2DJZDW9U71IqVU6XmPoACBD1bK1gBEjsWsBvnSkyfNhrpGdTAfvb3\n\tIdrUtXShDcTzBAMWTSOg==;",
            "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=5tfpVPJ1YtcOfJWBR0RW/cEAjC/Z2ZT2HTKh6Nb2crs=;\n\tt=1669111858; x=1670321458; b=AiqOMlygUFS35PnqFFIi1Q/4jCSlhJICCtjma4E9ACgUVFo\n\tbCxBfDQDjpMDpguoO8kLzpWD35TDnnJ0qLZd/GJY1SXp7GzlEPRhDi7hT2zHQkCI0MHNd87Meb9Zu\n\t7EVDZKLUcVW8yaW0Wv8noyD6gOOQtt1HLHOToDPTBB+u9QGDGfd6rDZoIgdS9cQRNKXyny9qZr/Dg\n\tf5soq6tQvH7EcSB5AaQ2Fb49kk47awlWDeqS8KjWCKPxk2F5Sgct14ByK7VMVIbq5FofeaE12HBPG\n\t4NWlH33MG2eSG5l1sGumoiXrwt35HLWnJVmOBtQwR/QeG8bBw6UDiAh2bKh0KPXQ==;"
        ],
        "From": "benjamin@sipsolutions.net",
        "To": "linux-um@lists.infradead.org",
        "Cc": "Benjamin Berg <benjamin@sipsolutions.net>",
        "Subject": "[PATCH v2 06/28] um: Don't use vfprintf() for os_info()",
        "Date": "Tue, 22 Nov 2022 11:07:37 +0100",
        "Message-Id": "<20221122100759.208290-7-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_021059_215968_2E465B4C ",
        "X-CRM114-Status": "GOOD (  10.98  )",
        "X-Spam-Score": "-0.2 (/)",
        "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: Benjamin Berg <benjamin@sipsolutions.net> The threads\n    allocated inside the kernel have only a single page of stack.\n Unfortunately,\n    the vfprintf function in standard glibc may use too much stack-space,\n overflowing\n    it.\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             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\n                             valid\n -0.1 DKIM_VALID_EF          Message has a valid DKIM or DK signature from\n                             envelope-from domain",
        "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 threads allocated inside the kernel have only a single page of\nstack. Unfortunately, the vfprintf function in standard glibc may use\ntoo much stack-space, overflowing it.\n\nTo make os_info safe to be used by helper threads, use the kernel\nvscnprintf function into a smallish buffer and write out the information\nto stderr.\n\nSigned-off-by: Benjamin Berg <benjamin@sipsolutions.net>\n---\n arch/um/os-Linux/util.c | 19 +++++++++++++++++--\n 1 file changed, 17 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/arch/um/os-Linux/util.c b/arch/um/os-Linux/util.c\nindex fc0f2a9dee5a..1dca4ffbd572 100644\n--- a/arch/um/os-Linux/util.c\n+++ b/arch/um/os-Linux/util.c\n@@ -173,23 +173,38 @@ __uml_setup(\"quiet\", quiet_cmd_param,\n \"quiet\\n\"\n \"    Turns off information messages during boot.\\n\\n\");\n \n+/*\n+ * The os_info/os_warn functions will be called by helper threads. These\n+ * have a very limited stack size and using the libc formatting functions\n+ * may overflow the stack.\n+ * So pull in the kernel vscnprintf and use that instead with a fixed\n+ * on-stack buffer.\n+ */\n+int vscnprintf(char *buf, size_t size, const char *fmt, va_list args);\n+\n void os_info(const char *fmt, ...)\n {\n+\tchar buf[256];\n \tva_list list;\n+\tint len;\n \n \tif (quiet_info)\n \t\treturn;\n \n \tva_start(list, fmt);\n-\tvfprintf(stderr, fmt, list);\n+\tlen = vscnprintf(buf, sizeof(buf), fmt, list);\n+\tfwrite(buf, len, 1, stderr);\n \tva_end(list);\n }\n \n void os_warn(const char *fmt, ...)\n {\n+\tchar buf[256];\n \tva_list list;\n+\tint len;\n \n \tva_start(list, fmt);\n-\tvfprintf(stderr, fmt, list);\n+\tlen = vscnprintf(buf, sizeof(buf), fmt, list);\n+\tfwrite(buf, len, 1, stderr);\n \tva_end(list);\n }\n",
    "prefixes": [
        "v2",
        "06/28"
    ]
}