[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] slirp: Use lduw_be_p in slirp_input
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH] slirp: Use lduw_be_p in slirp_input |
Date: |
Wed, 26 Dec 2018 12:04:33 +0100 |
Le mer. 26 déc. 2018 04:43, Richard Henderson <address@hidden>
a écrit :
> The pointer may be unaligned, so we must use our routines for that.
> At the same time, we might as well use the big-endian version
> instead of ntohs.
>
> This fixes sparc64 host SIGBUS during pxe boot.
>
> Signed-off-by: Richard Henderson <address@hidden>
>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
---
> slirp/slirp.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/slirp/slirp.c b/slirp/slirp.c
> index 322edf51eb..a116f43878 100644
> --- a/slirp/slirp.c
> +++ b/slirp/slirp.c
> @@ -851,7 +851,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 = lduw_be_p(pkt + 12);
> switch(proto) {
> case ETH_P_ARP:
> arp_input(slirp, pkt, pkt_len);
> --
> 2.17.2
>
>
>