svn commit: r363542 - projects/nfs-over-tls/sys/fs/nfsserver

Rick Macklem rmacklem at FreeBSD.org
Sun Jul 26 02:51:01 UTC 2020


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);


More information about the svn-src-projects mailing list