mbuf: explicit cast of size on detach
authorAndy Green <andy@warmcat.com>
Thu, 17 May 2018 13:50:22 +0000 (21:50 +0800)
committerThomas Monjalon <thomas@monjalon.net>
Sun, 20 May 2018 22:21:19 +0000 (00:21 +0200)
GCC 8.1 warned:

In function 'rte_pktmbuf_detach':
rte_mbuf.h:1580:14: warning: conversion from 'long unsigned int'
to 'uint32_t' {aka 'unsigned int'} may change value [-Wconversion]
  mbuf_size = sizeof(struct rte_mbuf) + priv_size;
              ^~~~~~

Fixes: 355e6735b335 ("mbuf: fix cloning with private mbuf data")
Cc: stable@dpdk.org
Signed-off-by: Andy Green <andy@warmcat.com>
lib/librte_mbuf/rte_mbuf.h

index ae0fa4d..28fd4ad 100644 (file)
@@ -1579,7 +1579,7 @@ static inline void rte_pktmbuf_detach(struct rte_mbuf *m)
                __rte_pktmbuf_free_direct(m);
 
        priv_size = rte_pktmbuf_priv_size(mp);
-       mbuf_size = sizeof(struct rte_mbuf) + priv_size;
+       mbuf_size = (uint32_t)(sizeof(struct rte_mbuf) + priv_size);
        buf_len = rte_pktmbuf_data_room_size(mp);
 
        m->priv_size = priv_size;