use suspend_randomness() and resume_randomness()
authorderaadt <deraadt@openbsd.org>
Thu, 18 Dec 2014 20:01:33 +0000 (20:01 +0000)
committerderaadt <deraadt@openbsd.org>
Thu, 18 Dec 2014 20:01:33 +0000 (20:01 +0000)
sys/arch/loongson/dev/apm.c
sys/arch/zaurus/dev/zaurus_apm.c

index 5ab0464..49a597a 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: apm.c,v 1.25 2014/10/31 07:59:27 jsg Exp $    */
+/*     $OpenBSD: apm.c,v 1.26 2014/12/18 20:01:33 deraadt Exp $        */
 
 /*-
  * Copyright (c) 2001 Alexander Guy.  All rights reserved.
@@ -383,6 +383,8 @@ apm_suspend(int state)
 
        rv = config_suspend_all(DVACT_SUSPEND);
 
+       suspend_randomness();
+
 #ifdef HIBERNATE
        if (state == APM_IOC_HIBERNATE) {
                uvm_pmr_zero_everything();
@@ -415,6 +417,7 @@ apm_suspend(int state)
        (void)enableintr();
        splx(s);
 
+       resume_randomness();            /* force RNG upper level reseed */
        bufq_restart();
 
        config_suspend_all(DVACT_WAKEUP);
index 16bad43..5807625 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: zaurus_apm.c,v 1.28 2014/09/20 09:28:24 kettenis Exp $        */
+/*     $OpenBSD: zaurus_apm.c,v 1.29 2014/12/18 20:01:33 deraadt Exp $ */
 
 /*
  * Copyright (c) 2005 Uwe Stuehler <uwe@bsdx.de>
@@ -657,6 +657,8 @@ zapm_poweroff(void)
        s = splhigh();
        config_suspend_all(DVACT_SUSPEND);
 
+       suspend_randomness();
+
        /* XXX
         * Flag to disk drivers that they should "power down" the disk
         * when we get to DVACT_POWERDOWN.
@@ -687,6 +689,7 @@ zapm_poweroff(void)
        config_suspend_all(DVACT_RESUME);
        splx(s);
 
+       resume_randomness();            /* force RNG upper level reseed */
        bufq_restart();
 
        config_suspend_all(DVACT_WAKEUP);