]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Merge r1.22-1.23 from NetBSD:
authorae <ae@FreeBSD.org>
Thu, 26 Apr 2018 12:23:31 +0000 (12:23 +0000)
committerae <ae@FreeBSD.org>
Thu, 26 Apr 2018 12:23:31 +0000 (12:23 +0000)
commitdd90f92cb678c747cdce5ccb959333ca600fa749
tree143a0b2e996785626216dc67e0629e4d5a16ff31
parent5663cd283745b455337039060c755801fb47d95f
Merge r1.22-1.23 from NetBSD:
  Don't assume M_PKTHDR is set only on the first mbuf of the chain.
  The check is replaced by (m1 != m), which is equivalent to the previous
  code: we want to modify m->m_pkthdr.len only when 'm' was not passed in
  m_adj().

  Fix a pretty bad mistake, that has always been there:
   m_adj(m1, -(m1->m_len - roff));
   if (m1 != m)
m->m_pkthdr.len -= (m1->m_len - roff);

  This is wrong: m_adj() will modify m1->m_len, so we're using a wrong
  value when manually adjusting m->m_pkthdr.len.

Reported by: Maxime Villard <max at m00nbsd dot net>
Obtained from: NetBSD
MFC after: 1 week
sys/netipsec/ipsec_mbuf.c