6 Commits

Author SHA1 Message Date
Elliott Hughes
6907891b1f You can't fsync(2) /dev/urandom...
...so don't even try. Doing so leads to this:

W/EntropyService( 1586): unable to load initial entropy (first boot?)
W/EntropyService( 1586): java.io.SyncFailedException: fsync failed: EINVAL (Invalid argument)
W/EntropyService( 1586): 	at java.io.FileDescriptor.sync(FileDescriptor.java:73)
W/EntropyService( 1586): 	at java.io.RandomAccessFile.write(RandomAccessFile.java:694)
W/EntropyService( 1586): 	at java.io.RandomAccessFile.write(RandomAccessFile.java:676)
W/EntropyService( 1586): 	at com.android.server.RandomBlock.toDataOut(RandomBlock.java:88)
W/EntropyService( 1586): 	at com.android.server.RandomBlock.toFile(RandomBlock.java:70)
W/EntropyService( 1586): 	at com.android.server.EntropyService.loadInitialEntropy(EntropyService.java:99)
W/EntropyService( 1586): 	at com.android.server.EntropyService.<init>(EntropyService.java:86)
W/EntropyService( 1586): 	at com.android.server.EntropyService.<init>(EntropyService.java:76)
W/EntropyService( 1586): 	at com.android.server.ServerThread.run(SystemServer.java:139)
W/EntropyService( 1586): Caused by: libcore.io.ErrnoException: fsync failed: EINVAL (Invalid argument)
W/EntropyService( 1586): 	at libcore.io.Posix.fsync(Native Method)
W/EntropyService( 1586): 	at libcore.io.BlockGuardOs.fsync(BlockGuardOs.java:39)
W/EntropyService( 1586): 	at java.io.FileDescriptor.sync(FileDescriptor.java:71)
W/EntropyService( 1586): 	... 8 more

Change-Id: I598a9456eccec0ca087f1568d47b6b8e531de8a8
2011-04-04 12:15:34 -07:00
Nick Kralevich
b91ec410c8 squeeze a few more bits of randomness into /dev/random
Change-Id: Ida30c33985411f353c828b43ea26ca1b7e6502af
2010-09-27 14:49:00 -07:00
Nick Kralevich
93a68398b6 Unittests for EntropyService. Make EntropyService more testable.
I've been meaning to write these tests for a long time...

Use "runtest frameworks-services" to run these tests.

Change-Id: I3a3cb7eda547f4a790f38be884b4a583426c7326
2010-03-19 16:57:21 -07:00
Joe Onorato
8a9b22056b Switch the services library to using the new Slog 2010-03-01 13:06:50 -08:00
Nick Kralevich
b8cba95ffd At boot time, add additional per-device information to the
kernel randomness pool.  This helps increase the
quality / uniqueness of the random numbers, and is especially
important during the device's first boot, when insufficient
randomness is available.
2009-06-22 10:37:50 -07:00
Nick Kralevich
4fb256117c load entropy data at boot. Periodically write entropy data to disk. 2009-06-18 11:00:19 -07:00