[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULLv4 01/32] slirp: Avoid unaligned 16bit memory access
From: |
Samuel Thibault |
Subject: |
[Qemu-devel] [PULLv4 01/32] slirp: Avoid unaligned 16bit memory access |
Date: |
Thu, 7 Feb 2019 16:02:45 +0200 |
pkt parameter may be unaligned, so we must access it byte-wise.
This fixes sparc64 host SIGBUS during pxe boot.
Signed-off-by: Samuel Thibault <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
---
slirp/slirp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/slirp/slirp.c b/slirp/slirp.c
index a9674ab090..739f364770 100644
--- a/slirp/slirp.c
+++ b/slirp/slirp.c
@@ -829,7 +829,7 @@ void slirp_input(Slirp *slirp, const uint8_t *pkt, int
pkt_len)
if (pkt_len < ETH_HLEN)
return;
- proto = ntohs(*(uint16_t *)(pkt + 12));
+ proto = (((uint16_t) pkt[12]) << 8) + pkt[13];
switch(proto) {
case ETH_P_ARP:
arp_input(slirp, pkt, pkt_len);
--
2.20.1
- [Qemu-devel] [PULLv4 00/32] More work towards libslirp, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 02/32] slirp: Avoid marking naturally packed structs as QEMU_PACKED, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 09/32] slirp: replace trace functions with DEBUG calls, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 03/32] slirp: Don't mark struct ipq or struct ipasfrag as packed, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 13/32] slirp: add unregister_poll_fd() callback, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 08/32] slirp: add callbacks for timer, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 23/32] slirp: replace QEMU_BUILD_BUG_ON with G_STATIC_ASSERT, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 14/32] slirp: replace qemu_notify_event() with a callback, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 10/32] slirp: replace QEMU_PACKED with SLIRP_PACKED, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 01/32] slirp: Avoid unaligned 16bit memory access,
Samuel Thibault <=
- [Qemu-devel] [PULLv4 20/32] slirp: remove now useless QEMU headers inclusions, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 07/32] net/slirp: fix leaks on forwarding rule registration error, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 24/32] slirp: Move g_spawn_async_with_fds_qemu compatibility to slirp/, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 05/32] net/slirp: simplify checking for cmd: prefix, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 06/32] net/slirp: free forwarding rules on cleanup, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 11/32] slirp: replace most qemu socket utilities with slirp own version, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 15/32] slirp: move QEMU state saving to a separate unit, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 21/32] slirp: replace net/eth.h inclusion with own defines, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 04/32] slirp: generalize guestfwd with a callback based approach, Samuel Thibault, 2019/02/07
- [Qemu-devel] [PULLv4 19/32] slirp: remove qemu timer.h dependency, Samuel Thibault, 2019/02/07