Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2222670/?format=api
{ "id": 2222670, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2222670/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260413112151.61261-1-anisinha@redhat.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": "<20260413112151.61261-1-anisinha@redhat.com>", "list_archive_url": null, "date": "2026-04-13T11:21:51", "name": "[V2,for-11.0] accel/kvm: return early from kvm_irqchip_create if kvm does not support irqchip", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "3b773f34b956465f966b60bd9e395b8f979485e3", "submitter": { "id": 86030, "url": "http://patchwork.ozlabs.org/api/1.2/people/86030/?format=api", "name": "Ani Sinha", "email": "anisinha@redhat.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260413112151.61261-1-anisinha@redhat.com/mbox/", "series": [ { "id": 499685, "url": "http://patchwork.ozlabs.org/api/1.2/series/499685/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=499685", "date": "2026-04-13T11:21:51", "name": "[V2,for-11.0] accel/kvm: return early from kvm_irqchip_create if kvm does not support irqchip", "version": 2, "mbox": "http://patchwork.ozlabs.org/series/499685/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2222670/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2222670/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 (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=T/Vr6G0m;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=google header.b=ShauDyYJ;\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 4fvQ4B3kwZz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 13 Apr 2026 21:22:34 +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 1wCFN2-0001pY-4L; Mon, 13 Apr 2026 07:22:25 -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 <anisinha@redhat.com>)\n id 1wCFN0-0001pP-Tn\n for qemu-devel@nongnu.org; Mon, 13 Apr 2026 07:22:23 -0400", "from us-smtp-delivery-124.mimecast.com ([170.10.129.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <anisinha@redhat.com>)\n id 1wCFMy-0000eN-09\n for qemu-devel@nongnu.org; Mon, 13 Apr 2026 07:22:22 -0400", "from mail-pf1-f199.google.com (mail-pf1-f199.google.com\n [209.85.210.199]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-279-kf8n1EHkNoKXbhmzrGITow-1; Mon, 13 Apr 2026 07:22:17 -0400", "by mail-pf1-f199.google.com with SMTP id\n d2e1a72fcca58-82a6c70f1f8so2872996b3a.0\n for <qemu-devel@nongnu.org>; Mon, 13 Apr 2026 04:22:17 -0700 (PDT)", "from localhost.localdomain ([122.163.114.34])\n by smtp.googlemail.com with ESMTPSA id\n d2e1a72fcca58-82f0c35194asm13842808b3a.20.2026.04.13.04.22.12\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 13 Apr 2026 04:22:15 -0700 (PDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1776079338;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding;\n bh=/cKganVCUcy7ncPCYHfRMqqbTtbqcMv+xZ3LSLbvgvs=;\n b=T/Vr6G0mfLVbMVZuzQTqWYduW1L4LIDzl9Ao58aCitid9JjUq+jw/yhDV+//DTQXkPKn4B\n Tqj1vU1p1fSngrTywcMshdMu1ekO1EeO02C0nPJt8pgUqOElC8h3YSHFxAzy0RrTC6ZvZa\n UmibUyHhgHVVxlbxeAHD/0b6XunMejY=", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com; s=google; t=1776079336; x=1776684136; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=/cKganVCUcy7ncPCYHfRMqqbTtbqcMv+xZ3LSLbvgvs=;\n b=ShauDyYJPSn0kiNPAxoQgPuasE0GIJecSbM15PYFzcNTY4b0Vq+l1T7RNXyVCcyzt+\n T26yDra5TfoeAtT9x4xphoU5+tstAX+ewTAmlhbU6V70EfaHqR0hHRFo2dTp9RmpRMl3\n q5aJ/MZykD4YAZh29WGMj6cnCdIJqKeiCqnjfYHJwSlmr/PH8GpJmEfu0h/jDZ6Dxo4q\n 50MCcGa7nBlQ58HxmpdQRDvBfq0LPayMfnFyqnRseS5VHosvsMM6j0PDx/imjE+xRWJH\n jTpFJ/NeBaPSsg2M8StKDG6IkrqSiN36fgQyXBaHNUFZiGbpXsWCWjTbxxu9mN6SQk5m\n OwPQ==" ], "X-MC-Unique": "kf8n1EHkNoKXbhmzrGITow-1", "X-Mimecast-MFC-AGG-ID": "kf8n1EHkNoKXbhmzrGITow_1776079336", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776079336; x=1776684136;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=/cKganVCUcy7ncPCYHfRMqqbTtbqcMv+xZ3LSLbvgvs=;\n b=JbyZxqk/KuOuG7wthKvDrW/hxqVoRsRkzw6dZlGDcuJEfdOJlbwH/ZrZInPsVMWecR\n fb+84A4bIVOvWYvy9+0VZ7ZVzfVtb/xorkYCz2nCYUv4UO4IXBGSHPwNZyKR77KNEsDm\n GjcCfQgVWNLIBNQcq36upimPeWt0yg9tolkMSdekq4v+82b9Qc0dEj1jmrAAAJrcFftr\n 2hUF8UNyQRpYhP36YoEj/Z3OG1huIYrIuxUeugpQpnwqYOTjWiZ8jOY7yRg48rHL0vwH\n sS5hUnWD3a7WRr2qO3IyCVW/tpvb9KgZADSQwqWO4fnhzJ/Kj1eCVgvPRl11EBY32mkW\n ZK+w==", "X-Forwarded-Encrypted": "i=1;\n AFNElJ9CWiJ1jlx3g5U9LjML1xIvnRaOgsyjpvKa5heBTbLFkRlo1YnAAOIVQL2vZTGBC1HKI+RaejXt/M0G@nongnu.org", "X-Gm-Message-State": "AOJu0Yx0p8nmkT/SrwtSgE/KCHzkjqapgvzIdp2FvkCwh68yAQzUtDJv\n 4dCUy/cDtmZ8ZUi0eK/J3CiPuqwoCSVm0l5aXSfHg7R2m/hUx/BKV73WZv1IILBiwkX6nd6MIox\n IDKXYvGUGiyhP0PEKVsoGh0fw9DaIDn7cKAI4foq2glCSDXAEgcqkDif3", "X-Gm-Gg": "AeBDieu4hRAwfh+w2wmL9QPTrA8pcHT93O8WlCYp4v5FkG/1JSRKqO1nqqbpYTxIt8P\n nNU/B5Xo2LDDed5cMxj9nHyhOOcstKWkClK14oH85xwTQPnj1JnxqRWv8n/FhZxEM2jPZ4f8JOg\n DerUZzVgqI5VuU/TE1TLm3aO1HiLrbZOUZBJf1yWe0bXF+/E9tbO/HqeG2S+A1gzMV0IXPnY3x8\n uM9+2CqKPrNpT+WmVITd7xX22uXIIsuf84Gqfb96wL4toQPshJ5Fj9T3T7haGKQupAV3ifxoXZN\n a0Qipbk+zItlvJfcy6dHsUi6Dqs/zNT6NbpVT0MTp3pAmws0++F0PMUEJRI7V37eqNjY2sL+s8U\n kg38VAJ9rhaCedIhXiKXSG61/A49FTfXfeISaJ+XNqAaY+8N3nWSyn7KzwRrtJxLjMEUODcuXgr\n fpRUgCWA==", "X-Received": [ "by 2002:a05:6a00:608b:b0:82f:2115:99ab with SMTP id\n d2e1a72fcca58-82f2115ea3dmr5937936b3a.33.1776079335951;\n Mon, 13 Apr 2026 04:22:15 -0700 (PDT)", "by 2002:a05:6a00:608b:b0:82f:2115:99ab with SMTP id\n d2e1a72fcca58-82f2115ea3dmr5937912b3a.33.1776079335491;\n Mon, 13 Apr 2026 04:22:15 -0700 (PDT)" ], "From": "Ani Sinha <anisinha@redhat.com>", "To": "Paolo Bonzini <pbonzini@redhat.com>", "Cc": "peter.maydell@linaro.org, Ani Sinha <anisinha@redhat.com>,\n Misbah Anjum N <misanjum@linux.ibm.com>,\n Gautam Menghani <gautam@linux.ibm.com>, Fabiano Rosas <farosas@suse.de>,\n Harsh Prateek Bora <harshpb@linux.ibm.com>, kvm@vger.kernel.org,\n qemu-devel@nongnu.org", "Subject": "[PATCH V2 for-11.0] accel/kvm: return early from kvm_irqchip_create\n if kvm does not support irqchip", "Date": "Mon, 13 Apr 2026 16:51:51 +0530", "Message-ID": "<20260413112151.61261-1-anisinha@redhat.com>", "X-Mailer": "git-send-email 2.49.0", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Received-SPF": "pass client-ip=170.10.129.124;\n envelope-from=anisinha@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com", "X-Spam_score_int": "-25", "X-Spam_score": "-2.6", "X-Spam_bar": "--", "X-Spam_report": "(-2.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.54,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, 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_PASS=-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": "During refactoring of kvm_irqchip_create(), the refactored code was returning\nearly from do_kvm_irqchip_create() function if the required capabilities were\nnot present in KVM. This was not translating to an early return from\nkvm_irqchip_create() as was the case before refactoring. This is because,\ndo_kvm_irqchip_create() did not have a means to notify the caller of the lack\nof kvm capabilities. Fix this by making do_notify_irqchip_create() return\nEOPNOTSUPP error when required capabilities are absent and then the caller\ncan check the return code and return early.\n\nConverted some calls to exit() to assertion checks in order to make it cleaner.\n\nFixes: 98884e0cc1 (\"accel/kvm: add changes required to support KVM VM file descriptor change\")\nReported-by: Misbah Anjum N <misanjum@linux.ibm.com>\nReported-by: Gautam Menghani <gautam@linux.ibm.com>\nSuggested-by: Fabiano Rosas <farosas@suse.de>\nSuggested-by: Harsh Prateek Bora <harshpb@linux.ibm.com>\nSigned-off-by: Ani Sinha <anisinha@redhat.com>\n---\n accel/kvm/kvm-all.c | 29 ++++++++++++++++-------------\n 1 file changed, 16 insertions(+), 13 deletions(-)\n\nchangelog:\nv2: converted some exit() calls to assertions.", "diff": "diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c\nindex 774499d34f..c78bf6a56f 100644\n--- a/accel/kvm/kvm-all.c\n+++ b/accel/kvm/kvm-all.c\n@@ -2575,7 +2575,7 @@ void kvm_irqchip_set_qemuirq_gsi(KVMState *s, qemu_irq irq, int gsi)\n g_hash_table_insert(s->gsimap, irq, GINT_TO_POINTER(gsi));\n }\n \n-static void do_kvm_irqchip_create(KVMState *s)\n+static int do_kvm_irqchip_create(KVMState *s)\n {\n int ret;\n if (kvm_check_extension(s, KVM_CAP_IRQCHIP)) {\n@@ -2587,36 +2587,38 @@ static void do_kvm_irqchip_create(KVMState *s)\n exit(1);\n }\n } else {\n- return;\n+ /*\n+ * neither KVM_CAP_IRQCHIP nor KVM_CAP_S390_IRQCHIP capabilities are\n+ * present. Bail.\n+ */\n+ return -EOPNOTSUPP;\n }\n \n- if (kvm_check_extension(s, KVM_CAP_IRQFD) <= 0) {\n- fprintf(stderr, \"kvm: irqfd not implemented\\n\");\n- exit(1);\n- }\n+ assert(kvm_check_extension(s, KVM_CAP_IRQFD));\n \n /* First probe and see if there's a arch-specific hook to create the\n * in-kernel irqchip for us */\n ret = kvm_arch_irqchip_create(s);\n if (ret == 0) {\n- if (s->kernel_irqchip_split == ON_OFF_AUTO_ON) {\n- error_report(\"Split IRQ chip mode not supported.\");\n- exit(1);\n- } else {\n- ret = kvm_vm_ioctl(s, KVM_CREATE_IRQCHIP);\n- }\n+ /* assert that split IRQ chip mode is supported. */\n+ assert(s->kernel_irqchip_split != ON_OFF_AUTO_ON);\n+ ret = kvm_vm_ioctl(s, KVM_CREATE_IRQCHIP);\n }\n if (ret < 0) {\n fprintf(stderr, \"Create kernel irqchip failed: %s\\n\", strerror(-ret));\n exit(1);\n }\n+\n+ return 0;\n }\n \n static void kvm_irqchip_create(KVMState *s)\n {\n assert(s->kernel_irqchip_split != ON_OFF_AUTO_AUTO);\n \n- do_kvm_irqchip_create(s);\n+ if (do_kvm_irqchip_create(s) < 0) {\n+ return;\n+ }\n kvm_kernel_irqchip = true;\n /* If we have an in-kernel IRQ chip then we must have asynchronous\n * interrupt delivery (though the reverse is not necessarily true)\n@@ -2835,6 +2837,7 @@ static int kvm_reset_vmfd(MachineState *ms)\n }\n \n if (s->kernel_irqchip_allowed) {\n+ /* ignore return from this function */\n do_kvm_irqchip_create(s);\n }\n \n", "prefixes": [ "V2", "for-11.0" ] }