diff options
author | glebius <glebius@FreeBSD.org> | 2014-11-19 15:17:19 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2014-11-19 15:17:19 +0000 |
commit | c73b720d6ae9fb1dec0962f638269d83204d8670 (patch) | |
tree | eed50bb8f4baac93ae5188a4623598828d8026f7 | |
parent | 4ca480b4155096771966bed9b5f463d372758cfe (diff) | |
download | FreeBSD-src-c73b720d6ae9fb1dec0962f638269d83204d8670.zip FreeBSD-src-c73b720d6ae9fb1dec0962f638269d83204d8670.tar.gz |
In vnode_pager_generic_getpages() vp->v_mount is dereferenced in the
beginning, thus can't be NULL.
Sponsored by: Nginx, Inc.
-rw-r--r-- | sys/vm/vnode_pager.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index 5936d38..004d745 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -714,7 +714,6 @@ vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int bytecount, int runpg; int runend; struct buf *bp; - struct mount *mp; int count; int error; @@ -906,8 +905,7 @@ vnode_pager_generic_getpages(struct vnode *vp, vm_page_t *m, int bytecount, * 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 vnode *vp, vm_page_t *m, int bytecount, } 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; |