[dpdk-dev,v4,2/9] mbuf: silence -Wcast-align on pointer arithmetic
Commit Message
Translating from an mbuf element to the mbuf pointer does not break alignment
constraints. However, the compiler is unaware of this fact and complains on
-Wcast-align. This patch modifies the code to use RTE_PTR_SUB(), thereby
silencing the compiler by casting through (void *).
Change-Id: I60d9b7a9205ff0befb8dbb4cdcb1df6f9d9d0250
Signed-off-by: Cyril Chemparathy <cchemparathy@ezchip.com>
---
lib/librte_mbuf/rte_mbuf.h | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
@@ -347,13 +347,7 @@ static inline uint16_t rte_pktmbuf_priv_size(struct rte_mempool *mp);
static inline struct rte_mbuf *
rte_mbuf_from_indirect(struct rte_mbuf *mi)
{
- struct rte_mbuf *md;
-
- /* mi->buf_addr and mi->priv_size correspond to buffer and
- * private size of the direct mbuf */
- md = (struct rte_mbuf *)((char *)mi->buf_addr - sizeof(*mi) -
- mi->priv_size);
- return md;
+ return RTE_PTR_SUB(mi->buf_addr, sizeof(*mi) + mi->priv_size);
}
/**