[dpdk-dev] mbuf: fix debug checks for headroom and tailroom

Message ID 90afb772790da3a10d3ada97dd843ccd94a8c3f8.1498652244.git.vasilyf@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Vasily Philipov June 28, 2017, 12:25 p.m. UTC
  rte_pktmbuf_headroom() and rte_pktmbuf_tailroom() should be usable
with any segment, not only with headered ones, so is_header should be 0
when we call for sanity check inside them.

Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org

Signed-off-by: Vasily Philipov <vasilyf@mellanox.com>
---
 lib/librte_mbuf/rte_mbuf.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Olivier Matz June 30, 2017, 2:27 p.m. UTC | #1
On Wed, 28 Jun 2017 15:25:12 +0300, Vasily Philipov <vasilyf@mellanox.com> wrote:
> rte_pktmbuf_headroom() and rte_pktmbuf_tailroom() should be usable
> with any segment, not only with headered ones, so is_header should be 0
> when we call for sanity check inside them.
> 
> Fixes: af75078fece3 ("first public release")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Vasily Philipov <vasilyf@mellanox.com>

Acked-by: Olivier Matz <olivier.matz@6wind.com>
  
Thomas Monjalon July 1, 2017, 10:18 a.m. UTC | #2
30/06/2017 16:27, Olivier Matz:
> On Wed, 28 Jun 2017 15:25:12 +0300, Vasily Philipov <vasilyf@mellanox.com> wrote:
> > rte_pktmbuf_headroom() and rte_pktmbuf_tailroom() should be usable
> > with any segment, not only with headered ones, so is_header should be 0
> > when we call for sanity check inside them.
> > 
> > Fixes: af75078fece3 ("first public release")
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: Vasily Philipov <vasilyf@mellanox.com>
> 
> Acked-by: Olivier Matz <olivier.matz@6wind.com>

Applied, thanks
  

Patch

diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index fe605c7..fbe8203 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -1452,7 +1452,7 @@  static inline void rte_pktmbuf_refcnt_update(struct rte_mbuf *m, int16_t v)
  */
 static inline uint16_t rte_pktmbuf_headroom(const struct rte_mbuf *m)
 {
-	__rte_mbuf_sanity_check(m, 1);
+	__rte_mbuf_sanity_check(m, 0);
 	return m->data_off;
 }
 
@@ -1466,7 +1466,7 @@  static inline uint16_t rte_pktmbuf_headroom(const struct rte_mbuf *m)
  */
 static inline uint16_t rte_pktmbuf_tailroom(const struct rte_mbuf *m)
 {
-	__rte_mbuf_sanity_check(m, 1);
+	__rte_mbuf_sanity_check(m, 0);
 	return (uint16_t)(m->buf_len - rte_pktmbuf_headroom(m) -
 			  m->data_len);
 }