From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43230) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDb1f-0006I3-GV for qemu-devel@nongnu.org; Thu, 16 Jun 2016 13:24:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bDb1e-0000sT-KN for qemu-devel@nongnu.org; Thu, 16 Jun 2016 13:24:19 -0400 Received: from orth.archaic.org.uk ([2001:8b0:1d0::2]:57857) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDb1e-0000s3-Dw for qemu-devel@nongnu.org; Thu, 16 Jun 2016 13:24:18 -0400 From: Peter Maydell Date: Thu, 16 Jun 2016 18:17:25 +0100 Message-Id: <1466097446-981-5-git-send-email-peter.maydell@linaro.org> In-Reply-To: <1466097446-981-1-git-send-email-peter.maydell@linaro.org> References: <1466097446-981-1-git-send-email-peter.maydell@linaro.org> Subject: [Qemu-devel] [PATCH 4/5] hw/net/virtio-net.c: Don't use *_to_cpup() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: patches@linaro.org, Jason Wang , Dmitry Fleytman , Scott Feldman , Jiri Pirko , "Michael S. Tsirkin" Don't use *_to_cpup() to do byte-swapped loads; instead use ld*_p() which correctly handle misaligned accesses. Signed-off-by: Peter Maydell --- hw/net/virtio-net.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 5798f87..7e6a60a 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -1051,7 +1051,7 @@ static int receive_filter(VirtIONet *n, const uint8_t *buf, int size) ptr += n->host_hdr_len; if (!memcmp(&ptr[12], vlan, sizeof(vlan))) { - int vid = be16_to_cpup((uint16_t *)(ptr + 14)) & 0xfff; + int vid = lduw_be_p(ptr + 14) & 0xfff; if (!(n->vlans[vid >> 5] & (1U << (vid & 0x1f)))) return 0; } -- 1.9.1