Skip to content
  • Herbert Xu's avatar
    random: Add callback API for random pool readiness · 205a525c
    Herbert Xu authored
    
    
    The get_blocking_random_bytes API is broken because the wait can
    be arbitrarily long (potentially forever) so there is no safe way
    of calling it from within the kernel.
    
    This patch replaces it with a callback API instead.  The callback
    is invoked potentially from interrupt context so the user needs
    to schedule their own work thread if necessary.
    
    In addition to adding callbacks, they can also be removed as
    otherwise this opens up a way for user-space to allocate kernel
    memory with no bound (by opening algif_rng descriptors and then
    closing them).
    
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    205a525c