get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2231298,
    "url": "http://patchwork.ozlabs.org/api/patches/2231298/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260430142337.2104726-2-stefanb@linux.ibm.com/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api",
        "name": "QEMU Development",
        "link_name": "qemu-devel",
        "list_id": "qemu-devel.nongnu.org",
        "list_email": "qemu-devel@nongnu.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260430142337.2104726-2-stefanb@linux.ibm.com>",
    "list_archive_url": null,
    "date": "2026-04-30T14:23:36",
    "name": "[v2,1/2] tpm_emulator: Reject a buffer size larger than what was requested",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "ce5ac2097163413b274e890c27ee6b62125519fb",
    "submitter": {
        "id": 75097,
        "url": "http://patchwork.ozlabs.org/api/people/75097/?format=api",
        "name": "Stefan Berger",
        "email": "stefanb@linux.ibm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260430142337.2104726-2-stefanb@linux.ibm.com/mbox/",
    "series": [
        {
            "id": 502315,
            "url": "http://patchwork.ozlabs.org/api/series/502315/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=502315",
            "date": "2026-04-30T14:23:37",
            "name": "Improve handling of response buffer size in tpm_emulator",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/502315/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2231298/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2231298/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.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 unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=TuzKhAUV;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5xJ71Cmkz1xqf\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 00:24:23 +1000 (AEST)",
            "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wISJ5-000146-Pn; Thu, 30 Apr 2026 10:23:59 -0400",
            "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <stefanb@linux.ibm.com>)\n id 1wISIw-0000j1-68\n for qemu-devel@nongnu.org; Thu, 30 Apr 2026 10:23:50 -0400",
            "from mx0b-001b2d01.pphosted.com ([148.163.158.5])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <stefanb@linux.ibm.com>)\n id 1wISIs-0007El-NA\n for qemu-devel@nongnu.org; Thu, 30 Apr 2026 10:23:49 -0400",
            "from pps.filterd (m0356516.ppops.net [127.0.0.1])\n by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63UCvmXq139212; Thu, 30 Apr 2026 14:23:44 GMT",
            "from ppma11.dal12v.mail.ibm.com\n (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219])\n by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4drk1jxn2k-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Thu, 30 Apr 2026 14:23:44 +0000 (GMT)",
            "from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1])\n by ppma11.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id\n 63UE8p6L031991;\n Thu, 30 Apr 2026 14:23:43 GMT",
            "from smtprelay04.wdc07v.mail.ibm.com ([172.16.1.71])\n by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4dsamyk40p-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Thu, 30 Apr 2026 14:23:43 +0000 (GMT)",
            "from smtpav04.dal12v.mail.ibm.com (smtpav04.dal12v.mail.ibm.com\n [10.241.53.103])\n by smtprelay04.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63UENghh64618988\n (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n Thu, 30 Apr 2026 14:23:42 GMT",
            "from smtpav04.dal12v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id 3B2D05805A;\n Thu, 30 Apr 2026 14:23:42 +0000 (GMT)",
            "from smtpav04.dal12v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id E242C58063;\n Thu, 30 Apr 2026 14:23:41 +0000 (GMT)",
            "from mycroft-2.pok.ibm.com (unknown [9.47.158.222])\n by smtpav04.dal12v.mail.ibm.com (Postfix) with ESMTP;\n Thu, 30 Apr 2026 14:23:41 +0000 (GMT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n :content-transfer-encoding:date:from:in-reply-to:message-id\n :mime-version:references:subject:to; s=pp1; bh=zsWnJH5GgQCFiFn5C\n udQxKO1XJQhAqeJ98oS2wtcwiM=; b=TuzKhAUVzGr0F2bAeRJkBDREmKC18iGcL\n 83+dEfIYz5wgXHPGCo2TvFRicwcAYx8yw9bMXsYo7AItqFjNOuXaGg0w576KaITu\n D5cNs3x5QE7q65ZbJmmZm/VL51Rp2hPM9UyokY72QdvPAi/CTGe6uNVevk6YfDaF\n UJI/nbYoNX2QLestBJ95cLiWBGOn/gfKP/cT/aFDgBB2EnrfDIkoUYjz5a61kcZ2\n YbG5eqK2Ont8953UoIpU+3DnExzzAtD+PEZy6ykrnzbKj++7lr7ndsvWycu29lTd\n qJN/XqUI87kJsViynX6rk5e0M/9DrecT6G2mO8qHI9pEV5J1YM10Q==",
        "From": "Stefan Berger <stefanb@linux.ibm.com>",
        "To": "qemu-devel@nongnu.org",
        "Cc": "marcandre.lureau@redhat.com, armenon@redhat.com,\n Stefan Berger <stefanb@linux.ibm.com>",
        "Subject": "[PATCH v2 1/2] tpm_emulator: Reject a buffer size larger than what\n was requested",
        "Date": "Thu, 30 Apr 2026 14:23:36 +0000",
        "Message-ID": "<20260430142337.2104726-2-stefanb@linux.ibm.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20260430142337.2104726-1-stefanb@linux.ibm.com>",
        "References": "<20260430142337.2104726-1-stefanb@linux.ibm.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-TM-AS-GCONF": "00",
        "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNDMwMDE0NyBTYWx0ZWRfX75WoeqzYsUSv\n G835lwKl0/rf/32WdHF+Z4lL2M0M9qCE7ssn0RqEHO9JdKw2BNlt5irOZawaH0AlvlK69PQ15US\n zbRG/D42tRSeJPARewkszKYQHxNZvClTz10zlRBMSepDkFQMKtoyFwTjhFS3GGcZ0MOdGsH5pXV\n uBbZU9UMlsggH+6cmBFLsIk5guTYkWcQ/uk/LJkF+JNdjhVjYQq6pGKI8n3qUEPy1+J38ZA1KSu\n 9jMlbhuxY472kR+AhWljqag/FeVkMxK5NOI6P23SXgFqe6pzpNoieLvqTnriWWRGmvhxl79kkte\n T++RKw71DESOoVY3M75oEaqNiBq54fOoqfIPL74wnX6uSPByHxu3VuDAlWZHgZrAUFmecxBmiVG\n 6GV52hVV7KQfAvvX6KWYUJmM0rH/pYsd4rzCDR+FNLco+xDh5LtSdFNOdbzhXQak2hgb1V1NghB\n i+3d4DSXIfCCV5ToHMA==",
        "X-Proofpoint-GUID": "_Vq3QSgZkElKKDzDW2aUjmNAzyWYU3Qy",
        "X-Proofpoint-ORIG-GUID": "_Vq3QSgZkElKKDzDW2aUjmNAzyWYU3Qy",
        "X-Authority-Analysis": "v=2.4 cv=MohiLWae c=1 sm=1 tr=0 ts=69f365f0 cx=c_pps\n a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=Y2IxJ9c9Rs8Kov3niI8_:22 a=VnNF1IyMAAAA:8 a=lp88FLx_Zl_lkmcsHRgA:9",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-30_04,2026-04-30_02,2025-10-01_01",
        "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n phishscore=0 adultscore=0 suspectscore=0 bulkscore=0 spamscore=0\n priorityscore=1501 malwarescore=0 clxscore=1015 lowpriorityscore=0\n impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000\n definitions=main-2604300147",
        "Received-SPF": "pass client-ip=148.163.158.5;\n envelope-from=stefanb@linux.ibm.com;\n helo=mx0b-001b2d01.pphosted.com",
        "X-Spam_score_int": "-26",
        "X-Spam_score": "-2.7",
        "X-Spam_bar": "--",
        "X-Spam_report": "(-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7,\n RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no",
        "X-Spam_action": "no action",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "qemu development <qemu-devel.nongnu.org>",
        "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>",
        "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>",
        "List-Post": "<mailto:qemu-devel@nongnu.org>",
        "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>",
        "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>",
        "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"
    },
    "content": "When the TIS, SPAPR, or CRB frontends negotiate a buffer size with the\nTPM backend, then the tpm_emulator (swtpm) could still adjust this size\nof the buffer to within bounds supported by swtpm+libtpms if the chosen\nsize was outside the acceptable range. This could theoretically lead to\nthe TPM 2 using a bigger buffer than what was requested and memory\nallocated for. In practice this would not happend since the requested size\nof 4096 bytes for TIS and SPAPR and 3968 bytes for CRB are in the\n(currently) supported range of ~2.5kb to 4096 bytes. With PQC support\nthe range will have an upper bound of 8kb and a lower bound that will\nsupport the (pre-PQC) CRB with 3968 bytes.\n\nSigned-off-by: Stefan Berger <stefanb@linux.ibm.com>\n---\n backends/tpm/tpm_emulator.c | 13 ++++++++++++-\n 1 file changed, 12 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/backends/tpm/tpm_emulator.c b/backends/tpm/tpm_emulator.c\nindex 75c33d290e..10ab909474 100644\n--- a/backends/tpm/tpm_emulator.c\n+++ b/backends/tpm/tpm_emulator.c\n@@ -364,6 +364,7 @@ static int tpm_emulator_set_buffer_size(TPMBackend *tb,\n {\n     TPMEmulator *tpm_emu = TPM_EMULATOR(tb);\n     ptm_setbuffersize psbs;\n+    size_t tpm_buffersize;\n \n     if (tpm_emulator_stop_tpm(tb, errp) < 0) {\n         return -1;\n@@ -387,8 +388,18 @@ static int tpm_emulator_set_buffer_size(TPMBackend *tb,\n         return -1;\n     }\n \n+    tpm_buffersize = be32_to_cpu(psbs.u.resp.buffersize);\n+    /* Reject a bigger buffer used by the TPM than what was requested. */\n+    if (wanted_size != 0 && wanted_size < tpm_buffersize) {\n+        error_setg(errp,\n+                   \"tpm-emulator: TPM did not accept the requested buffer size \"\n+                   \"of %zu bytes but adjusted it to %zu bytes\\n\",\n+                   wanted_size, tpm_buffersize);\n+        return -1;\n+    }\n+\n     if (actual_size) {\n-        *actual_size = be32_to_cpu(psbs.u.resp.buffersize);\n+        *actual_size = tpm_buffersize;\n     }\n \n     trace_tpm_emulator_set_buffer_size(\n",
    "prefixes": [
        "v2",
        "1/2"
    ]
}