diff options
author | YASUOKA Masahiko <yasuoka@cvs.openbsd.org> | 2017-07-21 01:21:43 +0000 |
---|---|---|
committer | YASUOKA Masahiko <yasuoka@cvs.openbsd.org> | 2017-07-21 01:21:43 +0000 |
commit | 1831fdde88d9698666e8dd2690878810445e11ff (patch) | |
tree | 7592d1c56d6d44182ea7c71c324884c6210e9b46 /sys/arch/amd64/stand/libsa/biosdev.c | |
parent | 7c0da4f96e489e1be816f59e353cae08a73481a0 (diff) |
Check the hibernation signature for softraid disks and select valid bsd
for unhibernation. reported by Natasha Kerensikova. tested by Theo Buehler.
ok deraadt
Diffstat (limited to 'sys/arch/amd64/stand/libsa/biosdev.c')
-rw-r--r-- | sys/arch/amd64/stand/libsa/biosdev.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/arch/amd64/stand/libsa/biosdev.c b/sys/arch/amd64/stand/libsa/biosdev.c index 766a2e29dbf..b9018b623b1 100644 --- a/sys/arch/amd64/stand/libsa/biosdev.c +++ b/sys/arch/amd64/stand/libsa/biosdev.c @@ -1,4 +1,4 @@ -/* $OpenBSD: biosdev.c,v 1.30 2016/09/18 15:13:10 jsing Exp $ */ +/* $OpenBSD: biosdev.c,v 1.31 2017/07/21 01:21:42 yasuoka Exp $ */ /* * Copyright (c) 1996 Michael Shalayeff @@ -535,6 +535,7 @@ biosopen(struct open_file *f, ...) if (bv->sbv_diskinfo == NULL) { dip = alloc(sizeof(struct diskinfo)); bzero(dip, sizeof(*dip)); + dip->strategy = biosstrategy; bv->sbv_diskinfo = dip; dip->sr_vol = bv; dip->bios_info.flags |= BDI_BADLABEL; @@ -548,6 +549,7 @@ biosopen(struct open_file *f, ...) if (sr_getdisklabel(bv, &dip->disklabel)) return ERDLAB; dip->bios_info.flags &= ~BDI_BADLABEL; + check_hibernate(dip); } bv->sbv_part = part + 'a'; |