{"id":2221172,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2221172/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260408022507.27457-1-yujun@kylinos.cn/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.1/projects/14/?format=json","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":""},"msgid":"<20260408022507.27457-1-yujun@kylinos.cn>","date":"2026-04-08T02:25:07","name":"system: Improve error handling and robustness","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"1076f77a30bc6ceabd1c61bd61edd3f0a574df68","submitter":{"id":93090,"url":"http://patchwork.ozlabs.org/api/1.1/people/93090/?format=json","name":"Jun Yu","email":"yujun@kylinos.cn"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260408022507.27457-1-yujun@kylinos.cn/mbox/","series":[{"id":499199,"url":"http://patchwork.ozlabs.org/api/1.1/series/499199/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=499199","date":"2026-04-08T02:25:07","name":"system: Improve error handling and robustness","version":1,"mbox":"http://patchwork.ozlabs.org/series/499199/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2221172/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2221172/checks/","tags":{},"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 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 (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 4frYCW36d1z1yD6\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 09 Apr 2026 05:33:59 +1000 (AEST)","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 1wAYdS-000368-H4; Wed, 08 Apr 2026 15:32:22 -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 <yujun@kylinos.cn>) id 1wAYA7-0000rf-6B\n for qemu-devel@nongnu.org; Wed, 08 Apr 2026 15:02:03 -0400","from mailgw.kylinos.cn ([124.126.103.232])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <yujun@kylinos.cn>) id 1wAIbZ-0006Vr-MR\n for qemu-devel@nongnu.org; Tue, 07 Apr 2026 22:25:24 -0400","from localhost.localdomain [(10.44.16.150)] by mailgw.kylinos.cn\n (envelope-from <yujun@kylinos.cn>)\n (Generic MTA with TLSv1.3 TLS_AES_256_GCM_SHA384 256/256)\n with ESMTP id 1406993118; Wed, 08 Apr 2026 10:25:13 +0800"],"X-UUID":["2c429f2a32f211f1aa26b74ffac11d73-20260408","2c429f2a32f211f1aa26b74ffac11d73-20260408"],"X-CID-P-RULE":"Release_Ham","X-CID-O-INFO":"VERSION:1.3.12, REQID:86b7a1dc-c663-4b84-a90d-eb7dd1256d10,\n IP:0,\n U\n RL:0,TC:0,Content:0,EDM:-25,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTIO\n N:release,TS:-25","X-CID-META":"VersionHash:e7bac3a, CLOUDID:d5ee1104897b8e35f4c2d2b1890b79b1,\n BulkI\n D:nil,BulkQuantity:0,Recheck:0,SF:102|850|898,TC:nil,Content:0|15|50,EDM:2\n ,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV\n :0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0","X-CID-BVR":"2,SSN|SDN","X-CID-BAS":"2,SSN|SDN,0,_","X-CID-FACTOR":"TF_CID_SPAM_SNR","X-CID-RHF":"D41D8CD98F00B204E9800998ECF8427E","X-User":"yujun@kylinos.cn","From":"Jun Yu <yujun@kylinos.cn>","To":"pbonzini@redhat.com","Cc":"qemu-devel@nongnu.org,\n\tJun Yu <yujun@kylinos.cn>","Subject":"[PATCH] system: Improve error handling and robustness","Date":"Wed,  8 Apr 2026 10:25:07 +0800","Message-Id":"<20260408022507.27457-1-yujun@kylinos.cn>","X-Mailer":"git-send-email 2.25.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=124.126.103.232; envelope-from=yujun@kylinos.cn;\n helo=mailgw.kylinos.cn","X-Spam_score_int":"-18","X-Spam_score":"-1.9","X-Spam_bar":"-","X-Spam_report":"(-1.9 / 5.0 requ) BAYES_00=-1.9,\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,\n UNPARSEABLE_RELAY=0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-Mailman-Approved-At":"Wed, 08 Apr 2026 15:32:16 -0400","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":"This commit fixes two important issues:\n\n1. In parse_name(), ensure qemu_name is never NULL by initializing it to\n   an empty string when the \"guest\" option is not provided. This prevents\n   potential null pointer dereferences.\n\n2. In parse_add_fd(), replace error_abort with proper error handling\n   using the provided errp parameter. This avoids immediate program\n   termination on failure and allows for more graceful error reporting.\n\nThese changes improve the robustness of the QEMU system emulator by\nproviding more predictable error handling and preventing potential\ncrashes.\n\nSigned-off-by: Jun Yu <yujun@kylinos.cn>\n---\n system/vl.c | 9 ++++++++-\n 1 file changed, 8 insertions(+), 1 deletion(-)","diff":"diff --git a/system/vl.c b/system/vl.c\nindex 246623b319..eb07b04044 100644\n--- a/system/vl.c\n+++ b/system/vl.c\n@@ -560,6 +560,9 @@ static int parse_name(void *opaque, QemuOpts *opts, Error **errp)\n     }\n \n     qemu_name = qemu_opt_get(opts, \"guest\");\n+    if (!qemu_name) {\n+        qemu_name = \"\";\n+    }\n \n     proc_name = qemu_opt_get(opts, \"process\");\n     if (proc_name) {\n@@ -626,7 +629,11 @@ static int parse_add_fd(void *opaque, QemuOpts *opts, Error **errp)\n \n     /* add the duplicate fd, and optionally the opaque string, to the fd set */\n     fdinfo = monitor_fdset_add_fd(dupfd, true, fdset_id, fd_opaque,\n-                                  &error_abort);\n+                                  errp);\n+    if (!fdinfo) {\n+        close(dupfd);\n+        return -1;\n+    }\n     g_free(fdinfo);\n \n     return 0;\n","prefixes":[]}