On Thu, 20 Aug 2026 09:31:40 +0200
Morten Brørup <[email protected]> wrote:

> > Many platforms have no special rte_memcpy() and just use memcpy().
> > 
> > But many analysis and test tools know that memcpy() is a special
> > case and check for overwrite, bounds errors etc. Therefore memcpy()
> > should be preferred wherever possible.  
> 
> I think this is the only substantial benefit of replacing rte_memcpy() with 
> memcpy()!
> Could we reap this benefit by having special builds for such tools, where 
> rte_memcpy() is modified to use memcpy() instead?
> Then we wouldn't have to compromise on performance.
> 
> Also, rte_memcpy() used to have a pragma disabling bounds checks due to some 
> Intel drivers using [0] instead of []; the pragma was removed from 
> rte_memcpy() when the Intel drivers were fixed.
> I'm not sufficiently familiar with analysis/test tools to say what they can 
> detect when using memcpy() instead of the copy methods used by rte_memcpy().


The most common one is fortify which is runtime checking and part of Ubuntu etc
build. So no doing some #ifdef FORTIFY_SOURCE really is not helping.

Reply via email to