Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2195948/?format=api
{ "id": 2195948, "url": "http://patchwork.ozlabs.org/api/patches/2195948/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260212140917.1443253-3-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": "<20260212140917.1443253-3-peter.maydell@linaro.org>", "list_archive_url": null, "date": "2026-02-12T14:09:14", "name": "[2/5] hw/net/rocker: Don't assume h_proto is aligned in eth_strip_vlan_ex()", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "713e6b2dc04a2dd3e506efeb8891d5d375382a68", "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/20260212140917.1443253-3-peter.maydell@linaro.org/mbox/", "series": [ { "id": 491981, "url": "http://patchwork.ozlabs.org/api/series/491981/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=491981", "date": "2026-02-12T14:09:12", "name": "net: mark eth_header, udp_header, tcp_header as QEMU_PACKED", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/491981/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2195948/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2195948/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=xhE2kO2E;\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 4fBcgM5HXxz1xr1\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 13 Feb 2026 01:11:59 +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 1vqXNx-0000ho-NR; Thu, 12 Feb 2026 09:09:39 -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 <peter.maydell@linaro.org>)\n id 1vqXNo-0000gD-6t\n for qemu-devel@nongnu.org; Thu, 12 Feb 2026 09:09:29 -0500", "from mail-wm1-x342.google.com ([2a00:1450:4864:20::342])\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 1vqXNm-0006Q6-1C\n for qemu-devel@nongnu.org; Thu, 12 Feb 2026 09:09:27 -0500", "by mail-wm1-x342.google.com with SMTP id\n 5b1f17b1804b1-48336a6e932so32424525e9.3\n for <qemu-devel@nongnu.org>; Thu, 12 Feb 2026 06:09:24 -0800 (PST)", "from lanath.. (wildly.archaic.org.uk. [81.2.115.145])\n by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-4835dd0e327sm123266885e9.14.2026.02.12.06.09.21\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 12 Feb 2026 06:09:22 -0800 (PST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1770905363; x=1771510163; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=b5ua7I8U2//YbkEEDizXTPRRQsakmeqQDlcwRr1J+aM=;\n b=xhE2kO2E3rvAgOsiccnqDLtELQGjaWNkH7thSoCSkx4ZgdTtZjdqVE8E0ylHOv/0U5\n SzjSqQJYWuPIuo3kZV//OqYj3Z78VzQDtliDq7W1nnaSEeKDm1eCH3dRO9ZjTKdYHCZ5\n aTgyOfxpg1SDcUjj42K7WcIMA0EQatOWrtVF/lzaQaJztZlkDCTUnSgVlI/JQha3Pbrj\n W+raUQ6sjpe7X2vfcs3g2mqBq1Zg+KnRXNJ/b2I7+PzuXbofwgzeKgs2s1YtrXraacL4\n 5WFrRQVy49GLex0OOusYIurHgbATi1XGSgGAjgdcSM6pd/dYK8v30u+4SBm7QFP9mjuY\n FOiQ==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1770905363; x=1771510163;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=b5ua7I8U2//YbkEEDizXTPRRQsakmeqQDlcwRr1J+aM=;\n b=NAZp+8LfLx891+4pkhQYg8oI3oUEOtjLmVSpVUg5vKyXSIUxuzH0/VurfexoT9ci/U\n uMA82XG2/w75liXD07hFbAwVJHUlOE0zvnB00gAbRlAgVAY+sHKGrahEdlWHox6bNFVe\n n7dlH9Ve5RtH9tiVJk6LGCoNo9EiqPvEXS5zEXkcGRBCfqz3EGOsa3PjYZteCrQxutWr\n 1WekREqOr0/D49lmVYejCoMHshl8SwNKGqq+UcL1ygiEIjmu1h/6KwpUyW19aK209QDh\n 8swwAbTsmHrD9qUT3cvS3Qq2mZ+1K1fIkoQYtYprEKwxb70uAGylIy0Kh4D1tUWC5YyD\n ztOw==", "X-Gm-Message-State": "AOJu0Yx86MPAVuS36Dgn2AwbG8DW57fDu82ZPB4GzRHqVygrvjKxw65B\n SndFWzBUpM6AfjHQuTWz7JLw2RcEkePMBy8oj3Za25aOKYFMs++UDeJCI6XDYW8yplEsqqmKkO7\n KtGjDYGg=", "X-Gm-Gg": "AZuq6aKr3msxuzTFesS0KL5kSs4zZCjxSGy2Spvyjmu3iNzIXdZCxBuVPzIXPT6l1SJ\n Z2ZcGLFsY7xZGmIkfZQGqXTaoc0vXwhj6SxL767FqkQC5Dub27RQS3Ce40LDrdIHdvUvvnP4HY1\n 9TteytBmclZbI1gYg9/7yakAvJeKfvkrzOcXuNBFcgEqqtF+LOJIvoAoAd/TzxBLSoJHMQ1rSsE\n PRk+KpvYNNIdJ6KHYISwy0TPV5ZqLMIU5k1WCyDVmpGxn38QSgchB2epOWP2gSwHWz3/MxjVxjh\n e/LCysR9U/gVWO/ptZ6vCS0Tis83JkwtmVgBJdxrIslVyEeaEpryWMsD2V0GXRLj1gjOl/EsKfE\n IgWSIG24O0+Zz9mYxkdW0CzK1qi4Rt+sRsgfw94QPlEDFrsJAr/AgCnYAoOzaxusYzqldlNEUev\n cw5FYe/TgmFsNmeBabzykgX+y12cvs8p6ezhUFvuRUq3zCKYMi2hlvo59edFlfODnQOxCrw66Rx\n Usa6piGKcR6STR+9Ba0NDH834SwNsQ=", "X-Received": "by 2002:a05:600c:3e0d:b0:47e:e20e:bbb2 with SMTP id\n 5b1f17b1804b1-483656ae35fmr43169275e9.7.1770905362982;\n Thu, 12 Feb 2026 06:09:22 -0800 (PST)", "From": "Peter Maydell <peter.maydell@linaro.org>", "To": "qemu-devel@nongnu.org", "Cc": "Jiri Pirko <jiri@resnulli.us>, Jason Wang <jasowang@redhat.com>,\n Dmitry Fleytman <dmitry.fleytman@gmail.com>,\n Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>,\n Patrick Venture <venture@google.com>", "Subject": "[PATCH 2/5] hw/net/rocker: Don't assume h_proto is aligned in\n eth_strip_vlan_ex()", "Date": "Thu, 12 Feb 2026 14:09:14 +0000", "Message-ID": "<20260212140917.1443253-3-peter.maydell@linaro.org>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260212140917.1443253-1-peter.maydell@linaro.org>", "References": "<20260212140917.1443253-1-peter.maydell@linaro.org>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Received-SPF": "pass client-ip=2a00:1450:4864:20::342;\n envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x342.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 eth_strip_vlan_ex() we take a pointer to the eth_header h_proto\nfield into a local uint16_t* variable, and then later in the function\nwe dereference that pointer. This isn't safe, because the eth_header\nstruct may not be aligned, and if we mark the struct as QEMU_PACKED\nthen gcc will complain about taking the address of a field in a\npacked struct.\n\nInstead, make the local variable be a void* and use the appropriate\nfunctions for accessing 16 bits of possibly unaligned data through\nit.\n\nSigned-off-by: Peter Maydell <peter.maydell@linaro.org>\n---\n net/eth.c | 6 +++---\n 1 file changed, 3 insertions(+), 3 deletions(-)", "diff": "diff --git a/net/eth.c b/net/eth.c\nindex 3f680cc033..12ec316e24 100644\n--- a/net/eth.c\n+++ b/net/eth.c\n@@ -274,7 +274,7 @@ eth_strip_vlan_ex(const struct iovec *iov, int iovcnt, size_t iovoff, int index,\n uint16_t *payload_offset, uint16_t *tci)\n {\n struct vlan_header vlan_hdr;\n- uint16_t *new_ehdr_proto;\n+ void *new_ehdr_proto;\n size_t new_ehdr_size;\n size_t copied;\n \n@@ -298,7 +298,7 @@ eth_strip_vlan_ex(const struct iovec *iov, int iovcnt, size_t iovoff, int index,\n return 0;\n }\n \n- if (copied < new_ehdr_size || be16_to_cpu(*new_ehdr_proto) != vet) {\n+ if (copied < new_ehdr_size || lduw_be_p(new_ehdr_proto) != vet) {\n return 0;\n }\n \n@@ -308,7 +308,7 @@ eth_strip_vlan_ex(const struct iovec *iov, int iovcnt, size_t iovoff, int index,\n return 0;\n }\n \n- *new_ehdr_proto = vlan_hdr.h_proto;\n+ stw_he_p(new_ehdr_proto, vlan_hdr.h_proto);\n *payload_offset = iovoff + new_ehdr_size + sizeof(vlan_hdr);\n *tci = be16_to_cpu(vlan_hdr.h_tci);\n \n", "prefixes": [ "2/5" ] }