Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Nov 2014 15:17:20 +0000 (UTC)
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r274715 - head/sys/vm
Message-ID:  <201411191517.sAJFHKoB043518@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: glebius
Date: Wed Nov 19 15:17:19 2014
New Revision: 274715
URL: https://svnweb.freebsd.org/changeset/base/274715

Log:
  In vnode_pager_generic_getpages() vp->v_mount is dereferenced in the
  beginning, thus can't be NULL.
  
  Sponsored by:	Nginx, Inc.

Modified:
  head/sys/vm/vnode_pager.c

Modified: head/sys/vm/vnode_pager.c
==============================================================================
--- head/sys/vm/vnode_pager.c	Wed Nov 19 14:49:29 2014	(r274714)
+++ head/sys/vm/vnode_pager.c	Wed Nov 19 15:17:19 2014	(r274715)
@@ -714,7 +714,6 @@ vnode_pager_generic_getpages(struct vnod
 	int runpg;
 	int runend;
 	struct buf *bp;
-	struct mount *mp;
 	int count;
 	int error;
 
@@ -906,8 +905,7 @@ vnode_pager_generic_getpages(struct vnod
 	 * and map the pages to be read into the kva, if the filesystem
 	 * requires mapped buffers.
 	 */
-	mp = vp->v_mount;
-	if (mp != NULL && (mp->mnt_kern_flag & MNTK_UNMAPPED_BUFS) != 0 &&
+	if ((vp->v_mount->mnt_kern_flag & MNTK_UNMAPPED_BUFS) != 0 &&
 	    unmapped_buf_allowed) {
 		bp->b_data = unmapped_buf;
 		bp->b_kvabase = unmapped_buf;
@@ -955,7 +953,7 @@ vnode_pager_generic_getpages(struct vnod
 	}
 	if ((bp->b_flags & B_UNMAPPED) == 0)
 		pmap_qremove(kva, count);
-	if (mp != NULL && (mp->mnt_kern_flag & MNTK_UNMAPPED_BUFS) != 0) {
+	if ((vp->v_mount->mnt_kern_flag & MNTK_UNMAPPED_BUFS) != 0) {
 		bp->b_data = (caddr_t)kva;
 		bp->b_kvabase = (caddr_t)kva;
 		bp->b_flags &= ~B_UNMAPPED;



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