[PATCH] rte_memcpy: fix off by one for size 16 and 32
Morten Brørup
mb at smartsharesystems.com
Sun Mar 3 00:57:13 CET 2024
> From: Stephen Hemminger [mailto:stephen at networkplumber.org]
> Sent: Saturday, 2 March 2024 21.49
>
> The rte_memcpy code would do extra instructions for size 16
> and 32 which potentially could reference past end of data.
It's a somewhat weird concept, but they don't reference past end of data.
They reference data in chunks of 16.
E.g. when copying 17 bytes: first copy [0..15] and then copy [1..16] (as "-16 + n" in the code).
By referencing an address "-16" in a block of 16 bytes, they are not referencing past end of data.
>
> For size of 16, only single mov16 is needed.
> same for size of 32, only single mov32.
I fixed the duplicate copies with my patch [1]. Please review.
[1]: https://inbox.dpdk.org/dev/20240302234812.9137-1-mb@smartsharesystems.com/T/#u
More information about the dev
mailing list