get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2233203,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/2233203/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260505201905.997996-20-zycai@linux.ibm.com/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/1.2/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": "<20260505201905.997996-20-zycai@linux.ibm.com>",
    "list_archive_url": null,
    "date": "2026-05-05T20:18:51",
    "name": "[v11,19/32] pc-bios/s390-ccw: Rework zipl_load_segment function",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "b12f042113f559214d04d9bbf11bc8e98b9cc013",
    "submitter": {
        "id": 90643,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/90643/?format=api",
        "name": "Zhuoying Cai",
        "email": "zycai@linux.ibm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260505201905.997996-20-zycai@linux.ibm.com/mbox/",
    "series": [
        {
            "id": 502896,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/502896/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=502896",
            "date": "2026-05-05T20:18:37",
            "name": "Secure IPL Support for SCSI Scheme of virtio-blk/virtio-scsi Devices",
            "version": 11,
            "mbox": "http://patchwork.ozlabs.org/series/502896/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2233203/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2233203/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=KFjZr/L/;\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 4g992541kxz1yJx\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 06:23:25 +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 1wKMFX-0008RJ-FS; Tue, 05 May 2026 16:20:11 -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 <zycai@linux.ibm.com>)\n id 1wKMFC-0007yB-8A; Tue, 05 May 2026 16:19:50 -0400",
            "from mx0a-001b2d01.pphosted.com ([148.163.156.1])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <zycai@linux.ibm.com>)\n id 1wKMFA-0000IN-CG; Tue, 05 May 2026 16:19:49 -0400",
            "from pps.filterd (m0353729.ppops.net [127.0.0.1])\n by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 645H4cMS2217751; Tue, 5 May 2026 20:19: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 4dw9x4njtw-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Tue, 05 May 2026 20:19: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 645K9WDR015588;\n Tue, 5 May 2026 20:19:43 GMT",
            "from smtprelay05.dal12v.mail.ibm.com ([172.16.1.7])\n by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4dwx9yb25w-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Tue, 05 May 2026 20:19:43 +0000 (GMT)",
            "from smtpav02.wdc07v.mail.ibm.com (smtpav02.wdc07v.mail.ibm.com\n [10.39.53.229])\n by smtprelay05.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 645KJgdA30540330\n (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n Tue, 5 May 2026 20:19:42 GMT",
            "from smtpav02.wdc07v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id 4D0D25805B;\n Tue,  5 May 2026 20:19:42 +0000 (GMT)",
            "from smtpav02.wdc07v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id AB57258059;\n Tue,  5 May 2026 20:19:40 +0000 (GMT)",
            "from fedora-workstation.pok.ibm.com (unknown [9.12.79.241])\n by smtpav02.wdc07v.mail.ibm.com (Postfix) with ESMTP;\n Tue,  5 May 2026 20:19:40 +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=JD9U2mJnMjZx75H2b\n b5F56hmODq/EHbwq+ESAYx1DW4=; b=KFjZr/L/R838cqMF8v/i3ndmeB8y5jgJ4\n 2X6v31GqaluX1lufHNTKh01qjSKilwBWha+vpUaqE64kb+YoizkXApMZzhtqm2Aa\n +ezBOhgjiaHztnURxptZuf66WXTnNv33V7HEvsqeL63s/07h8uIYbA4u/80HRteQ\n 4rybBbhRTPdwMyc7fzPbC1EYprp83DLRQWNYg0ymx08WOOsjLdk6rBzRcXlx8bIF\n HxzXFIdVOKLEXKABNL2JNuy4XZXjJpGDL4YxGqK5s6C2NKhdqQmKw1pF/vlUgFFM\n rXWVLCIqCR5y4FzYamTaBjArYfRRQYS4DM3eiNgyRUupntstTLrLw==",
        "From": "Zhuoying Cai <zycai@linux.ibm.com>",
        "To": "qemu-s390x@nongnu.org, qemu-devel@nongnu.org",
        "Cc": "jrossi@linux.ibm.com, cohuck@redhat.com, berrange@redhat.com,\n richard.henderson@linaro.org, david@kernel.org, walling@linux.ibm.com,\n jjherne@linux.ibm.com, pasic@linux.ibm.com, borntraeger@linux.ibm.com,\n farman@linux.ibm.com, mjrosato@linux.ibm.com, iii@linux.ibm.com,\n eblake@redhat.com, armbru@redhat.com, zycai@linux.ibm.com,\n alifm@linux.ibm.com, brueckner@linux.ibm.com,\n pierrick.bouvier@oss.qualcomm.com, jdaley@linux.ibm.com",
        "Subject": "[PATCH v11 19/32] pc-bios/s390-ccw: Rework zipl_load_segment function",
        "Date": "Tue,  5 May 2026 16:18:51 -0400",
        "Message-ID": "<20260505201905.997996-20-zycai@linux.ibm.com>",
        "X-Mailer": "git-send-email 2.54.0",
        "In-Reply-To": "<20260505201905.997996-1-zycai@linux.ibm.com>",
        "References": "<20260505201905.997996-1-zycai@linux.ibm.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-TM-AS-GCONF": "00",
        "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNTA1MDE5NSBTYWx0ZWRfX1p0du8F4DKOS\n /Io1Anl8sq8Vg8eozI79pwJQazSMGypUgIdyhhLRP2RDvlXPR0SoUU1WyrCBPh4b8YgVSTRk+iD\n 5VN1/b30lVsygPoI9CtfJZXPVIrdDavmEj7GSSk8jTQqLPDjAjYH9dm0bjreTKewOX/tJNYi8tB\n LzUenfwYu9TnXSzhWavp0d91hT2K8M46dNaKejEOEOBrQrBbTXzGqVv8gclOgo9pLPO1VJaf/IM\n dAtPg/yPmbbLM5erSJm6NCGWTVijft685Gi9eH9JT3iiwyEyhK1nSH+nCfoOlXF/P7uMzHHp0Fp\n dfF+jWJzF7m2bj+2DTdQWQ4D8xCIsoncfNDewotTegmHW3o2MgXl7iTrt9W3lo0AeuSdhyI1fnr\n htiNRtSnGXVbYMkW4svJhA6z/lYG5yw+uVov5Rx5M2eSyquZkNVM1OaCo11V3BuZ9xqYCsBOuWV\n w3hZOUj5M4QTQRbbalg==",
        "X-Proofpoint-ORIG-GUID": "mSuADmtexPORRGJzUZdv9iDdGKkmha6F",
        "X-Proofpoint-GUID": "mSuADmtexPORRGJzUZdv9iDdGKkmha6F",
        "X-Authority-Analysis": "v=2.4 cv=W7UIkxWk c=1 sm=1 tr=0 ts=69fa50e0 cx=c_pps\n a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17\n a=NGcC8JguVDcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=uAbxVGIbfxUO_5tXvNgY:22 a=VnNF1IyMAAAA:8 a=20KFwNOVAAAA:8\n a=uL_FI9FW9AP7juJAwn4A: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-05-05_02,2026-04-30_02,2025-10-01_01",
        "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n priorityscore=1501 adultscore=0 lowpriorityscore=0 malwarescore=0\n suspectscore=0 spamscore=0 clxscore=1015 phishscore=0 bulkscore=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-2605050195",
        "Received-SPF": "pass client-ip=148.163.156.1; envelope-from=zycai@linux.ibm.com;\n helo=mx0a-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": "Change zipl_load_segment() to accept explicit blockno and address\nparameters instead of ComponentEntry pointer and return segment length.\n\nModify this function to allow the caller to specify a memory address\nwhere segment data should be loaded into.\n\nseg_len variable is necessary to store the calculated segment length and\nis used during signature verification. Return the length on success, or\na negative return code on failure.\n\nRemove static qualifier and add function declaration to bootmap.h to\nmake it accessible to other modules.\n\nSigned-off-by: Zhuoying Cai <zycai@linux.ibm.com>\nReviewed-by: Thomas Huth <thuth@redhat.com>\n---\n pc-bios/s390-ccw/bootmap.c | 18 ++++++++++--------\n pc-bios/s390-ccw/bootmap.h |  2 ++\n 2 files changed, 12 insertions(+), 8 deletions(-)",
    "diff": "diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c\nindex b9ba004cfc..b19981feb1 100644\n--- a/pc-bios/s390-ccw/bootmap.c\n+++ b/pc-bios/s390-ccw/bootmap.c\n@@ -613,19 +613,19 @@ static int ipl_eckd(void)\n  * IPL a SCSI disk\n  */\n \n-static int zipl_load_segment(ComponentEntry *entry)\n+/*\n+ * Returns: length of the segment on success,\n+ *          negative value on error.\n+ */\n+int zipl_load_segment(block_number_t blockno, uint64_t address)\n {\n     const int max_entries = (MAX_SECTOR_SIZE / sizeof(ScsiBlockPtr));\n     ScsiBlockPtr *bprs = (void *)sec;\n     const int bprs_size = sizeof(sec);\n-    block_number_t blockno;\n-    uint64_t address;\n     int i;\n     char err_msg[] = \"zIPL failed to read BPRS at 0xZZZZZZZZZZZZZZZZ\";\n     char *blk_no = &err_msg[30]; /* where to print blockno in (those ZZs) */\n-\n-    blockno = entry->data.blockno;\n-    address = entry->compdat.load_addr;\n+    int seg_len = 0;\n \n     debug_print_int(\"loading segment at block\", blockno);\n     debug_print_int(\"addr\", address);\n@@ -668,10 +668,12 @@ static int zipl_load_segment(ComponentEntry *entry)\n                 puts(\"zIPL load segment failed\");\n                 return -EIO;\n             }\n+\n+            seg_len += bprs->size * (bprs[i].blockct + 1);\n         }\n     } while (blockno);\n \n-    return 0;\n+    return seg_len;\n }\n \n static int zipl_run_normal(ComponentEntry **entry_ptr, uint8_t *tmp_sec)\n@@ -687,7 +689,7 @@ static int zipl_run_normal(ComponentEntry **entry_ptr, uint8_t *tmp_sec)\n             continue;\n         }\n \n-        if (zipl_load_segment(entry)) {\n+        if (zipl_load_segment(entry->data.blockno, entry->compdat.load_addr) < 0) {\n             return -1;\n         }\n \ndiff --git a/pc-bios/s390-ccw/bootmap.h b/pc-bios/s390-ccw/bootmap.h\nindex 95943441d3..8d61ac383c 100644\n--- a/pc-bios/s390-ccw/bootmap.h\n+++ b/pc-bios/s390-ccw/bootmap.h\n@@ -113,6 +113,8 @@ typedef struct ScsiMbr {\n     ScsiBlockPtr pt;   /* block pointer to program table */\n } __attribute__ ((packed)) ScsiMbr;\n \n+int zipl_load_segment(block_number_t blockno, uint64_t address);\n+\n #define ZIPL_MAGIC              \"zIPL\"\n #define ZIPL_MAGIC_EBCDIC       \"\\xa9\\xc9\\xd7\\xd3\"\n #define IPL1_MAGIC \"\\xc9\\xd7\\xd3\\xf1\" /* == \"IPL1\" in EBCDIC */\n",
    "prefixes": [
        "v11",
        "19/32"
    ]
}