diff options
author | 2009-05-13 01:31:58 +0000 | |
---|---|---|
committer | 2009-05-13 01:31:58 +0000 | |
commit | 6ab0bb66ea3340da5deebd6f15931db6f09bb9eb (patch) | |
tree | bc8501beb1d68dfee6ca62e95213e321cc2a9031 /sys | |
parent | initialize d_npartitions to MAXPARTITIONS always; ok krw (diff) | |
download | wireguard-openbsd-6ab0bb66ea3340da5deebd6f15931db6f09bb9eb.tar.xz wireguard-openbsd-6ab0bb66ea3340da5deebd6f15931db6f09bb9eb.zip |
Set D_VENDOR when spoofing a label on archs that use D_VENDOR when
reading the native disklabel. This ensures cylinder alignment.
Fix disklabel to do cylinder alignment arithmetic correctly in -A
mode. Worked by accident before, since the code was protected by
D_VENDOR, which wasn't being set.
ok deraadt@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/luna88k/luna88k/disksubr.c | 3 | ||||
-rw-r--r-- | sys/arch/sgi/sgi/disksubr.c | 3 | ||||
-rw-r--r-- | sys/arch/sparc/sparc/disksubr.c | 3 | ||||
-rw-r--r-- | sys/arch/sparc64/sparc64/disksubr.c | 3 |
4 files changed, 8 insertions, 4 deletions
diff --git a/sys/arch/luna88k/luna88k/disksubr.c b/sys/arch/luna88k/luna88k/disksubr.c index b91f4288720..7b2f004ff7a 100644 --- a/sys/arch/luna88k/luna88k/disksubr.c +++ b/sys/arch/luna88k/luna88k/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.38 2009/01/22 01:06:28 krw Exp $ */ +/* $OpenBSD: disksubr.c,v 1.39 2009/05/13 01:31:58 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.12 2002/02/19 17:09:44 wiz Exp $ */ /* @@ -113,6 +113,7 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), if ((msg = initdisklabel(lp))) goto done; + lp->d_flags |= D_VENDOR; /* get a buffer and initialize it */ bp = geteblk((int)lp->d_secsize); diff --git a/sys/arch/sgi/sgi/disksubr.c b/sys/arch/sgi/sgi/disksubr.c index ecc6b148264..95728895095 100644 --- a/sys/arch/sgi/sgi/disksubr.c +++ b/sys/arch/sgi/sgi/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.11 2008/09/01 16:28:50 krw Exp $ */ +/* $OpenBSD: disksubr.c,v 1.12 2009/05/13 01:31:58 krw Exp $ */ /* * Copyright (c) 1999 Michael Shalayeff @@ -62,6 +62,7 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), if ((msg = initdisklabel(lp))) goto done; + lp->d_flags |= D_VENDOR; /* get a buffer and initialize it */ bp = geteblk((int)lp->d_secsize); diff --git a/sys/arch/sparc/sparc/disksubr.c b/sys/arch/sparc/sparc/disksubr.c index 7f37b389dfe..2b89a538017 100644 --- a/sys/arch/sparc/sparc/disksubr.c +++ b/sys/arch/sparc/sparc/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.79 2009/04/10 06:32:47 deraadt Exp $ */ +/* $OpenBSD: disksubr.c,v 1.80 2009/05/13 01:31:58 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.16 1996/04/28 20:25:59 thorpej Exp $ */ /* @@ -76,6 +76,7 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), if ((msg = initdisklabel(lp))) goto done; + lp->d_flags |= D_VENDOR; /* * On sparc64 we check for a CD label first, because our diff --git a/sys/arch/sparc64/sparc64/disksubr.c b/sys/arch/sparc64/sparc64/disksubr.c index 6d43f696060..2bb7ddc9d67 100644 --- a/sys/arch/sparc64/sparc64/disksubr.c +++ b/sys/arch/sparc64/sparc64/disksubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: disksubr.c,v 1.54 2009/04/07 03:11:59 krw Exp $ */ +/* $OpenBSD: disksubr.c,v 1.55 2009/05/13 01:31:58 krw Exp $ */ /* $NetBSD: disksubr.c,v 1.13 2000/12/17 22:39:18 pk Exp $ */ /* @@ -69,6 +69,7 @@ readdisklabel(dev_t dev, void (*strat)(struct buf *), if ((msg = initdisklabel(lp))) goto done; + lp->d_flags |= D_VENDOR; /* * On sparc64 we check for a CD label first, because our |