/projects/lagopus/src/dpdk/build/include/rte_mbuf.h: In function 'rte_pktmbuf_linearize': /projects/lagopus/src/dpdk/build/include/rte_mbuf.h: 1873:32: warning: conversion to 'int' from 'uint32_t' {aka 'unsigned int'} may change the sign of the result [-Wsign-conversion] #define rte_pktmbuf_pkt_len(m) ((m)->pkt_len) ^ /projects/lagopus/src/dpdk/build/include/rte_mbuf.h: 2166:13: note: in expansion of macro 'rte_pktmbuf_pkt_len' copy_len = rte_pktmbuf_pkt_len(mbuf) - rte_pktmbuf_data_len(mbuf); ^~~~~~~~~~~~~~~~~~~ /projects/lagopus/src/dpdk/build/include/rte_mbuf.h: 2180:51: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] rte_memcpy(buffer, rte_pktmbuf_mtod(m, char *), seg_len); ^~~~~~~
The temp is consumed as a size_t. So let's make it a size_t in the first place. Fixes: 1feda4d8fc ("mbuf: add a function to linearize a packet") Signed-off-by: Andy Green <a...@warmcat.com> Acked-by: Bruce Richardson <bruce.richard...@intel.com> --- lib/librte_mbuf/rte_mbuf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index 491503e47..0e89a6927 100644 --- a/lib/librte_mbuf/rte_mbuf.h +++ b/lib/librte_mbuf/rte_mbuf.h @@ -2161,7 +2161,7 @@ rte_validate_tx_offload(const struct rte_mbuf *m) static inline int rte_pktmbuf_linearize(struct rte_mbuf *mbuf) { - int seg_len, copy_len; + size_t seg_len, copy_len; struct rte_mbuf *m; struct rte_mbuf *m_next; char *buffer;