summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_disk.c
diff options
context:
space:
mode:
authorblambert <blambert@openbsd.org>2013-04-24 08:31:06 +0000
committerblambert <blambert@openbsd.org>2013-04-24 08:31:06 +0000
commit2690a91e27ab4c05cda95fa6a566b34e17924331 (patch)
tree8a689f71410cd7eaeba76b545a371d0015ef3864 /sys/kern/subr_disk.c
parentUse the manufacturer-supplied bios serial/uuid as a source of (diff)
downloadwireguard-openbsd-2690a91e27ab4c05cda95fa6a566b34e17924331.tar.xz
wireguard-openbsd-2690a91e27ab4c05cda95fa6a566b34e17924331.zip
When attaching disks, feed the disklabel's checksum to
the random pool as unique-esque-but-not-secret data. inspired by conversations with tedu@/deraadt@ ok deraadt@
Diffstat (limited to 'sys/kern/subr_disk.c')
-rw-r--r--sys/kern/subr_disk.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/subr_disk.c b/sys/kern/subr_disk.c
index b8b47b17f31..0ff3cda9e8d 100644
--- a/sys/kern/subr_disk.c
+++ b/sys/kern/subr_disk.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: subr_disk.c,v 1.147 2013/02/17 17:39:29 miod Exp $ */
+/* $OpenBSD: subr_disk.c,v 1.148 2013/04/24 08:31:06 blambert Exp $ */
/* $NetBSD: subr_disk.c,v 1.17 1996/03/16 23:17:08 christos Exp $ */
/*
@@ -886,8 +886,10 @@ disk_attach_callback(void *arg1, void *arg2)
goto done;
/* Read disklabel. */
- if (disk_readlabel(&dl, dev, errbuf, sizeof(errbuf)) == NULL)
+ if (disk_readlabel(&dl, dev, errbuf, sizeof(errbuf)) == NULL) {
+ add_timer_randomness(dl.d_checksum);
dk->dk_flags |= DKF_LABELVALID;
+ }
done:
dk->dk_flags |= DKF_OPENED;