Module Name: src
Committed By: enami
Date: Wed Oct 6 07:39:37 UTC 2010
Modified Files:
src/sys/netinet: ip_reass.c
Log Message:
Don't free memory still in use. Fixes nfs root problem reported
by Christoph Egger on source-changes-d.
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/netinet/ip_reass.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/netinet/ip_reass.c
diff -u src/sys/netinet/ip_reass.c:1.4 src/sys/netinet/ip_reass.c:1.5
--- src/sys/netinet/ip_reass.c:1.4 Sun Oct 3 19:44:47 2010
+++ src/sys/netinet/ip_reass.c Wed Oct 6 07:39:37 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_reass.c,v 1.4 2010/10/03 19:44:47 rmind Exp $ */
+/* $NetBSD: ip_reass.c,v 1.5 2010/10/06 07:39:37 enami Exp $ */
/*
* Copyright (c) 1982, 1986, 1988, 1993
@@ -46,7 +46,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_reass.c,v 1.4 2010/10/03 19:44:47 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_reass.c,v 1.5 2010/10/06 07:39:37 enami Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -390,7 +390,6 @@
pool_cache_put(ipfren_cache, q);
m_cat(m, t);
}
- free(fp, M_FTABLE);
/*
* Create header for new packet by modifying header of first
@@ -400,6 +399,7 @@
ip->ip_len = htons((ip->ip_hl << 2) + next);
ip->ip_src = fp->ipq_src;
ip->ip_dst = fp->ipq_dst;
+ free(fp, M_FTABLE);
m->m_len += (ip->ip_hl << 2);
m->m_data -= (ip->ip_hl << 2);