summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorfvdl <fvdl@NetBSD.org>2001-01-08 02:03:45 +0000
committerfvdl <fvdl@NetBSD.org>2001-01-08 02:03:45 +0000
commitd040bd590850dfb719beb134cf209576739b602d (patch)
tree5b386191114a737a88cd9b1f476997d3c8b0223c /sys/dev
parent4d4b2b5626be9c933616b757c0e60ce377f69e72 (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.c6
-rw-r--r--sys/dev/ccd.c6
-rw-r--r--sys/dev/isa/fd.c4
-rw-r--r--sys/dev/isa/mcd.c6
-rw-r--r--sys/dev/ld.c6
-rw-r--r--sys/dev/mscp/mscp_disk.c6
-rw-r--r--sys/dev/ofw/ofdisk.c6
-rw-r--r--sys/dev/qbus/rl.c4
-rw-r--r--sys/dev/raidframe/rf_netbsdkintf.c6
-rw-r--r--sys/dev/scsipi/cd.c6
-rw-r--r--sys/dev/scsipi/sd.c6
-rw-r--r--sys/dev/vme/xd.c4
-rw-r--r--sys/dev/vme/xy.c4
-rw-r--r--sys/dev/vnd.c6
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