Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Sep 2020 16:48:08 +0000 (UTC)
From:      Eric van Gyzen <vangyzen@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r365886 - in head/sys: dev/fb dev/ksyms dev/vt/hw/fb fs/tmpfs kern vm
Message-ID:  <202009181648.08IGm8mD029511@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: vangyzen
Date: Fri Sep 18 16:48:08 2020
New Revision: 365886
URL: https://svnweb.freebsd.org/changeset/base/365886

Log:
  vm_ooffset_t is now unsigned
  
  vm_ooffset_t is now unsigned. Remove some tests for negative values,
  or make other adjustments accordingly.
  
  Reported by:	Coverity
  Reviewed by:	kib markj
  Sponsored by:	Dell EMC Isilon
  Differential Revision:	https://reviews.freebsd.org/D26214

Modified:
  head/sys/dev/fb/fbd.c
  head/sys/dev/ksyms/ksyms.c
  head/sys/dev/vt/hw/fb/vt_fb.c
  head/sys/fs/tmpfs/tmpfs_subr.c
  head/sys/kern/uipc_shm.c
  head/sys/kern/vfs_vnops.c
  head/sys/vm/vnode_pager.c

Modified: head/sys/dev/fb/fbd.c
==============================================================================
--- head/sys/dev/fb/fbd.c	Fri Sep 18 15:51:16 2020	(r365885)
+++ head/sys/dev/fb/fbd.c	Fri Sep 18 16:48:08 2020	(r365886)
@@ -176,7 +176,7 @@ fb_mmap(struct cdev *dev, vm_ooffset_t offset, vm_padd
 	if (info->fb_flags & FB_FLAG_NOMMAP)
 		return (ENODEV);
 
-	if (offset >= 0 && offset < info->fb_size) {
+	if (offset < info->fb_size) {
 		if (info->fb_pbase == 0)
 			*paddr = vtophys((uint8_t *)info->fb_vbase + offset);
 		else

Modified: head/sys/dev/ksyms/ksyms.c
==============================================================================
--- head/sys/dev/ksyms/ksyms.c	Fri Sep 18 15:51:16 2020	(r365885)
+++ head/sys/dev/ksyms/ksyms.c	Fri Sep 18 16:48:08 2020	(r365886)
@@ -484,7 +484,7 @@ ksyms_mmap_single(struct cdev *dev, vm_ooffset_t *offs
 	if (error != 0)
 		return (error);
 
-	if (*offset < 0 || *offset >= round_page(sc->sc_objsz) ||
+	if (*offset >= round_page(sc->sc_objsz) ||
 	    size > round_page(sc->sc_objsz) - *offset ||
 	    (nprot & ~PROT_READ) != 0)
 		return (EINVAL);

Modified: head/sys/dev/vt/hw/fb/vt_fb.c
==============================================================================
--- head/sys/dev/vt/hw/fb/vt_fb.c	Fri Sep 18 15:51:16 2020	(r365885)
+++ head/sys/dev/vt/hw/fb/vt_fb.c	Fri Sep 18 16:48:08 2020	(r365886)
@@ -140,7 +140,7 @@ vt_fb_mmap(struct vt_device *vd, vm_ooffset_t offset, 
 	if (info->fb_flags & FB_FLAG_NOMMAP)
 		return (ENODEV);
 
-	if (offset >= 0 && offset < info->fb_size) {
+	if (offset < info->fb_size) {
 		if (info->fb_pbase == 0) {
 			*paddr = vtophys((uint8_t *)info->fb_vbase + offset);
 		} else {

Modified: head/sys/fs/tmpfs/tmpfs_subr.c
==============================================================================
--- head/sys/fs/tmpfs/tmpfs_subr.c	Fri Sep 18 15:51:16 2020	(r365885)
+++ head/sys/fs/tmpfs/tmpfs_subr.c	Fri Sep 18 16:48:08 2020	(r365886)
@@ -178,12 +178,14 @@ RB_PROTOTYPE_STATIC(tmpfs_dir, tmpfs_dirent, uh.td_ent
 size_t
 tmpfs_mem_avail(void)
 {
-	vm_ooffset_t avail;
+	size_t avail;
+	long reserved;
 
-	avail = swap_pager_avail + vm_free_count() - tmpfs_pages_reserved;
-	if (__predict_false(avail < 0))
-		avail = 0;
-	return (avail);
+	avail = swap_pager_avail + vm_free_count();
+	reserved = atomic_load_long(&tmpfs_pages_reserved);
+	if (__predict_false(avail < reserved))
+		return (0);
+	return (avail - reserved);
 }
 
 size_t

Modified: head/sys/kern/uipc_shm.c
==============================================================================
--- head/sys/kern/uipc_shm.c	Fri Sep 18 15:51:16 2020	(r365885)
+++ head/sys/kern/uipc_shm.c	Fri Sep 18 16:48:08 2020	(r365886)
@@ -1577,7 +1577,7 @@ shm_mmap(struct file *fp, vm_map_t map, vm_offset_t *a
 #ifdef _LP64
 	    objsize > OFF_MAX ||
 #endif
-	    foff < 0 || foff > OFF_MAX - objsize) {
+	    foff > OFF_MAX - objsize) {
 		error = EINVAL;
 		goto out;
 	}

Modified: head/sys/kern/vfs_vnops.c
==============================================================================
--- head/sys/kern/vfs_vnops.c	Fri Sep 18 15:51:16 2020	(r365885)
+++ head/sys/kern/vfs_vnops.c	Fri Sep 18 16:48:08 2020	(r365886)
@@ -2630,7 +2630,7 @@ vn_mmap(struct file *fp, vm_map_t map, vm_offset_t *ad
 #ifdef _LP64
 	    size > OFF_MAX ||
 #endif
-	    foff < 0 || foff > OFF_MAX - size)
+	    foff > OFF_MAX - size)
 		return (EINVAL);
 
 	writecounted = FALSE;

Modified: head/sys/vm/vnode_pager.c
==============================================================================
--- head/sys/vm/vnode_pager.c	Fri Sep 18 15:51:16 2020	(r365885)
+++ head/sys/vm/vnode_pager.c	Fri Sep 18 16:48:08 2020	(r365886)
@@ -541,9 +541,6 @@ vnode_pager_addr(struct vnode *vp, vm_ooffset_t addres
 	daddr_t vblock;
 	daddr_t voffset;
 
-	if (address < 0)
-		return -1;
-
 	if (VN_IS_DOOMED(vp))
 		return -1;
 



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