Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2196074/?format=api
{ "id": 2196074, "url": "http://patchwork.ozlabs.org/api/patches/2196074/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260212204352.1044699-14-zycai@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": "<20260212204352.1044699-14-zycai@linux.ibm.com>", "list_archive_url": null, "date": "2026-02-12T20:43:34", "name": "[v8,13/30] s390x/ipl: Introduce IPL Information Report Block (IIRB)", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "5977e2ae0375e40911a304f0d53d4b8e0f867ed7", "submitter": { "id": 90643, "url": "http://patchwork.ozlabs.org/api/people/90643/?format=api", "name": "Zhuoying Cai", "email": "zycai@linux.ibm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260212204352.1044699-14-zycai@linux.ibm.com/mbox/", "series": [ { "id": 492021, "url": "http://patchwork.ozlabs.org/api/series/492021/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=492021", "date": "2026-02-12T20:43:36", "name": "Secure IPL Support for SCSI Scheme of virtio-blk/virtio-scsi Devices", "version": 8, "mbox": "http://patchwork.ozlabs.org/series/492021/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2196074/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2196074/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=HTQywdEB;\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=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists.gnu.org (lists.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 4fBnPV0cK2z1xr1\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 13 Feb 2026 07:45:34 +1100 (AEDT)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1vqdY6-0000m2-Kn; Thu, 12 Feb 2026 15:44:30 -0500", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists.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 1vqdY4-0000ko-Id; Thu, 12 Feb 2026 15:44:28 -0500", "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 1vqdY2-0007cu-RN; Thu, 12 Feb 2026 15:44:28 -0500", "from pps.filterd (m0360083.ppops.net [127.0.0.1])\n by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 61CD9ntL2606743; Thu, 12 Feb 2026 20:44:23 GMT", "from ppma22.wdc07v.mail.ibm.com\n (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92])\n by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4c696ur7x0-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Thu, 12 Feb 2026 20:44:22 +0000 (GMT)", "from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1])\n by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 61CGjI8p008390;\n Thu, 12 Feb 2026 20:44:21 GMT", "from smtprelay07.wdc07v.mail.ibm.com ([172.16.1.74])\n by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4c6g3ym7ur-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Thu, 12 Feb 2026 20:44:21 +0000", "from smtpav06.wdc07v.mail.ibm.com (smtpav06.wdc07v.mail.ibm.com\n [10.39.53.233])\n by smtprelay07.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 61CKiKJk50397492\n (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n Thu, 12 Feb 2026 20:44:20 GMT", "from smtpav06.wdc07v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id 60AFC58055;\n Thu, 12 Feb 2026 20:44:20 +0000 (GMT)", "from smtpav06.wdc07v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id A3D2158054;\n Thu, 12 Feb 2026 20:44:18 +0000 (GMT)", "from fedora-workstation.ibmuc.com (unknown [9.61.112.15])\n by smtpav06.wdc07v.mail.ibm.com (Postfix) with ESMTP;\n Thu, 12 Feb 2026 20:44:18 +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=lqV14i4OXx37CwbJb\n YaajgUk0kzYUn8dpFUr9K3xZ34=; b=HTQywdEBtDMAwdwCzqMEPQVRv5Yrll3Dd\n qew0rn4ftzDNxbl7VTHOJwS/lwQyafnddZo42e6uU06abVPOwmEfZuk75+wfGZ4L\n +CiYvN+2RPk+QseM+i7LYcjnNbCZzBLYNGm5KOogVroKtcXXatdkW/KUXWzqkiu4\n NEzInO1VBSTfygGYfCXsK4BX4imnagwiMgPMMOu/frww1UeqBx9Jc6gJ81jB0Tn9\n tebp2+igxUSV8FpMsQx/hPAM5sTKAsY0Y/hmA0bJ9SCsU++zqzq1FKWpA8MyN/Ox\n pBuZo8jhz6t0sxBjiaEc8urGC5bll9Bu+TYvmuakKfvhw0jflthDA==", "From": "Zhuoying Cai <zycai@linux.ibm.com>", "To": "thuth@redhat.com, berrange@redhat.com, richard.henderson@linaro.org,\n jrossi@linux.ibm.com, qemu-s390x@nongnu.org, qemu-devel@nongnu.org", "Cc": "david@kernel.org, walling@linux.ibm.com, jjherne@linux.ibm.com,\n pasic@linux.ibm.com, borntraeger@linux.ibm.com, farman@linux.ibm.com,\n mjrosato@linux.ibm.com, iii@linux.ibm.com, eblake@redhat.com,\n armbru@redhat.com, zycai@linux.ibm.com, alifm@linux.ibm.com,\n brueckner@linux.ibm.com", "Subject": "[PATCH v8 13/30] s390x/ipl: Introduce IPL Information Report Block\n (IIRB)", "Date": "Thu, 12 Feb 2026 15:43:34 -0500", "Message-ID": "<20260212204352.1044699-14-zycai@linux.ibm.com>", "X-Mailer": "git-send-email 2.52.0", "In-Reply-To": "<20260212204352.1044699-1-zycai@linux.ibm.com>", "References": "<20260212204352.1044699-1-zycai@linux.ibm.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-TM-AS-GCONF": "00", "X-Authority-Analysis": "v=2.4 cv=KZnfcAYD c=1 sm=1 tr=0 ts=698e3ba6 cx=c_pps\n a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17\n a=HzLeVaNsDn8A:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22\n a=GgsMoib0sEa3-_RKJdDe:22 a=VnNF1IyMAAAA:8 a=1JLT7A-2tSAM-sJnsQYA:9", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwMjEyMDE1NyBTYWx0ZWRfX44m/NkW7Nlgp\n pdYaKlVnkZjhRF5/fVwVmxXDZeHqlQt1SuwsLyEnPIPRijT7kLEitfbzr3LiBfPRa9E4PMNDWTE\n N0s7mpq2fQ7caqF9sOLvgJKKHWngIJME01BXgqCggh1jEiSNSq0Kb7bt+W0CSeP/pfsY5anjG24\n toXMbdhwF2MIhvQ+Z0myg9iUYzUM0kKptvzghWLbtb/K+FgTmpRooqIFC83HQhOwTtKyd7EuKDs\n 6KC2iGiVhtLa708jUj9qLNxEG7of1z90fvun7DP1+zkRtsJJNwB6qNAs3gsPJRjO1y0HrS17DV1\n s62Q3zjn3QFCOcuVFzy6r/aw9fn60OejhxjQzzZwO+jSIDpC5DgyhzvGWIlBYNcmkdvVMhuOkaC\n yZJV7meYUTRqHzXAS9TmtvAH7M7pGaDT8lCLV245AGwDx+/dtenlHRzqqFSHRn/JuNgeq9dHfeq\n xS/oiLKuvJyARmbEVrQ==", "X-Proofpoint-ORIG-GUID": "artyuK00BKafEVP_wPWZz_OnZDaOZ58l", "X-Proofpoint-GUID": "artyuK00BKafEVP_wPWZz_OnZDaOZ58l", "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-02-12_05,2026-02-12_03,2025-10-01_01", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n spamscore=0 impostorscore=0 bulkscore=0 priorityscore=1501 adultscore=0\n clxscore=1015 suspectscore=0 phishscore=0 malwarescore=0 lowpriorityscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602120157", "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": "-19", "X-Spam_score": "-2.0", "X-Spam_bar": "--", "X-Spam_report": "(-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001,\n RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,\n SPF_HELO_NONE=0.001, 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": "The IPL information report block (IIRB) contains information used\nto locate IPL records and to report the results of signature verification\nof one or more secure components of the load device.\n\nIIRB is stored immediately following the IPL Parameter Block. Results on\ncomponent verification in any case (failure or success) are stored.\n\nSigned-off-by: Zhuoying Cai <zycai@linux.ibm.com>\n---\n docs/specs/s390x-secure-ipl.rst | 14 ++++++++\n include/hw/s390x/ipl/qipl.h | 59 +++++++++++++++++++++++++++++++++\n 2 files changed, 73 insertions(+)", "diff": "diff --git a/docs/specs/s390x-secure-ipl.rst b/docs/specs/s390x-secure-ipl.rst\nindex 6e5a86fcf4..82dd8b847a 100644\n--- a/docs/specs/s390x-secure-ipl.rst\n+++ b/docs/specs/s390x-secure-ipl.rst\n@@ -95,3 +95,17 @@ Subcode 1 - perform signature verification\n * ``0x0302``: PKCS#7 format signature is invalid\n * ``0x0402``: signature-verification failed\n * ``0x0502``: length of Diag508SigVerifBlock is invalid\n+\n+IPL Information Report Block\n+----------------------------\n+\n+The IPL Parameter Block (IPLPB), utilized for IPL operation, is extended with an\n+IPL Information Report Block (IIRB), which contains the results from secure IPL\n+operations such as:\n+\n+* component data\n+* verification results\n+* certificate data\n+\n+The guest's kernel inspects the IIRB and uses the certificate data it contains\n+to build the keyring.\ndiff --git a/include/hw/s390x/ipl/qipl.h b/include/hw/s390x/ipl/qipl.h\nindex e505f44020..0f1f55c428 100644\n--- a/include/hw/s390x/ipl/qipl.h\n+++ b/include/hw/s390x/ipl/qipl.h\n@@ -126,4 +126,63 @@ union IplParameterBlock {\n } QEMU_PACKED;\n typedef union IplParameterBlock IplParameterBlock;\n \n+struct IplInfoReportBlockHeader {\n+ uint32_t len;\n+ uint8_t flags;\n+ uint8_t reserved1[11];\n+};\n+typedef struct IplInfoReportBlockHeader IplInfoReportBlockHeader;\n+\n+struct IplInfoBlockHeader {\n+ uint32_t len;\n+ uint8_t type;\n+ uint8_t reserved1[11];\n+};\n+typedef struct IplInfoBlockHeader IplInfoBlockHeader;\n+\n+enum IplInfoBlockType {\n+ IPL_INFO_BLOCK_TYPE_CERTIFICATES = 1,\n+ IPL_INFO_BLOCK_TYPE_COMPONENTS = 2,\n+};\n+\n+struct IplSignatureCertificateEntry {\n+ uint64_t addr;\n+ uint64_t len;\n+};\n+typedef struct IplSignatureCertificateEntry IplSignatureCertificateEntry;\n+\n+struct IplSignatureCertificateList {\n+ IplInfoBlockHeader ipl_info_header;\n+ IplSignatureCertificateEntry cert_entries[MAX_CERTIFICATES];\n+};\n+typedef struct IplSignatureCertificateList IplSignatureCertificateList;\n+\n+#define S390_IPL_DEV_COMP_FLAG_SC 0x80\n+#define S390_IPL_DEV_COMP_FLAG_CSV 0x40\n+\n+struct IplDeviceComponentEntry {\n+ uint64_t addr;\n+ uint64_t len;\n+ uint8_t flags;\n+ uint8_t reserved1[5];\n+ uint16_t cert_index;\n+ uint8_t reserved2[8];\n+};\n+typedef struct IplDeviceComponentEntry IplDeviceComponentEntry;\n+\n+struct IplDeviceComponentList {\n+ IplInfoBlockHeader ipl_info_header;\n+ IplDeviceComponentEntry device_entries[MAX_CERTIFICATES];\n+};\n+typedef struct IplDeviceComponentList IplDeviceComponentList;\n+\n+#define COMP_LIST_MAX sizeof(IplDeviceComponentList)\n+#define CERT_LIST_MAX sizeof(IplSignatureCertificateList)\n+\n+struct IplInfoReportBlock {\n+ IplInfoReportBlockHeader hdr;\n+ uint8_t info_blks[COMP_LIST_MAX + CERT_LIST_MAX];\n+};\n+typedef struct IplInfoReportBlock IplInfoReportBlock;\n+\n #endif\n", "prefixes": [ "v8", "13/30" ] }