summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Evans <bde@FreeBSD.org>2001-08-15 11:35:45 +0000
committerBruce Evans <bde@FreeBSD.org>2001-08-15 11:35:45 +0000
commita572c95c3b17826b39a6e287fce5b5280b905dfe (patch)
treeca3ae1c8e24e241ff82bda375782ea4d97344878
parentd628d776c45a0e11a0a035597d49023942501ecc (diff)
Notes
-rw-r--r--sys/kern/kern_shutdown.c5
-rw-r--r--sys/kern/subr_disk.c4
2 files changed, 5 insertions, 4 deletions
diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c
index d971ba4ebe27..91f45ab99c89 100644
--- a/sys/kern/kern_shutdown.c
+++ b/sys/kern/kern_shutdown.c
@@ -50,6 +50,7 @@
#include <sys/buf.h>
#include <sys/conf.h>
#include <sys/cons.h>
+#include <sys/disklabel.h>
#include <sys/eventhandler.h>
#include <sys/kernel.h>
#include <sys/kthread.h>
@@ -429,8 +430,8 @@ setdumpdev(dev_t dev)
/*
* XXX should clean up checking in dumpsys() to be more like this.
*/
- newdumplo = psize - Maxmem * PAGE_SIZE / DEV_BSIZE;
- if (newdumplo < 0)
+ newdumplo = psize - Maxmem * (PAGE_SIZE / DEV_BSIZE);
+ if (newdumplo <= LABELSECTOR)
return (ENOSPC);
dumpdev = dev;
dumplo = newdumplo;
diff --git a/sys/kern/subr_disk.c b/sys/kern/subr_disk.c
index 2553bbcc2e18..da961bab3e6e 100644
--- a/sys/kern/subr_disk.c
+++ b/sys/kern/subr_disk.c
@@ -154,8 +154,8 @@ disk_dumpcheck(dev_t dev, u_int *count, u_int *blkno, u_int *secsize)
dl = dsgetlabel(dev, dp->d_slice);
if (!dl)
return (ENXIO);
- *count = (u_long)Maxmem * PAGE_SIZE / dl->d_secsize;
- if (dumplo < 0 ||
+ *count = Maxmem * (PAGE_SIZE / dl->d_secsize);
+ if (dumplo <= LABELSECTOR ||
(dumplo + *count > dl->d_partitions[dkpart(dev)].p_size))
return (EINVAL);
boff = dl->d_partitions[dkpart(dev)].p_offset +