Re: Unit of /proc/sys/kernel/random/poolsize

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Tom,

On 10/22/2011 02:13 PM, Tom Gundersen wrote:
> Hi,
> 
> This might not be so much a bug report, as a request for clarification.
> 
> In random(4) it is explained that /proc/sys/kernel/random/poolsize
> contains the value in bits or bytes in >=2.6 and 2.4 respectively.
> However, the example in the preceding paragraph assumes a 2.4 kernel
> is being used, and treats the value as if it were in bytes.
> 
> I ran across this as I maintain the initscripts for Arch Linux, where
> we have been (mistakenly) following the example even though we use a
> 3.0 kernel. Maybe it would be worthwhile to change the example into
> the 2.6 interface, or at least include a word of caution?
> 
> I realise that using a value which is too large, probably does no harm
> at all, but not being cryptography expert, I'd rather not take the
> chance.

Long after the fact... I applied the patch below.
Okay?

Thanks for the report.

Cheers,

Michael

PS I am going to be in Oslo a couple of times in coming months.
Perhaps we could meet up for a beer or so.

diff --git a/man4/random.4 b/man4/random.4
index 2519981..4a32aac 100644
--- a/man4/random.4
+++ b/man4/random.4
@@ -171,7 +171,7 @@ This reduces the actual amount of noise in the entropy pool
 below the estimate.
 In order to counteract this effect, it helps to carry
 entropy pool information across shut-downs and start-ups.
-To do this, add the following lines to an appropriate script
+To do this, add the lines to an appropriate script
 which is run during the Linux system start-up sequence:
 
 .nf
@@ -186,7 +186,8 @@ which is run during the Linux system start-up sequence:
     fi
     chmod 600 $random_seed
     poolfile=/proc/sys/kernel/random/poolsize
-    [ \-r $poolfile ] && bytes=\`cat $poolfile\` || bytes=512
+    [ \-r $poolfile ] && bits=\`cat $poolfile\` || bits=4096
+    bytes=$(expr $bits / 8)
     dd if=/dev/urandom of=$random_seed count=1 bs=$bytes
 .fi
 
@@ -201,9 +202,14 @@ run during the Linux system shutdown:
     touch $random_seed
     chmod 600 $random_seed
     poolfile=/proc/sys/kernel/random/poolsize
-    [ \-r $poolfile ] && bytes=\`cat $poolfile\` || bytes=512
+    [ \-r $poolfile ] && bits=\`cat $poolfile\` || bits=4096
+    bytes=$(expr $bits / 8)
     dd if=/dev/urandom of=$random_seed count=1 bs=$bytes
 .fi
+
+In the above examples, we assume Linux 2.6.0 or later, where
+.IR /proc/sys/kernel/random/poolsize
+returns the size of the entropy pool in bits (see below).
 .SS /proc Interface
 The files in the directory
 .I /proc/sys/kernel/random


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux