[dpdk-dev] [PATCH] examples/l3fwd: fix unaligned memory access
Bruce Richardson
bruce.richardson at intel.com
Thu Jul 25 11:05:16 CEST 2019
On Wed, Jul 24, 2019 at 05:43:54PM +0100, hgovindh wrote:
> Fix unaligned memory access when reading IPv6 header which
> leads to segmentation fault by changing aligned memory read
> to unaligned memory read.
>
> Bugzilla ID: 279
> Fixes: 64d3955de1de ("examples/l3fwd: fix ARM build")
> Cc: maciej.czekaj at caviumnetworks.com
> Cc: stable at dpdk.org
> Signed-off-by: hgovindh <hariprasad.govindharajan at intel.com>
> ---
> examples/l3fwd/l3fwd_em.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/examples/l3fwd/l3fwd_em.c b/examples/l3fwd/l3fwd_em.c
> index fa8f82be6..f0c443dae 100644
> --- a/examples/l3fwd/l3fwd_em.c
> +++ b/examples/l3fwd/l3fwd_em.c
> @@ -285,7 +285,7 @@ em_get_ipv6_dst_port(void *ipv6_hdr, uint16_t portid, void *lookup_struct)
> * Get part of 5 tuple: dst IP address lower 96 bits
> * and src IP address higher 32 bits.
> */
> - key.xmm[1] = *(xmm_t *)data1;
> + key.xmm[1] = _mm_loadu_si128((xmm_t *)data1);
>
Minor nit, but since data1 is defined as "void *" the cast to xmm_t is
unnecessary.
Although we can't reproduce the bug, the fix looks correct for the bug as
described and harmless otherwise, so:
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
More information about the dev
mailing list