• Joe Eykholt's avatar
    lib/random32: export pseudo-random number generator for modules · 5960164f
    Joe Eykholt authored
    This patch moves the definition of struct rnd_state and the inline
    __seed() function to linux/random.h.  It renames the static __random32()
    function to prandom32() and exports it for use in modules.
    
    prandom32() is useful as a privately-seeded pseudo random number generator
    that can give the same result every time it is initialized.
    
    For FCoE FC-BB-6 VN2VN mode self-selected unique FC address generation, we
    need an pseudo-random number generator seeded with the 64-bit world-wide
    port name.  A truly random generator or one seeded with randomness won't
    do because the same sequence of numbers should be generated each time we
    boot or the link comes up.
    
    A prandom32_seed() inline function is added to the header file.  It is
    inlined not for speed, but so the function won't be expanded in the base
    kernel, but only in the module that uses it.
    Signed-off-by: default avatarJoe Eykholt <jeykholt@cisco.com>
    Acked-by: default avatarMatt Mackall <mpm@selenic.com>
    Cc: Theodore Ts'o <tytso@mit.edu>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    5960164f
random.h 2.68 KB