malloc: fix size annotation for NUMA-aware realloc
authorDavid Marchand <david.marchand@redhat.com>
Thu, 10 Jun 2021 12:09:22 +0000 (14:09 +0200)
committerDavid Marchand <david.marchand@redhat.com>
Fri, 11 Jun 2021 09:03:38 +0000 (11:03 +0200)
commit2ca92f54410400af76a1f0bc3bfecc8077e282aa
tree47b63f4ce8ded45dad8731b28472199917dc837c
parent1ffd3bc1252ee871398dad227cd651658dc76939
malloc: fix size annotation for NUMA-aware realloc

__rte_alloc_size is mapped to compiler alloc_size attribute.

Quoting gcc documentation:
"""
alloc_size
    The alloc_size attribute is used to tell the compiler that the
    function return value points to memory, where the size is given by
    one or two of the functions parameters. GCC uses this information
    to improve the correctness of __builtin_object_size.

    The function parameter(s) denoting the allocated size are specified
    by one or two integer arguments supplied to the attribute.
    The allocated size is either the value of the single function
    argument specified or the product of the two function arguments
    specified. Argument numbering starts at one.
"""

In rte_realloc_socket case, only 'size' matters.

Note: this has been spotted by Maxime trying to use rte_realloc_socket
and compiling with gcc 11.

Fixes: 17b347dab769 ("malloc: add alloc_size attribute to functions")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Tested-by: Maxime Coquelin <maxime.coquelin@redhat.com>
lib/eal/include/rte_malloc.h