Module Name: src Committed By: christos Date: Thu Sep 26 17:34:08 UTC 2019
Modified Files: src/sys/miscfs/procfs: procfs_auxv.c procfs_cmdline.c procfs_limit.c procfs_map.c procfs_subr.c Log Message: fix sign-compare issues: uio->uio_offset (off_t) is compared with (size_t): cast the offset to size_t. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/miscfs/procfs/procfs_auxv.c cvs rdiff -u -r1.30 -r1.31 src/sys/miscfs/procfs/procfs_cmdline.c cvs rdiff -u -r1.1 -r1.2 src/sys/miscfs/procfs/procfs_limit.c cvs rdiff -u -r1.45 -r1.46 src/sys/miscfs/procfs/procfs_map.c cvs rdiff -u -r1.113 -r1.114 src/sys/miscfs/procfs/procfs_subr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/miscfs/procfs/procfs_auxv.c diff -u src/sys/miscfs/procfs/procfs_auxv.c:1.2 src/sys/miscfs/procfs/procfs_auxv.c:1.3 --- src/sys/miscfs/procfs/procfs_auxv.c:1.2 Thu Mar 30 16:21:00 2017 +++ src/sys/miscfs/procfs/procfs_auxv.c Thu Sep 26 13:34:08 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: procfs_auxv.c,v 1.2 2017/03/30 20:21:00 christos Exp $ */ +/* $NetBSD: procfs_auxv.c,v 1.3 2019/09/26 17:34:08 christos Exp $ */ /*- * Copyright (c) 2017 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: procfs_auxv.c,v 1.2 2017/03/30 20:21:00 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: procfs_auxv.c,v 1.3 2019/09/26 17:34:08 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -52,7 +52,7 @@ procfs_doauxv(struct lwp *curl, struct p if ((error = proc_getauxv(p, &buffer, &bufsize)) != 0) return error; - if (uio->uio_offset < bufsize) + if ((size_t)uio->uio_offset < bufsize) error = uiomove((char *)buffer + uio->uio_offset, bufsize - uio->uio_offset, uio); else Index: src/sys/miscfs/procfs/procfs_cmdline.c diff -u src/sys/miscfs/procfs/procfs_cmdline.c:1.30 src/sys/miscfs/procfs/procfs_cmdline.c:1.31 --- src/sys/miscfs/procfs/procfs_cmdline.c:1.30 Sat Dec 30 22:29:18 2017 +++ src/sys/miscfs/procfs/procfs_cmdline.c Thu Sep 26 13:34:08 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: procfs_cmdline.c,v 1.30 2017/12/31 03:29:18 christos Exp $ */ +/* $NetBSD: procfs_cmdline.c,v 1.31 2019/09/26 17:34:08 christos Exp $ */ /* * Copyright (c) 1999 Jaromir Dolecek <dole...@ics.muni.cz> @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: procfs_cmdline.c,v 1.30 2017/12/31 03:29:18 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: procfs_cmdline.c,v 1.31 2019/09/26 17:34:08 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -52,7 +52,7 @@ procfs_doprocargs_helper(void *cookie, c char *buf = __UNCONST(src); buf += uio->uio_offset - off; - if (off + len <= uio->uio_offset) + if (off + len <= (size_t)uio->uio_offset) return 0; return uiomove(buf, off + len - uio->uio_offset, cookie); } @@ -90,13 +90,13 @@ procfs_doprocargs( return error; } len = strlen(p->p_comm); - if (len >= uio->uio_offset) { + if (len >= (size_t)uio->uio_offset) { start = uio->uio_offset - 1; error = uiomove(p->p_comm + start, len - start, uio); if (error) return error; } - if (len + 2 >= uio->uio_offset) { + if (len + 2 >= (size_t)uio->uio_offset) { start = uio->uio_offset - 1 - len; error = uiomove(msg + 1 + start, 2 - start, uio); } Index: src/sys/miscfs/procfs/procfs_limit.c diff -u src/sys/miscfs/procfs/procfs_limit.c:1.1 src/sys/miscfs/procfs/procfs_limit.c:1.2 --- src/sys/miscfs/procfs/procfs_limit.c:1.1 Sat Mar 30 19:28:30 2019 +++ src/sys/miscfs/procfs/procfs_limit.c Thu Sep 26 13:34:08 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: procfs_limit.c,v 1.1 2019/03/30 23:28:30 christos Exp $ */ +/* $NetBSD: procfs_limit.c,v 1.2 2019/09/26 17:34:08 christos Exp $ */ /*- * Copyright (c) 2019 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: procfs_limit.c,v 1.1 2019/03/30 23:28:30 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: procfs_limit.c,v 1.2 2019/09/26 17:34:08 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -81,7 +81,7 @@ procfs_dolimit(struct lwp *curl, struct pos += prl(buffer + pos, bufsize - pos, rl[i].rlim_max, '\n'); } - if (uio->uio_offset < pos) + if ((size_t)uio->uio_offset < pos) error = uiomove(buffer + uio->uio_offset, pos - uio->uio_offset, uio); else Index: src/sys/miscfs/procfs/procfs_map.c diff -u src/sys/miscfs/procfs/procfs_map.c:1.45 src/sys/miscfs/procfs/procfs_map.c:1.46 --- src/sys/miscfs/procfs/procfs_map.c:1.45 Fri Oct 17 16:49:22 2014 +++ src/sys/miscfs/procfs/procfs_map.c Thu Sep 26 13:34:08 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: procfs_map.c,v 1.45 2014/10/17 20:49:22 christos Exp $ */ +/* $NetBSD: procfs_map.c,v 1.46 2019/09/26 17:34:08 christos Exp $ */ /* * Copyright (c) 1993 @@ -76,7 +76,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: procfs_map.c,v 1.45 2014/10/17 20:49:22 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: procfs_map.c,v 1.46 2019/09/26 17:34:08 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -216,7 +216,7 @@ again: * The map could have changed between the two reads, and * that could result in junk, but typically it does not. */ - if (uio->uio_offset < pos) + if ((size_t)uio->uio_offset < pos) error = uiomove(buffer + uio->uio_offset, pos - uio->uio_offset, uio); else Index: src/sys/miscfs/procfs/procfs_subr.c diff -u src/sys/miscfs/procfs/procfs_subr.c:1.113 src/sys/miscfs/procfs/procfs_subr.c:1.114 --- src/sys/miscfs/procfs/procfs_subr.c:1.113 Sat Mar 30 19:28:30 2019 +++ src/sys/miscfs/procfs/procfs_subr.c Thu Sep 26 13:34:08 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: procfs_subr.c,v 1.113 2019/03/30 23:28:30 christos Exp $ */ +/* $NetBSD: procfs_subr.c,v 1.114 2019/09/26 17:34:08 christos Exp $ */ /*- * Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc. @@ -102,7 +102,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: procfs_subr.c,v 1.113 2019/03/30 23:28:30 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: procfs_subr.c,v 1.114 2019/09/26 17:34:08 christos Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -317,7 +317,7 @@ procfs_rw(void *v) int vfs_getuserstr(struct uio *uio, char *bf, int *buflenp) { - int xlen; + size_t xlen; int error; if (uio->uio_offset != 0)