diff options
author | Akinobu Mita <akinobu.mita@gmail.com> | 2012-12-17 19:04:23 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-17 20:15:26 -0500 |
commit | 496f2f93b1cc286f5a4f4f9acdc1e5314978683f (patch) | |
tree | 464fa6bd115ad4e3bedc02a0b0796a9f9e055ccc /include/linux/random.h | |
parent | 31279b1457f992f24eee8d45ddd647f5fce42cf6 (diff) |
random32: rename random32 to prandom
This renames all random32 functions to have 'prandom_' prefix as follows:
void prandom_seed(u32 seed); /* rename from srandom32() */
u32 prandom_u32(void); /* rename from random32() */
void prandom_seed_state(struct rnd_state *state, u64 seed);
/* rename from prandom32_seed() */
u32 prandom_u32_state(struct rnd_state *state);
/* rename from prandom32() */
The purpose of this renaming is to prevent some kernel developers from
assuming that prandom32() and random32() might imply that only
prandom32() was the one using a pseudo-random number generator by
prandom32's "p", and the result may be a very embarassing security
exposure. This concern was expressed by Theodore Ts'o.
And furthermore, I'm going to introduce new functions for getting the
requested number of pseudo-random bytes. If I continue to use both
prandom32 and random32 prefixes for these functions, the confusion
is getting worse.
As a result of this renaming, "prandom_" is the common prefix for
pseudo-random number library.
Currently, srandom32() and random32() are preserved because it is
difficult to rename too many users at once.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Cc: Robert Love <robert.w.love@intel.com>
Cc: Michel Lespinasse <walken@google.com>
Cc: Valdis Kletnieks <valdis.kletnieks@vt.edu>
Cc: David Laight <david.laight@aculab.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Artem Bityutskiy <dedekind1@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/random.h')
-rw-r--r-- | include/linux/random.h | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/include/linux/random.h b/include/linux/random.h index 6330ed47b38b..db6debc6649e 100644 --- a/include/linux/random.h +++ b/include/linux/random.h | |||
@@ -25,10 +25,17 @@ extern const struct file_operations random_fops, urandom_fops; | |||
25 | unsigned int get_random_int(void); | 25 | unsigned int get_random_int(void); |
26 | unsigned long randomize_range(unsigned long start, unsigned long end, unsigned long len); | 26 | unsigned long randomize_range(unsigned long start, unsigned long end, unsigned long len); |
27 | 27 | ||
28 | u32 random32(void); | 28 | u32 prandom_u32(void); |
29 | void srandom32(u32 seed); | 29 | void prandom_seed(u32 seed); |
30 | 30 | ||
31 | u32 prandom32(struct rnd_state *); | 31 | /* |
32 | * These macros are preserved for backward compatibility and should be | ||
33 | * removed as soon as a transition is finished. | ||
34 | */ | ||
35 | #define random32() prandom_u32() | ||
36 | #define srandom32(seed) prandom_seed(seed) | ||
37 | |||
38 | u32 prandom_u32_state(struct rnd_state *); | ||
32 | 39 | ||
33 | /* | 40 | /* |
34 | * Handle minimum values for seeds | 41 | * Handle minimum values for seeds |
@@ -39,11 +46,11 @@ static inline u32 __seed(u32 x, u32 m) | |||
39 | } | 46 | } |
40 | 47 | ||
41 | /** | 48 | /** |
42 | * prandom32_seed - set seed for prandom32(). | 49 | * prandom_seed_state - set seed for prandom_u32_state(). |
43 | * @state: pointer to state structure to receive the seed. | 50 | * @state: pointer to state structure to receive the seed. |
44 | * @seed: arbitrary 64-bit value to use as a seed. | 51 | * @seed: arbitrary 64-bit value to use as a seed. |
45 | */ | 52 | */ |
46 | static inline void prandom32_seed(struct rnd_state *state, u64 seed) | 53 | static inline void prandom_seed_state(struct rnd_state *state, u64 seed) |
47 | { | 54 | { |
48 | u32 i = (seed >> 32) ^ (seed << 10) ^ seed; | 55 | u32 i = (seed >> 32) ^ (seed << 10) ^ seed; |
49 | 56 | ||