diff options
| author | fvdl <fvdl@NetBSD.org> | 2001-01-08 02:03:45 +0000 |
|---|---|---|
| committer | fvdl <fvdl@NetBSD.org> | 2001-01-08 02:03:45 +0000 |
| commit | d040bd590850dfb719beb134cf209576739b602d (patch) | |
| tree | 5b386191114a737a88cd9b1f476997d3c8b0223c /sys/dev | |
| parent | 4d4b2b5626be9c933616b757c0e60ce377f69e72 (diff) | |
Return error in the case of using ODIOCGDINFO or ODIOCGDEFLABEL when
the number of partitions is > OLDMAXPARTITIONS. This is better
than silently truncating the label (don't want to silently throw
away partitions when using an old disklabel binary on a label with
> 8 partitions). From Enami Tsugutomo.
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ata/wd.c | 6 | ||||
| -rw-r--r-- | sys/dev/ccd.c | 6 | ||||
| -rw-r--r-- | sys/dev/isa/fd.c | 4 | ||||
| -rw-r--r-- | sys/dev/isa/mcd.c | 6 | ||||
| -rw-r--r-- | sys/dev/ld.c | 6 | ||||
| -rw-r--r-- | sys/dev/mscp/mscp_disk.c | 6 | ||||
| -rw-r--r-- | sys/dev/ofw/ofdisk.c | 6 | ||||
| -rw-r--r-- | sys/dev/qbus/rl.c | 4 | ||||
| -rw-r--r-- | sys/dev/raidframe/rf_netbsdkintf.c | 6 | ||||
| -rw-r--r-- | sys/dev/scsipi/cd.c | 6 | ||||
| -rw-r--r-- | sys/dev/scsipi/sd.c | 6 | ||||
| -rw-r--r-- | sys/dev/vme/xd.c | 4 | ||||
| -rw-r--r-- | sys/dev/vme/xy.c | 4 | ||||
| -rw-r--r-- | sys/dev/vnd.c | 6 |
14 files changed, 38 insertions, 38 deletions
diff --git a/sys/dev/ata/wd.c b/sys/dev/ata/wd.c index 7b58d21ef6f..c4d53abc02c 100644 --- a/sys/dev/ata/wd.c +++ b/sys/dev/ata/wd.c @@ -1,4 +1,4 @@ -/* $NetBSD: wd.c,v 1.211 2001/01/07 18:09:01 fvdl Exp $ */ +/* $NetBSD: wd.c,v 1.212 2001/01/08 02:03:45 fvdl Exp $ */ /* * Copyright (c) 1998 Manuel Bouyer. All rights reserved. @@ -950,7 +950,7 @@ wdioctl(dev, xfer, addr, flag, p) case ODIOCGDINFO: newlabel = *(wd->sc_dk.dk_label); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(addr, &newlabel, sizeof (struct olddisklabel)); return 0; #endif @@ -1030,7 +1030,7 @@ wdioctl(dev, xfer, addr, flag, p) case ODIOCGDEFLABEL: wdgetdefaultlabel(wd, &newlabel); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(addr, &newlabel, sizeof (struct olddisklabel)); return 0; #endif diff --git a/sys/dev/ccd.c b/sys/dev/ccd.c index c093b293405..164f5b9b2e8 100644 --- a/sys/dev/ccd.c +++ b/sys/dev/ccd.c @@ -1,4 +1,4 @@ -/* $NetBSD: ccd.c,v 1.70 2001/01/07 18:09:01 fvdl Exp $ */ +/* $NetBSD: ccd.c,v 1.71 2001/01/08 02:03:46 fvdl Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 1999 The NetBSD Foundation, Inc. @@ -1151,7 +1151,7 @@ ccdioctl(dev, cmd, data, flag, p) case ODIOCGDINFO: newlabel = *(cs->sc_dkdev.dk_label); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(data, &newlabel, sizeof (struct olddisklabel)); break; #endif @@ -1213,7 +1213,7 @@ ccdioctl(dev, cmd, data, flag, p) case ODIOCGDEFLABEL: ccdgetdefaultlabel(cs, &newlabel); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(data, &newlabel, sizeof (struct olddisklabel)); break; #endif diff --git a/sys/dev/isa/fd.c b/sys/dev/isa/fd.c index c8dc2e9b83f..7e3ae058eb8 100644 --- a/sys/dev/isa/fd.c +++ b/sys/dev/isa/fd.c @@ -1,4 +1,4 @@ -/* $NetBSD: fd.c,v 1.11 2001/01/07 18:09:02 fvdl Exp $ */ +/* $NetBSD: fd.c,v 1.12 2001/01/08 02:03:47 fvdl Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -1321,7 +1321,7 @@ fdioctl(dev, cmd, addr, flag, p) #ifdef __HAVE_OLD_DISKLABEL if (cmd == ODIOCGDINFO) { if (buffer.d_npartitions > OLDMAXPARTITIONS) - buffer.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(addr, &buffer, sizeof (struct olddisklabel)); } else #endif diff --git a/sys/dev/isa/mcd.c b/sys/dev/isa/mcd.c index e35376f359e..08f12372f92 100644 --- a/sys/dev/isa/mcd.c +++ b/sys/dev/isa/mcd.c @@ -1,4 +1,4 @@ -/* $NetBSD: mcd.c,v 1.68 2001/01/07 18:09:01 fvdl Exp $ */ +/* $NetBSD: mcd.c,v 1.69 2001/01/08 02:03:47 fvdl Exp $ */ /* * Copyright (c) 1993, 1994, 1995 Charles M. Hannum. All rights reserved. @@ -618,7 +618,7 @@ ifdef __HAVE_OLD_DISKLABEL case ODIOCGDINFO: newlabel = *(sc->sc_dk.dk_label); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(addr, &newlabel, sizeof (struct olddisklabel)); return 0; #endif @@ -676,7 +676,7 @@ ifdef __HAVE_OLD_DISKLABEL case ODIOCGDEFLABEL: mcdgetdefaultlabel(sc, &newlabel); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(addr, &newlabel, sizeof (struct olddisklabel)); return 0; #endif diff --git a/sys/dev/ld.c b/sys/dev/ld.c index 08d9b7aaa85..7bbc3cd4ca2 100644 --- a/sys/dev/ld.c +++ b/sys/dev/ld.c @@ -1,4 +1,4 @@ -/* $NetBSD: ld.c,v 1.4 2001/01/07 18:09:01 fvdl Exp $ */ +/* $NetBSD: ld.c,v 1.5 2001/01/08 02:03:46 fvdl Exp $ */ /*- * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc. @@ -299,7 +299,7 @@ ldioctl(dev_t dev, u_long cmd, caddr_t addr, int32_t flag, struct proc *p) case ODIOCGDINFO: newlabel = *(sc->sc_dk.dk_label); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(addr, &newlabel, sizeof(struct olddisklabel)); return (0); #endif @@ -365,7 +365,7 @@ ldioctl(dev_t dev, u_long cmd, caddr_t addr, int32_t flag, struct proc *p) case ODIOCGDEFLABEL: ldgetdefaultlabel(sc, &newlabel); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(addr, &newlabel, sizeof (struct olddisklabel)); break; #endif diff --git a/sys/dev/mscp/mscp_disk.c b/sys/dev/mscp/mscp_disk.c index 93089b44526..a3800f4b415 100644 --- a/sys/dev/mscp/mscp_disk.c +++ b/sys/dev/mscp/mscp_disk.c @@ -1,4 +1,4 @@ -/* $NetBSD: mscp_disk.c,v 1.26 2001/01/07 18:09:02 fvdl Exp $ */ +/* $NetBSD: mscp_disk.c,v 1.27 2001/01/08 02:03:47 fvdl Exp $ */ /* * Copyright (c) 1996 Ludd, University of Lule}, Sweden. * Copyright (c) 1988 Regents of the University of California. @@ -375,7 +375,7 @@ raioctl(dev, cmd, data, flag, p) case ODIOCGDINFO: bcopy(lp, &newlabel, sizeof disklabel); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; bcopy(&newlabel, data, sizeof (struct olddisklabel)); break; #endif @@ -445,7 +445,7 @@ raioctl(dev, cmd, data, flag, p) #ifdef __HAVE_OLD_DISKLABEL if (cmd == ODIOCGDEFLABEL) { if (tp->d_npartitions > OLDMAXPARTITIONS) - tp->d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(data, tp, sizeof (struct olddisklabel)); } #endif diff --git a/sys/dev/ofw/ofdisk.c b/sys/dev/ofw/ofdisk.c index 396083d36c2..68d10b522e7 100644 --- a/sys/dev/ofw/ofdisk.c +++ b/sys/dev/ofw/ofdisk.c @@ -1,4 +1,4 @@ -/* $NetBSD: ofdisk.c,v 1.14 2001/01/07 18:09:02 fvdl Exp $ */ +/* $NetBSD: ofdisk.c,v 1.15 2001/01/08 02:03:47 fvdl Exp $ */ /* * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -326,7 +326,7 @@ ofdisk_ioctl(dev, cmd, data, flag, p) case ODIOCGDINFO: newlabel = *of->sc_dk.dk_label; if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(data, &newlabel, sizeof (struct olddisklabel)); return 0; #endif @@ -380,7 +380,7 @@ ofdisk_ioctl(dev, cmd, data, flag, p) case DIOCGDEFLABEL: ofdisk_getdefaultlabel(of, &newlabel); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(data, &newlabel, sizeof (struct olddisklabel)); return 0; #endif diff --git a/sys/dev/qbus/rl.c b/sys/dev/qbus/rl.c index e99f0c55f48..a074772bb4d 100644 --- a/sys/dev/qbus/rl.c +++ b/sys/dev/qbus/rl.c @@ -1,4 +1,4 @@ -/* $NetBSD: rl.c,v 1.6 2001/01/07 18:09:02 fvdl Exp $ */ +/* $NetBSD: rl.c,v 1.7 2001/01/08 02:03:47 fvdl Exp $ */ /* * Copyright (c) 2000 Ludd, University of Lule}, Sweden. All rights reserved. @@ -392,7 +392,7 @@ rlioctl(dev_t dev, u_long cmd, caddr_t addr, int flag, struct proc *p) case ODIOCGDINFO: newlabel = *lp; if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; bcopy(&newlabel, addr, sizeof (struct olddisklabel)); break; #endif diff --git a/sys/dev/raidframe/rf_netbsdkintf.c b/sys/dev/raidframe/rf_netbsdkintf.c index 7a71df1cffd..d557c0df31b 100644 --- a/sys/dev/raidframe/rf_netbsdkintf.c +++ b/sys/dev/raidframe/rf_netbsdkintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: rf_netbsdkintf.c,v 1.102 2001/01/07 18:09:02 fvdl Exp $ */ +/* $NetBSD: rf_netbsdkintf.c,v 1.103 2001/01/08 02:03:47 fvdl Exp $ */ /*- * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc. * All rights reserved. @@ -1459,7 +1459,7 @@ raidioctl(dev, cmd, data, flag, p) case ODIOCGDINFO: newlabel = *(rs->sc_dkdev.dk_label); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(data, &newlabel, sizeof (struct olddisklabel)); break; #endif @@ -1528,7 +1528,7 @@ raidioctl(dev, cmd, data, flag, p) case ODIOCGDEFLABEL: raidgetdefaultlabel(raidPtr, rs, &newlabel); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(data, &newlabel, sizeof (struct olddisklabel)); break; #endif diff --git a/sys/dev/scsipi/cd.c b/sys/dev/scsipi/cd.c index d4ae31997b4..17cb1c4dcd4 100644 --- a/sys/dev/scsipi/cd.c +++ b/sys/dev/scsipi/cd.c @@ -1,4 +1,4 @@ -/* $NetBSD: cd.c,v 1.142 2001/01/07 18:09:03 fvdl Exp $ */ +/* $NetBSD: cd.c,v 1.143 2001/01/08 02:03:48 fvdl Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -871,7 +871,7 @@ cdioctl(dev, cmd, addr, flag, p) case ODIOCGDINFO: newlabel = *(cd->sc_dk.dk_label); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(addr, &newlabel, sizeof (struct olddisklabel)); return (0); #endif @@ -930,7 +930,7 @@ cdioctl(dev, cmd, addr, flag, p) case ODIOCGDEFLABEL: cdgetdefaultlabel(cd, &newlabel); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(addr, &newlabel, sizeof (struct olddisklabel)); return (0); #endif diff --git a/sys/dev/scsipi/sd.c b/sys/dev/scsipi/sd.c index 2593ce94a19..af293ec4842 100644 --- a/sys/dev/scsipi/sd.c +++ b/sys/dev/scsipi/sd.c @@ -1,4 +1,4 @@ -/* $NetBSD: sd.c,v 1.168 2001/01/07 18:09:03 fvdl Exp $ */ +/* $NetBSD: sd.c,v 1.169 2001/01/08 02:03:48 fvdl Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -913,7 +913,7 @@ sdioctl(dev, cmd, addr, flag, p) case ODIOCGDINFO: newlabel = *(sd->sc_dk.dk_label); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(addr, &newlabel, sizeof (struct olddisklabel)); return (0); #endif @@ -1020,7 +1020,7 @@ sdioctl(dev, cmd, addr, flag, p) case ODIOCGDEFLABEL: sdgetdefaultlabel(sd, &newlabel); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(addr, &newlabel, sizeof (struct olddisklabel)); return (0); #endif diff --git a/sys/dev/vme/xd.c b/sys/dev/vme/xd.c index 36f70df8ac6..7ab7336202f 100644 --- a/sys/dev/vme/xd.c +++ b/sys/dev/vme/xd.c @@ -1,4 +1,4 @@ -/* $NetBSD: xd.c,v 1.33 2001/01/07 18:09:03 fvdl Exp $ */ +/* $NetBSD: xd.c,v 1.34 2001/01/08 02:03:48 fvdl Exp $ */ /* * @@ -1023,7 +1023,7 @@ xdioctl(dev, command, addr, flag, p) case ODIOCGDINFO: newlabel = *(xd->sc_dk.dk_label); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(addr, &newlabel, sizeof (struct olddisklabel)); return 0; #endif diff --git a/sys/dev/vme/xy.c b/sys/dev/vme/xy.c index 793fc582cd3..94243c3239d 100644 --- a/sys/dev/vme/xy.c +++ b/sys/dev/vme/xy.c @@ -1,4 +1,4 @@ -/* $NetBSD: xy.c,v 1.31 2001/01/07 18:09:03 fvdl Exp $ */ +/* $NetBSD: xy.c,v 1.32 2001/01/08 02:03:48 fvdl Exp $ */ /* * @@ -934,7 +934,7 @@ xyioctl(dev, command, addr, flag, p) case ODIOCGDINFO: newlabel = *(xy->sc_dk.dk_label); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(addr, &newlabel, sizeof (struct olddisklabel)); return 0; #endif diff --git a/sys/dev/vnd.c b/sys/dev/vnd.c index 8828745aa02..a406b4a814e 100644 --- a/sys/dev/vnd.c +++ b/sys/dev/vnd.c @@ -1,4 +1,4 @@ -/* $NetBSD: vnd.c,v 1.70 2001/01/07 18:09:01 fvdl Exp $ */ +/* $NetBSD: vnd.c,v 1.71 2001/01/08 02:03:46 fvdl Exp $ */ /*- * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc. @@ -905,7 +905,7 @@ vndioctl(dev, cmd, data, flag, p) case ODIOCGDINFO: newlabel = *(vnd->sc_dkdev.dk_label); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(data, &newlabel, sizeof (struct olddisklabel)); break; #endif @@ -976,7 +976,7 @@ vndioctl(dev, cmd, data, flag, p) case ODIOCGDEFLABEL: vndgetdefaultlabel(vnd, &newlabel); if (newlabel.d_npartitions > OLDMAXPARTITIONS) - newlabel.d_npartitions = OLDMAXPARTITIONS; + return ENOTTY; memcpy(data, &newlabel, sizeof (struct olddisklabel)); break; #endif |
