Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Jul 2020 02:51:01 +0000 (UTC)
From:      Rick Macklem <rmacklem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r363542 - projects/nfs-over-tls/sys/fs/nfsserver
Message-ID:  <202007260251.06Q2p10p051091@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rmacklem
Date: Sun Jul 26 02:51:00 2020
New Revision: 363542
URL: https://svnweb.freebsd.org/changeset/base/363542

Log:
  Fix up comments and add a KASSERT() to nfsrv_adj().

Modified:
  projects/nfs-over-tls/sys/fs/nfsserver/nfs_nfsdsubs.c

Modified: projects/nfs-over-tls/sys/fs/nfsserver/nfs_nfsdsubs.c
==============================================================================
--- projects/nfs-over-tls/sys/fs/nfsserver/nfs_nfsdsubs.c	Sun Jul 26 02:42:09 2020	(r363541)
+++ projects/nfs-over-tls/sys/fs/nfsserver/nfs_nfsdsubs.c	Sun Jul 26 02:51:00 2020	(r363542)
@@ -1299,8 +1299,8 @@ nfsrv_adj(struct mbuf *mp, int len, int nul)
 			break;
 		m = m->m_next;
 	}
-
 	/* m is now the last mbuf and tlen the total length. */
+
 	if (len >= m->m_len) {
 		/* Need to trim away the last mbuf(s). */
 		i = tlen - len;
@@ -1315,7 +1315,12 @@ nfsrv_adj(struct mbuf *mp, int len, int nul)
 	} else
 		lastlen = m->m_len - len;
 
-	/* Adjust the last mbuf. */
+	/*
+	 * m is now the last mbuf after trimming and its length needs to
+	 * be lastlen.
+	 * Adjust the last mbuf and set cp to point to where nuls must be
+	 * written.
+	 */
 	if ((m->m_flags & M_EXTPG) != 0) {
 		pgno = m->m_epg_npgs - 1;
 		off = (pgno == 0) ? m->m_epg_1st_off : 0;
@@ -1324,6 +1329,8 @@ nfsrv_adj(struct mbuf *mp, int len, int nul)
 			/* Trim this mbuf. */
 			trim = m->m_len - lastlen;
 			while (trim >= plen) {
+				KASSERT(pgno > 0,
+				    ("nfsrv_adj: freeing page 0"));
 				/* Free page. */
 				pg = PHYS_TO_VM_PAGE(m->m_epg_pa[pgno]);
 				vm_page_unwire_noq(pg);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202007260251.06Q2p10p051091>