Author: truckman
Date: Mon May 19 07:49:09 2014
New Revision: 266432
URL: http://svnweb.freebsd.org/changeset/base/266432

Log:
  MFC r265931
  
  Be even more paranoid about overflow.
  
  Requested by:   ache

Modified:
  stable/8/sys/kern/subr_rman.c
Directory Properties:
  stable/8/sys/   (props changed)
  stable/8/sys/kern/   (props changed)

Modified: stable/8/sys/kern/subr_rman.c
==============================================================================
--- stable/8/sys/kern/subr_rman.c       Mon May 19 07:46:03 2014        
(r266431)
+++ stable/8/sys/kern/subr_rman.c       Mon May 19 07:49:09 2014        
(r266432)
@@ -461,8 +461,8 @@ rman_reserve_resource_bound(struct rman 
        }
 
        amask = (1ul << RF_ALIGNMENT(flags)) - 1;
-       if (start + amask < start) {
-               DPRINTF(("start+amask wrapped around\n"));
+       if (start > ULONG_MAX - amask) {
+               DPRINTF(("start+amask would wrap around\n"));
                goto out;
        }
 
@@ -482,8 +482,8 @@ rman_reserve_resource_bound(struct rman 
                            s->r_start, end));
                        break;
                }
-               if (s->r_start + amask < s->r_start) {
-                       DPRINTF(("s->r_start (%#lx) + amask (%#lx) wrapped\n",
+               if (s->r_start > ULONG_MAX - amask) {
+                       DPRINTF(("s->r_start (%#lx) + amask (%#lx) too large\n",
                            s->r_start, amask));
                        break;
                }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to