summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkrw <krw@openbsd.org>2015-12-24 21:37:25 +0000
committerkrw <krw@openbsd.org>2015-12-24 21:37:25 +0000
commita3344f80dc429fb9c01c304992f0b8873bedf186 (patch)
tree3913c797eafd213f0762faf14ddd085935a775da
parentMake gpt_chk_mbr() instances even more identicaller by always (diff)
downloadwireguard-openbsd-a3344f80dc429fb9c01c304992f0b8873bedf186.tar.xz
wireguard-openbsd-a3344f80dc429fb9c01c304992f0b8873bedf186.zip
If the GPT header checksum check fails, do *not* say the OpenBSD partition
starts at sector 1. Instead return -1, as for all other failures during the header check.
-rw-r--r--sys/arch/amd64/stand/efiboot/efidev.c4
-rw-r--r--sys/arch/amd64/stand/libsa/softraid.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/arch/amd64/stand/efiboot/efidev.c b/sys/arch/amd64/stand/efiboot/efidev.c
index 7f0a2e91c90..62dd84b7f11 100644
--- a/sys/arch/amd64/stand/efiboot/efidev.c
+++ b/sys/arch/amd64/stand/efiboot/efidev.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: efidev.c,v 1.13 2015/12/24 18:03:02 krw Exp $ */
+/* $OpenBSD: efidev.c,v 1.14 2015/12/24 21:37:25 krw Exp $ */
/*
* Copyright (c) 1996 Michael Shalayeff
@@ -356,7 +356,7 @@ findopenbsd_gpt(efi_diskinfo_t ed, const char **err)
gh.gh_csum = orig_csum;
if (letoh32(orig_csum) != new_csum) {
*err = "bad GPT header checksum\n";
- return (1);
+ return (-1);
}
lba = letoh64(gh.gh_part_lba);
diff --git a/sys/arch/amd64/stand/libsa/softraid.c b/sys/arch/amd64/stand/libsa/softraid.c
index 3f1d59e93a5..d10b514e3c4 100644
--- a/sys/arch/amd64/stand/libsa/softraid.c
+++ b/sys/arch/amd64/stand/libsa/softraid.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: softraid.c,v 1.20 2015/12/24 18:03:03 krw Exp $ */
+/* $OpenBSD: softraid.c,v 1.21 2015/12/24 21:37:25 krw Exp $ */
/*
* Copyright (c) 2012 Joel Sing <jsing@openbsd.org>
@@ -485,7 +485,7 @@ findopenbsd_gpt(struct sr_boot_volume *bv)
new_csum = crc32(0, (unsigned char *)&gh, ghsize);
gh.gh_csum = orig_csum;
if (letoh32(orig_csum) != new_csum)
- return (1);
+ return (-1);
lba = letoh64(gh.gh_part_lba);
ghpartsize = letoh32(gh.gh_part_size);