mempool/octeontx2: fix possible arm64 ABI break
authorPavan Nikhilesh <pbhagavatula@marvell.com>
Thu, 18 Jul 2019 06:51:11 +0000 (12:21 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 18 Jul 2019 22:13:27 +0000 (00:13 +0200)
Since direct register access is used in npa_lf_aura_op_alloc_bulk()
use __rte_noinline instead of __rte_always_inline to preserve ABI.
Based on the compiler npa_lf_aura_op_alloc_bulk might be inlined
differently which may lead to undefined behaviour due to handcoded
asm.

Fixes: 29893042c29d ("mempool/octeontx2: fix clang build for arm64")

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
drivers/mempool/octeontx2/otx2_mempool_ops.c

index a60a77a..ff63be5 100644 (file)
@@ -54,7 +54,7 @@ npa_lf_aura_op_search_alloc(const int64_t wdata, int64_t * const addr,
        return 0;
 }
 
-static __rte_always_inline int
+static __rte_noinline int
 npa_lf_aura_op_alloc_bulk(const int64_t wdata, int64_t * const addr,
                          unsigned int n, void **obj_table)
 {