diff options
author | 2015-12-24 21:37:25 +0000 | |
---|---|---|
committer | 2015-12-24 21:37:25 +0000 | |
commit | a3344f80dc429fb9c01c304992f0b8873bedf186 (patch) | |
tree | 3913c797eafd213f0762faf14ddd085935a775da | |
parent | Make gpt_chk_mbr() instances even more identicaller by always (diff) | |
download | wireguard-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.c | 4 | ||||
-rw-r--r-- | sys/arch/amd64/stand/libsa/softraid.c | 4 |
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); |