diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/amd64/amd64/autoconf.c | 8 | ||||
-rw-r--r-- | sys/amd64/amd64/machdep.c | 6 | ||||
-rw-r--r-- | sys/i386/i386/autoconf.c | 8 | ||||
-rw-r--r-- | sys/i386/i386/machdep.c | 6 |
4 files changed, 20 insertions, 8 deletions
diff --git a/sys/amd64/amd64/autoconf.c b/sys/amd64/amd64/autoconf.c index 82d25bd..2e29703 100644 --- a/sys/amd64/amd64/autoconf.c +++ b/sys/amd64/amd64/autoconf.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)autoconf.c 7.1 (Berkeley) 5/9/91 - * $Id: autoconf.c,v 1.49 1995/12/13 15:12:13 julian Exp $ + * $Id: autoconf.c,v 1.50 1995/12/14 23:35:17 bde Exp $ */ /* @@ -281,11 +281,13 @@ setdumpdev(dev) maj = major(dev); if (maj >= nblkdev) return (ENXIO); + if (bdevsw[maj] == NULL) + return (ENXIO); /* XXX is this right? */ if (bdevsw[maj]->d_psize == NULL) - return (ENXIO); /* XXX should sometimes be ENODEV */ + return (ENXIO); /* XXX should be ENODEV ? */ psize = bdevsw[maj]->d_psize(dev); if (psize == -1) - return (ENXIO); /* XXX should sometimes be ENODEV */ + return (ENXIO); /* XXX should be ENODEV ? */ newdumplo = psize - Maxmem * NBPG / DEV_BSIZE; if (newdumplo < 0) return (ENOSPC); diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 39394ed..f95285d 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.158 1995/12/13 15:12:23 julian Exp $ + * $Id: machdep.c,v 1.159 1995/12/14 14:35:34 peter Exp $ */ #include "npx.h" @@ -970,6 +970,10 @@ dumpsys() return; if ((minor(dumpdev)&07) != 1) return; + if (!(bdevsw[major(dumpdev)])) + return; + if (!(bdevsw[major(dumpdev)]->d_dump)) + return; dumpsize = Maxmem; printf("\ndumping to dev %lx, offset %ld\n", dumpdev, dumplo); printf("dump "); diff --git a/sys/i386/i386/autoconf.c b/sys/i386/i386/autoconf.c index 82d25bd..2e29703 100644 --- a/sys/i386/i386/autoconf.c +++ b/sys/i386/i386/autoconf.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)autoconf.c 7.1 (Berkeley) 5/9/91 - * $Id: autoconf.c,v 1.49 1995/12/13 15:12:13 julian Exp $ + * $Id: autoconf.c,v 1.50 1995/12/14 23:35:17 bde Exp $ */ /* @@ -281,11 +281,13 @@ setdumpdev(dev) maj = major(dev); if (maj >= nblkdev) return (ENXIO); + if (bdevsw[maj] == NULL) + return (ENXIO); /* XXX is this right? */ if (bdevsw[maj]->d_psize == NULL) - return (ENXIO); /* XXX should sometimes be ENODEV */ + return (ENXIO); /* XXX should be ENODEV ? */ psize = bdevsw[maj]->d_psize(dev); if (psize == -1) - return (ENXIO); /* XXX should sometimes be ENODEV */ + return (ENXIO); /* XXX should be ENODEV ? */ newdumplo = psize - Maxmem * NBPG / DEV_BSIZE; if (newdumplo < 0) return (ENOSPC); diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index 39394ed..f95285d 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.158 1995/12/13 15:12:23 julian Exp $ + * $Id: machdep.c,v 1.159 1995/12/14 14:35:34 peter Exp $ */ #include "npx.h" @@ -970,6 +970,10 @@ dumpsys() return; if ((minor(dumpdev)&07) != 1) return; + if (!(bdevsw[major(dumpdev)])) + return; + if (!(bdevsw[major(dumpdev)]->d_dump)) + return; dumpsize = Maxmem; printf("\ndumping to dev %lx, offset %ld\n", dumpdev, dumplo); printf("dump "); |