On Mon, May 21, 2018 at 10:01:23AM +0800, Andy Green wrote: > /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> > --- > 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 55fba3b14..a0423a548 100644 > --- a/lib/librte_mbuf/rte_mbuf.h > +++ b/lib/librte_mbuf/rte_mbuf.h > @@ -2158,7 +2158,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; > Looks reasonable.
Acked-by: Bruce Richardson <bruce.richard...@intel.com>