From 8f8d29f6867a8edb3321f8076947b2f7d0324a51 Mon Sep 17 00:00:00 2001 From: Andre Oppermann Date: Wed, 18 Jan 2006 18:49:16 +0000 Subject: [PATCH] In in_delayed_cksum() we can't perform a m_pullup() as it may change the mbuf pointer and we don't have any way of passing it back to the callers. Instead just fail silently without updating the checksum but leaving the mbuf+chain intact. A search in our GNATS database did not turn up any match for the existing warning message when this case is encountered. Found by: Coverity Prevent(tm) Coverity ID: CID779 Sponsored by: TCP/IP Optimization Fundraise 2005 MFC after: 3 days --- sys/netinet/ip_output.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 2124c744dd6d..ee8ad5f7f9b1 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -1043,9 +1043,9 @@ in_delayed_cksum(struct mbuf *m) * XXX * this shouldn't happen, but if it does, the * correct behavior may be to insert the checksum - * in the existing chain instead of rearranging it. + * in the appropriate next mbuf in the chain. */ - m = m_pullup(m, offset + sizeof(u_short)); + return; } *(u_short *)(m->m_data + offset) = csum; }