diff options
author | 2007-06-18 22:11:20 +0000 | |
---|---|---|
committer | 2007-06-18 22:11:20 +0000 | |
commit | 0eed1f68001ae3c1c1ccb37f3b785c7335ce7a6b (patch) | |
tree | 9a19960026ecbc7d8978ff45d7de350c887de479 /sys | |
parent | If disklabel(8) is run against unreadable media (e.g. a blank cd) (diff) | |
download | wireguard-openbsd-0eed1f68001ae3c1c1ccb37f3b785c7335ce7a6b.tar.xz wireguard-openbsd-0eed1f68001ae3c1c1ccb37f3b785c7335ce7a6b.zip |
Calculate the disklabel checksum *after* filling in all the fields in
the disklabel.
ok deraadt@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/amd64/stand/libsa/diskprobe.c | 10 | ||||
-rw-r--r-- | sys/arch/i386/stand/libsa/diskprobe.c | 10 |
2 files changed, 10 insertions, 10 deletions
diff --git a/sys/arch/amd64/stand/libsa/diskprobe.c b/sys/arch/amd64/stand/libsa/diskprobe.c index d728a5a7ae0..6de75d0bea5 100644 --- a/sys/arch/amd64/stand/libsa/diskprobe.c +++ b/sys/arch/amd64/stand/libsa/diskprobe.c @@ -1,4 +1,4 @@ -/* $OpenBSD: diskprobe.c,v 1.4 2006/09/26 23:33:04 krw Exp $ */ +/* $OpenBSD: diskprobe.c,v 1.5 2007/06/18 22:11:20 krw Exp $ */ /* * Copyright (c) 1997 Tobias Weingartner @@ -259,10 +259,6 @@ cdprobe(void) dip->disklabel.d_bbsize = 2048; dip->disklabel.d_sbsize = 2048; - dip->disklabel.d_magic = DISKMAGIC; - dip->disklabel.d_magic2 = DISKMAGIC; - dip->disklabel.d_checksum = dkcksum(&dip->disklabel); - /* 'a' partition covering the "whole" disk */ dip->disklabel.d_partitions[0].p_offset = 0; dip->disklabel.d_partitions[0].p_size = 100; @@ -275,6 +271,10 @@ cdprobe(void) dip->disklabel.d_npartitions = RAW_PART + 1; + dip->disklabel.d_magic = DISKMAGIC; + dip->disklabel.d_magic2 = DISKMAGIC; + dip->disklabel.d_checksum = dkcksum(&dip->disklabel); + /* Add to queue of disks */ TAILQ_INSERT_TAIL(&disklist, dip, list); } diff --git a/sys/arch/i386/stand/libsa/diskprobe.c b/sys/arch/i386/stand/libsa/diskprobe.c index d44228245e1..0f0cff32192 100644 --- a/sys/arch/i386/stand/libsa/diskprobe.c +++ b/sys/arch/i386/stand/libsa/diskprobe.c @@ -1,4 +1,4 @@ -/* $OpenBSD: diskprobe.c,v 1.28 2006/09/26 23:33:04 krw Exp $ */ +/* $OpenBSD: diskprobe.c,v 1.29 2007/06/18 22:11:20 krw Exp $ */ /* * Copyright (c) 1997 Tobias Weingartner @@ -263,10 +263,6 @@ cdprobe(void) dip->disklabel.d_bbsize = 2048; dip->disklabel.d_sbsize = 2048; - dip->disklabel.d_magic = DISKMAGIC; - dip->disklabel.d_magic2 = DISKMAGIC; - dip->disklabel.d_checksum = dkcksum(&dip->disklabel); - /* 'a' partition covering the "whole" disk */ dip->disklabel.d_partitions[0].p_offset = 0; dip->disklabel.d_partitions[0].p_size = 100; @@ -279,6 +275,10 @@ cdprobe(void) dip->disklabel.d_npartitions = RAW_PART + 1; + dip->disklabel.d_magic = DISKMAGIC; + dip->disklabel.d_magic2 = DISKMAGIC; + dip->disklabel.d_checksum = dkcksum(&dip->disklabel); + /* Add to queue of disks */ TAILQ_INSERT_TAIL(&disklist, dip, list); } |