#include #include #include #include #include "rnd.h" #include "die.h" #include "ioexact.h" #include "ioops.h" static int fdw = -1; static void randombytes_weak(unsigned char *x, unsigned long long xlen) { int ret; if (fdw == -1) { for (;;) { fdw = open(LOW_ENTROPY_SOURCE, O_RDONLY); if (fdw != -1) break; sleep(1); } } while (xlen > 0) { if (xlen < 1048576) ret = xlen; else ret = 1048576; ret = read(fdw, x, ret); if (ret < 1) { sleep(1); continue; } x += ret; xlen -= ret; } } static void randombytes_strong(unsigned char *x, unsigned long long xlen) { int fds, ret; fds = open_or_die(HIG_ENTROPY_SOURCE, O_RDONLY); ret = read_exact(fds, x, xlen, 0); if (ret != xlen) panic("Error reading from entropy source!\n"); close(fds); } int secrand(void) { int ret; randombytes_weak((void *) &ret, sizeof(ret)); return ret; } void gen_key_bytes(unsigned char *area, size_t len) { randombytes_strong(area, len); } nchange='this.form.submit();'> net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@google.com>2016-09-19 15:46:40 +0200
committerGreg Kroah-Hartman <gregkh@google.com>2016-09-19 16:30:37 +0200
commitd4f56b47a8fac90b15adfae80a42a2735d6b3213 (patch)
tree1ff0da55efa9186343530005a82df6b0f37c34db
parent526dec064223d7e21b1e3c91759bddff1f7d968a (diff)
staging: greybus: Add drivers/staging/greybus to the build
This adds a proper Kconfig file for drivers/staging/greybus and fixes up the Makefile to work correctly within the kernel build system (modules depend on the .config options, etc.) Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>