• Linus Torvalds's avatar
    Merge branch 'random-5.17-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random · d93aebbd
    Linus Torvalds authored
    Pull random number generator updates from Jason Donenfeld:
     "These a bit more numerous than usual for the RNG, due to folks
      resubmitting patches that had been pending prior and generally renewed
      interest.
    
      There are a few categories of patches in here:
    
       1) Dominik Brodowski and I traded a series back and forth for a some
          weeks that fixed numerous issues related to seeds being provided
          at extremely early boot by the firmware, before other parts of the
          kernel or of the RNG have been initialized, both fixing some
          crashes and addressing correctness around early boot randomness.
          One of these is marked for stable.
    
       2) I replaced the RNG's usage of SHA-1 with BLAKE2s in the entropy
          extractor, and made the construction a bit safer and more
          standard. This was sort of a long overdue low hanging fruit, as we
          were supposed to have phased out SHA-1 usage quite some time ago
          (even if all we needed here was non-invertibility). Along the way
          it also made extraction 131% faster. This required a bit of
          Kconfig and symbol plumbing to make things work well with the
          crypto libraries, which is one of the reasons why I'm sending you
          this pull early in the cycle.
    
       3) I got rid of a truly superfluous call to RDRAND in the hot path,
          which resulted in a whopping 370% increase in performance.
    
       4) Sebastian Andrzej Siewior sent some patches regarding PREEMPT_RT,
          the full series of which wasn't ready yet, but the first two
          preparatory cleanups were good on their own. One of them touches
          files in kernel/irq/, which is the other reason why I'm sending
          you this pull early in the cycle.
    
       5) Other assorted correctness fixes from Eric Biggers, Jann Horn,
          Mark Brown, Dominik Brodowski, and myself"
    
    * 'random-5.17-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/crng/random:
      random: don't reset crng_init_cnt on urandom_read()
      random: avoid superfluous call to RDRAND in CRNG extraction
      random: early initialization of ChaCha constants
      random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs
      random: harmonize "crng init done" messages
      random: mix bootloader randomness into pool
      random: do not throw away excess input to crng_fast_load
      random: do not re-init if crng_reseed completes before primary init
      random: fix crash on multiple early calls to add_bootloader_randomness()
      random: do not sign extend bytes for rotation when mixing
      random: use BLAKE2s instead of SHA1 in extraction
      lib/crypto: blake2s: include as built-in
      random: fix data race on crng init time
      random: fix data race on crng_node_pool
      irq: remove unused flags argument from __handle_irq_event_percpu()
      random: remove unused irq_flags argument from add_interrupt_randomness()
      random: document add_hwgenerator_randomness() with other input functions
      MAINTAINERS: add git tree for random.c
    d93aebbd
MAINTAINERS 618 KB