#define SEC_XFER_SIZE          512
 #define EXTRACT_SIZE           10
 
-#define DEBUG_RANDOM_BOOT 0
 
 #define LONGS(x) (((x) + sizeof(unsigned long) - 1)/sizeof(unsigned long))
 
 {
        __u8 tmp[CHACHA20_BLOCK_SIZE];
 
-#if DEBUG_RANDOM_BOOT > 0
+#ifdef CONFIG_WARN_UNSEEDED_RANDOM
        if (!crng_ready())
                printk(KERN_NOTICE "random: %pF get_random_bytes called "
                       "with crng_init = %d\n", (void *) _RET_IP_, crng_init);
            return ret;
 #endif
 
+#ifdef CONFIG_WARN_UNSEEDED_RANDOM
+       if (!crng_ready())
+               printk(KERN_NOTICE "random: %pF get_random_u64 called "
+                      "with crng_init = %d\n", (void *) _RET_IP_, crng_init);
+#endif
+
        batch = &get_cpu_var(batched_entropy_u64);
        if (use_lock)
                read_lock_irqsave(&batched_entropy_reset_lock, flags);
        if (arch_get_random_int(&ret))
                return ret;
 
+#ifdef CONFIG_WARN_UNSEEDED_RANDOM
+       if (!crng_ready())
+               printk(KERN_NOTICE "random: %pF get_random_u32 called "
+                      "with crng_init = %d\n", (void *) _RET_IP_, crng_init);
+#endif
+
        batch = &get_cpu_var(batched_entropy_u32);
        if (use_lock)
                read_lock_irqsave(&batched_entropy_reset_lock, flags);
 
          It is also used by various kernel debugging features that require
          stack trace generation.
 
+config WARN_UNSEEDED_RANDOM
+       bool "Warn when kernel uses unseeded randomness"
+       default y
+       depends on DEBUG_KERNEL
+       help
+         Some parts of the kernel contain bugs relating to their use of
+         cryptographically secure random numbers before it's actually possible
+         to generate those numbers securely. This setting ensures that these
+         flaws don't go unnoticed, by enabling a message, should this ever
+         occur. This will allow people with obscure setups to know when things
+         are going wrong, so that they might contact developers about fixing
+         it.
+
+         Say Y here, unless you simply do not care about using unseeded
+         randomness and do not want a potential warning message in your logs.
+
 config DEBUG_KOBJECT
        bool "kobject debugging"
        depends on DEBUG_KERNEL