Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2217019/?format=api
{ "id": 2217019, "url": "http://patchwork.ozlabs.org/api/patches/2217019/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260327145012.907264-1-peter.maydell@linaro.org/", "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": "<20260327145012.907264-1-peter.maydell@linaro.org>", "list_archive_url": null, "date": "2026-03-27T14:50:12", "name": "hw/arm/xilinx_zynq: Use strcasecmp to parse boot-mode option values", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "64794d0bc8d21ea9bcce5cf2a3e7e05e6ba66408", "submitter": { "id": 5111, "url": "http://patchwork.ozlabs.org/api/people/5111/?format=api", "name": "Peter Maydell", "email": "peter.maydell@linaro.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260327145012.907264-1-peter.maydell@linaro.org/mbox/", "series": [ { "id": 497781, "url": "http://patchwork.ozlabs.org/api/series/497781/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=497781", "date": "2026-03-27T14:50:12", "name": "hw/arm/xilinx_zynq: Use strcasecmp to parse boot-mode option values", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/497781/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2217019/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2217019/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=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=rcynbq2W;\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 4fj3Vd4F7Jz1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 28 Mar 2026 01:51:05 +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 1w68WA-0006kw-GC; Fri, 27 Mar 2026 10:50:34 -0400", "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 <peter.maydell@linaro.org>)\n id 1w68Vw-0006jQ-OT\n for qemu-devel@nongnu.org; Fri, 27 Mar 2026 10:50:23 -0400", "from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <peter.maydell@linaro.org>)\n id 1w68Vr-0005U0-AU\n for qemu-devel@nongnu.org; Fri, 27 Mar 2026 10:50:16 -0400", "by mail-wm1-x32a.google.com with SMTP id\n 5b1f17b1804b1-486fc4725f0so20261925e9.1\n for <qemu-devel@nongnu.org>; Fri, 27 Mar 2026 07:50:14 -0700 (PDT)", "from lanath.. (wildly.archaic.org.uk. [81.2.115.145])\n by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-43b919cf1c4sm15509537f8f.23.2026.03.27.07.50.12\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 27 Mar 2026 07:50:12 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1774623013; x=1775227813; 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=R+HW13UG3MLKGMw2KjovNJw38Kv1EGF+VIWRguG2wFE=;\n b=rcynbq2WZME1G2pqlX5PrsAuknudV8jFiumzjv/531/4R0STiLgMJrVCJWrI1RJqLw\n Jwu6iuKDts72pnGIFwJbi4cqnVej5ldu5+1e7Jvj3uoj4+S76fEa/q1ZNRv3WFmUn4mE\n XGlKgEZCcFm4eZcjTJz7FAaIkWrwa8X4GqSV3iNkpwbKfwSQGbEEl+l0K/BCdVwnpEhD\n 7PrfGPdli6afZLr+/w8I4wsa+WFl3+rQJmaGivM9ul+rTsnT6aCn0l9Bo64wI63LJiz3\n NCPLGmxU6xQz/cVT6sFkXnsnEjZE/unt6l2v4FKZskESkUlGGRIUz7Jst0W3vxI7tbEq\n 7XZg==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1774623013; x=1775227813;\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=R+HW13UG3MLKGMw2KjovNJw38Kv1EGF+VIWRguG2wFE=;\n b=F1lzzZcGtx3g3AcihSZH8GtcQ9iV2v0DQsW8LyqVVhnx8rCcwJny0uwdztVeDLh2Nz\n 2YJGxro5lcFPmOaLL12VoGfFsPVEN3DRs6OqSQFGdgM+afEvTNMFHIUAPDyWH+N4Qwrb\n sEBYctwAOv9NHU321BiqlQb6ktOsvIly1oMxR3ueImGWlLM1beaEwaw8+RkyGALpSNKP\n GuxheXtDP76p32EiWljuAU2+xbVNbUvfsc1TQyiUTXr3jNtXGmO8uzeOd4Y22Mxdc3SY\n nphrYC8stvVvbHmK9+0ArmguMdNi7wfBlc5oy8vXcLOuteABAkKenhAVxAk49p8s/0ck\n kEKA==", "X-Forwarded-Encrypted": "i=1;\n AJvYcCW0/iFMBWzKZp44pwsH7tUiswng8AY6INNur3UQK7yaw+rtDt15pAZ8Pvuarr70NNCFYwqNYTkWt63k@nongnu.org", "X-Gm-Message-State": "AOJu0Yw2LpEMg3W/KXhLTcNXkt+Qk0bJRiZhOBoA6jIRlycaAeeaq8/E\n 9aA6cvwBywJVHF5F1f3U8E3IKHAAluyRfcEkVH452ciPo7SELpFSEaw2OKB0KqqhDuM=", "X-Gm-Gg": "ATEYQzwj/45ufdYDjmFwweNPCn5/7ytyaqrO/u6znZsEu2Pg5+SBLEm4fXpnqJ3OzGJ\n JpgBgndcm5m51FjWGwBhx/CnIL62tP5AOYZwmIHABdhVtx1fQAY55n0dDJEm20QYm1i8x6EQcK/\n Wy8OO12AiWLldN65m99jziHA5WPPRZ53m14ARNNFcrDTOfGKxYXOiF3xIaLOVmPez5PKvHySWvK\n ugbi6hJzsN8N4EOplcL+Tm8mMqo+sGfl4YuX1Vh7ixfGkMzVLITNsGOfjuoankg8hbkrdU4uyYc\n 9jqDeFxUr/C//IFf6yQ4+6P4yRUnq6Jn8fPl2VNe/aFN9XQE3gJVx0zBgtymFuvx6/0OrDeNSfZ\n bBpQ6DpVGm9Zy+tVHVALCautrr4vXohapaw1v/EdL+rrIBIdc/2yb5ri7HBPr06Tkc6u2J9ZLjR\n LRb324rXSYAIMCsy9EKIarmnkSzSaYZgrSw89OxF4gQ6VnDO5R+rmDastievL+RGoSxXVvbgiXJ\n iF81TUBHnoe2ceBHNvYELzw+bpvf4iaFJwd6vHOTA==", "X-Received": "by 2002:a05:600c:792:b0:485:4f11:aabc with SMTP id\n 5b1f17b1804b1-48722bf80d6mr46936765e9.15.1774623013401;\n Fri, 27 Mar 2026 07:50:13 -0700 (PDT)", "From": "Peter Maydell <peter.maydell@linaro.org>", "To": "qemu-arm@nongnu.org,\n\tqemu-devel@nongnu.org", "Cc": "\"Edgar E. Iglesias\" <edgar.iglesias@gmail.com>,\n Alistair Francis <alistair@alistair23.me>,\n Kostiantyn Kostiuk <kkostiuk@redhat.com>", "Subject": "[PATCH] hw/arm/xilinx_zynq: Use strcasecmp to parse boot-mode option\n values", "Date": "Fri, 27 Mar 2026 14:50:12 +0000", "Message-ID": "<20260327145012.907264-1-peter.maydell@linaro.org>", "X-Mailer": "git-send-email 2.43.0", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Received-SPF": "pass client-ip=2a00:1450:4864:20::32a;\n envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32a.google.com", "X-Spam_score_int": "-20", "X-Spam_score": "-2.1", "X-Spam_bar": "--", "X-Spam_report": "(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, 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": "In zynq_set_boot_mode() where we parse the string the user has set\nthe boot-mode option to, we use strncasecmp(str, \"qspi\", 4) and so\non. This is wrong, because it means that we will ignore any trailing\njunk on the end of the option string, and handle\n -machine boot-mode=sdXYZZY\nthe same as\n -machine boot-mode=sd\n\nIn the documentation we say:\n Supported values are ``jtag``, ``sd``, ``qspi`` and ``nor``.\nand that's obviously what we meant to implement.\n\nThe correct tool for this job is a simple strcasecmp operation.\nSwitch to that.\n\nWe use the g_ascii_strcasecmp() rather than plain strcasecmp()\nbecause we're comparing ASCII strings here and don't want the\npotentially locale-specific behaviour that strcasecmp() implies (and\nwe're trying to standardize on the glib function for this kind of\nstring comparison).\n\nFixes: 7df3747c92d13 (\"hw/arm/xilinx_zynq: Add boot-mode property\")\nSigned-off-by: Peter Maydell <peter.maydell@linaro.org>\n---\nKostiantyn: I sent this patch out while it was on my mind, but\ndon't worry about conflicts with your series -- assuming your\npatchset goes in first I'll fix this one up later.\n---\n hw/arm/xilinx_zynq.c | 8 ++++----\n 1 file changed, 4 insertions(+), 4 deletions(-)", "diff": "diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c\nindex d43f36b718..9dcded9219 100644\n--- a/hw/arm/xilinx_zynq.c\n+++ b/hw/arm/xilinx_zynq.c\n@@ -186,13 +186,13 @@ static void zynq_set_boot_mode(Object *obj, const char *str,\n ZynqMachineState *m = ZYNQ_MACHINE(obj);\n uint8_t mode = 0;\n \n- if (!strncasecmp(str, \"qspi\", 4)) {\n+ if (!g_ascii_strcasecmp(str, \"qspi\")) {\n mode = 1;\n- } else if (!strncasecmp(str, \"sd\", 2)) {\n+ } else if (!g_ascii_strcasecmp(str, \"sd\")) {\n mode = 5;\n- } else if (!strncasecmp(str, \"nor\", 3)) {\n+ } else if (!g_ascii_strcasecmp(str, \"nor\")) {\n mode = 2;\n- } else if (!strncasecmp(str, \"jtag\", 4)) {\n+ } else if (!g_ascii_strcasecmp(str, \"jtag\")) {\n mode = 0;\n } else {\n error_setg(errp, \"%s boot mode not supported\", str);\n", "prefixes": [] }