diff options
Diffstat (limited to 'include/linux/random.h')
| -rw-r--r-- | include/linux/random.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/include/linux/random.h b/include/linux/random.h index 3b9377d6b7a5..4002b3df4c85 100644 --- a/include/linux/random.h +++ b/include/linux/random.h | |||
| @@ -17,6 +17,7 @@ extern void add_interrupt_randomness(int irq, int irq_flags); | |||
| 17 | extern void get_random_bytes(void *buf, int nbytes); | 17 | extern void get_random_bytes(void *buf, int nbytes); |
| 18 | extern void get_random_bytes_arch(void *buf, int nbytes); | 18 | extern void get_random_bytes_arch(void *buf, int nbytes); |
| 19 | void generate_random_uuid(unsigned char uuid_out[16]); | 19 | void generate_random_uuid(unsigned char uuid_out[16]); |
| 20 | extern int random_int_secret_init(void); | ||
| 20 | 21 | ||
| 21 | #ifndef MODULE | 22 | #ifndef MODULE |
| 22 | extern const struct file_operations random_fops, urandom_fops; | 23 | extern const struct file_operations random_fops, urandom_fops; |
| @@ -28,8 +29,13 @@ unsigned long randomize_range(unsigned long start, unsigned long end, unsigned l | |||
| 28 | u32 prandom_u32(void); | 29 | u32 prandom_u32(void); |
| 29 | void prandom_bytes(void *buf, int nbytes); | 30 | void prandom_bytes(void *buf, int nbytes); |
| 30 | void prandom_seed(u32 seed); | 31 | void prandom_seed(u32 seed); |
| 32 | void prandom_reseed_late(void); | ||
| 31 | 33 | ||
| 32 | u32 prandom_u32_state(struct rnd_state *); | 34 | struct rnd_state { |
| 35 | __u32 s1, s2, s3, s4; | ||
| 36 | }; | ||
| 37 | |||
| 38 | u32 prandom_u32_state(struct rnd_state *state); | ||
| 33 | void prandom_bytes_state(struct rnd_state *state, void *buf, int nbytes); | 39 | void prandom_bytes_state(struct rnd_state *state, void *buf, int nbytes); |
| 34 | 40 | ||
| 35 | /* | 41 | /* |
| @@ -49,9 +55,10 @@ static inline void prandom_seed_state(struct rnd_state *state, u64 seed) | |||
| 49 | { | 55 | { |
| 50 | u32 i = (seed >> 32) ^ (seed << 10) ^ seed; | 56 | u32 i = (seed >> 32) ^ (seed << 10) ^ seed; |
| 51 | 57 | ||
| 52 | state->s1 = __seed(i, 1); | 58 | state->s1 = __seed(i, 2U); |
| 53 | state->s2 = __seed(i, 7); | 59 | state->s2 = __seed(i, 8U); |
| 54 | state->s3 = __seed(i, 15); | 60 | state->s3 = __seed(i, 16U); |
| 61 | state->s4 = __seed(i, 128U); | ||
| 55 | } | 62 | } |
| 56 | 63 | ||
| 57 | #ifdef CONFIG_ARCH_RANDOM | 64 | #ifdef CONFIG_ARCH_RANDOM |
