aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/random.c
AgeCommit message (Expand)AuthorFilesLines
2024-04-17random: handle creditable entropy from atomic process contextJason A. Donenfeld1-5/+5
2023-12-05iov_iter: replace import_single_range() with import_ubuf()Jens Axboe1-2/+2
2023-12-05iov_iter: remove unused 'iov' argument from import_single_range()Jens Axboe1-4/+2
2023-10-11char-misc: Remove the now superfluous sentinel element from ctl_table arrayJoel Granados1-1/+0
2023-05-24tty, proc, kernfs, random: Use copy_splice_read()David Howells1-2/+2
2023-03-06cpumask: fix incorrect cpumask scanning result checksLinus Torvalds1-1/+1
2022-12-20random: do not include <asm/archrandom.h> from random.hJason A. Donenfeld1-0/+1
2022-12-12Merge tag 'pull-iov_iter' of git://git.kernel.org/pub/scm/linux/kernel/git/vi...Linus Torvalds1-2/+2
2022-12-04random: align entropy_timer_state to cache lineJason A. Donenfeld1-16/+17
2022-12-04random: mix in cycle counter when jitter timer firesJason A. Donenfeld1-0/+2
2022-12-04random: spread out jitter callback to different CPUsJason A. Donenfeld1-8/+44
2022-11-29random: remove extraneous period and add a missing one in commentsJason A. Donenfeld1-10/+8
2022-11-25use less confusing names for iov_iter direction initializersAl Viro1-2/+2
2022-11-22random: add back async readiness notifierJason A. Donenfeld1-0/+22
2022-11-18random: reseed in delayed work rather than on-demandJason A. Donenfeld1-36/+32
2022-11-18hw_random: use add_hwgenerator_randomness() for early entropyJason A. Donenfeld1-6/+6
2022-11-18random: modernize documentation comment on get_random_bytes()Jason A. Donenfeld1-5/+5
2022-11-18random: adjust comment to account for removed functionJason A. Donenfeld1-1/+1
2022-11-18random: remove early archrandom abstractionJason A. Donenfeld1-2/+2
2022-11-18random: use random.trust_{bootloader,cpu} command line option onlyJason A. Donenfeld1-5/+5
2022-11-18random: add helpers for random numbers with given floor or rangeJason A. Donenfeld1-1/+17
2022-11-17random: use rejection sampling for uniform bounded random integersJason A. Donenfeld1-0/+22
2022-10-29random: use arch_get_random*_early() in random_init()Jean-Philippe Brucker1-2/+2
2022-10-11prandom: remove unused functionsJason A. Donenfeld1-6/+5
2022-10-06random: clear new batches when bringing new CPUs onlineJason A. Donenfeld1-12/+16
2022-10-01random: fix typos in get_random_bytes() commentWilliam Zijl1-5/+5
2022-10-01random: schedule jitter credit for next jiffy, not in two jiffiesJason A. Donenfeld1-2/+2
2022-09-29random: add 8-bit and 16-bit batchesJason A. Donenfeld1-0/+2
2022-09-29random: use init_utsname() instead of utsname()Jason A. Donenfeld1-1/+1
2022-09-29random: split initialization into early step and later stepJason A. Donenfeld1-20/+30
2022-09-28random: use expired timer rather than wq for mixing fast poolJason A. Donenfeld1-7/+11
2022-09-28random: avoid reading two cache lines on irq randomnessJason A. Donenfeld1-1/+1
2022-09-23random: clamp credited irq bits to maximum mixedJason A. Donenfeld1-1/+1
2022-09-23random: throttle hwrng writes if no entropy is creditedJason A. Donenfeld1-2/+2
2022-09-23random: use hwgenerator randomness more frequently at early bootDominik Brodowski1-12/+10
2022-09-23random: restore O_NONBLOCK supportJason A. Donenfeld1-0/+5
2022-08-04Merge tag 'char-misc-6.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Torvalds1-2/+2
2022-07-30random: correct spelling of "overwrites"Jason A. Donenfeld1-1/+1
2022-07-25random: handle archrandom with multiple longsJason A. Donenfeld1-14/+31
2022-07-18random: use try_cmpxchg in _credit_init_bitsUros Bizjak1-2/+2
2022-07-16random: cap jitter samples per bit to factor of HZJason A. Donenfeld1-1/+1
2022-07-01pm/sleep: Add PM_USERSPACE_AUTOSLEEP KconfigKalesh Singh1-2/+2
2022-06-20random: update comment from copy_to_user() -> copy_to_iter()Jason A. Donenfeld1-1/+1
2022-06-19random: quiet urandom warning ratelimit suppression messageJason A. Donenfeld1-1/+1
2022-06-19random: schedule mix_interrupt_randomness() less oftenJason A. Donenfeld1-1/+1
2022-06-10random: remove rng_has_arch_random()Jason A. Donenfeld1-13/+0
2022-06-10random: do not use jump labels before they are initializedJason A. Donenfeld1-1/+10
2022-06-10random: account for arch randomness in bitsJason A. Donenfeld1-5/+5
2022-06-10random: mark bootloader randomness code as __initJason A. Donenfeld1-4/+3
2022-06-10random: avoid checking crng_ready() twice in random_init()Jason A. Donenfeld1-1/+1
2022-05-22random: check for signals after page of pool writesJason A. Donenfeld1-4/+10
2022-05-20random: wire up fops->splice_{read,write}_iter()Jens Axboe1-0/+4
2022-05-20random: convert to using fops->write_iter()Jens Axboe1-32/+35
2022-05-20random: convert to using fops->read_iter()Jens Axboe1-36/+29
2022-05-19random: unify batched entropy implementationsJason A. Donenfeld1-92/+55
2022-05-19random: move randomize_page() into mm where it belongsJason A. Donenfeld1-32/+0
2022-05-19random: remove mostly unused async readiness notifierJason A. Donenfeld1-48/+0
2022-05-19random: remove get_random_bytes_arch() and add rng_has_arch_random()Jason A. Donenfeld1-33/+16
2022-05-19random: move initialization functions out of hot pagesJason A. Donenfeld1-25/+21
2022-05-19random: make consistent use of buf and lenJason A. Donenfeld1-102/+97
2022-05-19random: use static branch for crng_ready()Jason A. Donenfeld1-4/+12
2022-05-18random: credit architectural init the exact amountJason A. Donenfeld1-6/+6
2022-05-18random: handle latent entropy and command line from random_init()Jason A. Donenfeld1-7/+10
2022-05-18random: use proper jiffies comparison macroJason A. Donenfeld1-1/+1
2022-05-18random: remove ratelimiting for in-kernel unseeded randomnessJason A. Donenfeld1-44/+18
2022-05-18random: move initialization out of reseeding hot pathJason A. Donenfeld1-23/+19
2022-05-18random: avoid initializing twice in credit raceJason A. Donenfeld1-5/+5
2022-05-18random: use symbolic constants for crng_init statesJason A. Donenfeld1-19/+19
2022-05-18siphash: use one source of truth for siphash permutationsJason A. Donenfeld1-23/+7
2022-05-18random: help compiler out with fast_mix() by using simpler argumentsJason A. Donenfeld1-21/+23
2022-05-18random: do not use input pool from hard IRQsJason A. Donenfeld1-15/+36
2022-05-16random: order timer entropy functions below interrupt functionsJason A. Donenfeld1-119/+119
2022-05-15random: do not pretend to handle premature next security modelJason A. Donenfeld1-118/+68
2022-05-13random: use first 128 bits of input as fast initJason A. Donenfeld1-97/+49
2022-05-13random: do not use batches when !crng_ready()Jason A. Donenfeld1-3/+11
2022-05-13random: mix in timestamps and reseed on system restoreJason A. Donenfeld1-0/+30
2022-05-13random: vary jitter iterations based on cycle counter speedJason A. Donenfeld1-10/+26
2022-05-13random: insist on random_get_entropy() existing in order to simplifyJason A. Donenfeld1-60/+29
2022-04-25random: document crng_fast_key_erasure() destination possibilityJason A. Donenfeld1-1/+8
2022-04-16random: use memmove instead of memcpy for remaining 32 bytesJason A. Donenfeld1-1/+1
2022-04-13random: make random_get_entropy() return an unsigned longJason A. Donenfeld1-13/+7
2022-04-13random: allow partial reads if later user copies failJason A. Donenfeld1-10/+12
2022-04-07random: check for signals every PAGE_SIZE chunk of /dev/[u]randomJason A. Donenfeld1-10/+7
2022-04-06random: check for signal_pending() outside of need_resched() checkJann Horn1-2/+2
2022-04-06random: do not allow user to keep crng key around on stackJason A. Donenfeld1-12/+23
2022-04-05random: opportunistically initialize on /dev/urandom readsJason A. Donenfeld1-0/+7
2022-04-04random: do not split fast init input in add_hwgenerator_randomness()Jan Varho1-17/+6
2022-03-31random: mix build-time latent entropy into pool at initJason A. Donenfeld1-0/+5
2022-03-25random: re-add removed comment about get_random_{u32,u64} reseedingJason A. Donenfeld1-3/+4
2022-03-25random: treat bootloader trust toggle the same way as cpu trust toggleJason A. Donenfeld1-1/+7
2022-03-25random: skip fast_init if hwrng provides large chunk of entropyJason A. Donenfeld1-1/+1
2022-03-22Revert "random: block in /dev/urandom"Linus Torvalds1-17/+55
2022-03-21Merge tag 'for-5.18/block-2022-03-18' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2022-03-12random: check for signal and try earlier when generating entropyJason A. Donenfeld1-2/+3
2022-03-12random: reseed more often immediately after bootingJason A. Donenfeld1-3/+25
2022-03-12random: make consistent usage of crng_ready()Jason A. Donenfeld1-12/+7
2022-03-12random: use SipHash as interrupt entropy accumulatorJason A. Donenfeld1-39/+55
2022-03-12random: provide notifier for VM forkJason A. Donenfeld1-0/+15
2022-03-12random: replace custom notifier chain with standard oneJason A. Donenfeld1-48/+19
2022-03-12random: do not export add_vmfork_randomness() unless neededJason A. Donenfeld1-0/+4
2022-03-12random: add mechanism for VM forks to reinitialize crngJason A. Donenfeld1-15/+35
2022-03-12random: don't let 644 read-only sysctls be written toJason A. Donenfeld1-2/+9
2022-03-12random: give sysctl_random_min_urandom_seed a more sensible valueJason A. Donenfeld1-2/+2
2022-03-12random: block in /dev/urandomJason A. Donenfeld1-55/+17
2022-02-28random: do crng pre-init loading in worker rather than irqJason A. Donenfeld1-46/+19
2022-02-28random: unify cycles_t and jiffies usage and typesJason A. Donenfeld1-29/+27
2022-02-28random: cleanup UUID handlingJason A. Donenfeld1-16/+13
2022-02-24random: only wake up writers after zap if threshold was passedJason A. Donenfeld1-1/+1
2022-02-24random: round-robin registers as ulong, not u32Jason A. Donenfeld1-3/+3
2022-02-21random: clear fast pool, crng, and batches in cpuhp bring upJason A. Donenfeld1-15/+47
2022-02-21random: check for crng_init == 0 in add_device_randomness()Jason A. Donenfeld1-1/+1
2022-02-21random: unify early init crng load accountingJason A. Donenfeld1-54/+58
2022-02-21random: do not take pool spinlock at bootJason A. Donenfeld1-3/+3
2022-02-21random: defer fast pool mixing to workerJason A. Donenfeld1-14/+49
2022-02-21random: rewrite header introductory commentJason A. Donenfeld1-162/+21
2022-02-21random: group sysctl functionsJason A. Donenfeld1-6/+31
2022-02-21random: group userspace read/write functionsJason A. Donenfeld1-48/+77
2022-02-21random: group entropy collection functionsJason A. Donenfeld1-164/+206
2022-02-21random: group entropy extraction functionsJason A. Donenfeld1-107/+109
2022-02-21random: group crng functionsJason A. Donenfeld1-382/+410
2022-02-21random: group initialization wait functionsJason A. Donenfeld1-161/+172
2022-02-21random: remove whitespace and reorder includesJason A. Donenfeld1-2/+1
2022-02-21random: introduce drain_entropy() helper to declutter crng_reseed()Jason A. Donenfeld1-13/+23
2022-02-21random: deobfuscate irq u32/u64 contributionsJason A. Donenfeld1-21/+28
2022-02-21random: add proper SPDX headerJason A. Donenfeld1-36/+1
2022-02-21random: remove unused tracepointsJason A. Donenfeld1-27/+3
2022-02-21random: remove ifdef'd out interrupt benchJason A. Donenfeld1-40/+0
2022-02-21random: tie batched entropy generation to base_crng generationJason A. Donenfeld1-21/+8
2022-02-21random: fix locking for crng_init in crng_reseed()Dominik Brodowski1-3/+6
2022-02-21random: zero buffer after reading entropy from userspaceJason A. Donenfeld1-3/+8
2022-02-21random: remove outdated INT_MAX >> 6 check in urandom_read()Jason A. Donenfeld1-2/+1
2022-02-21random: make more consistent use of integer typesJason A. Donenfeld1-68/+55
2022-02-21random: use hash function for crng_slow_load()Jason A. Donenfeld1-27/+15
2022-02-21random: use simpler fast key erasure flow on per-cpu keysJason A. Donenfeld1-166/+229
2022-02-21random: absorb fast pool into input pool after fast loadJason A. Donenfeld1-0/+4
2022-02-21random: do not xor RDRAND when writing into /dev/randomJason A. Donenfeld1-12/+2
2022-02-21random: ensure early RDSEED goes through mixer on initJason A. Donenfeld1-11/+5
2022-02-21random: inline leaves of rand_initialize()Jason A. Donenfeld1-57/+33
2022-02-21random: get rid of secondary crngsJason A. Donenfeld1-172/+53
2022-02-21random: use RDSEED instead of RDRAND in entropy extractionJason A. Donenfeld1-13/+9
2022-02-21random: fix locking in crng_fast_load()Dominik Brodowski1-2/+3
2022-02-21random: remove batched entropy lockingJason A. Donenfeld1-27/+28
2022-02-21random: remove use_input_pool parameter from crng_reseed()Eric Biggers1-6/+6
2022-02-21random: make credit_entropy_bits() always safeJason A. Donenfeld1-20/+9
2022-02-21random: always wake up entropy writers after extractionJason A. Donenfeld1-22/+11
2022-02-21random: use linear min-entropy accumulation creditingJason A. Donenfeld1-94/+20
2022-02-21random: simplify entropy debitingJason A. Donenfeld1-70/+21
2022-02-21random: use computational hash for entropy extractionJason A. Donenfeld1-249/+55
2022-02-04random: only call crng_finalize_init() for primary_crngDominik Brodowski1-5/+5
2022-02-04random: access primary_pool directly rather than through pointerDominik Brodowski1-7/+7
2022-02-04random: wake up /dev/random writers after zapJason A. Donenfeld1-1/+4
2022-02-04random: continually use hwgenerator randomnessDominik Brodowski1-4/+6
2022-02-02block: remove genhd.hChristoph Hellwig1-1/+1
2022-01-22random: move the random sysctl declarations to its own fileXiaoming Ni1-2/+12
2022-01-18random: simplify arithmetic function flow in account()Jason A. Donenfeld1-11/+6
2022-01-18random: selectively clang-format where it makes senseJason A. Donenfeld1-110/+99
2022-01-18random: access input_pool_data directly rather than through pointerJason A. Donenfeld1-13/+8
2022-01-18random: cleanup fractional entropy shift constantsJason A. Donenfeld1-15/+13
2022-01-18random: prepend remaining pool constants with POOL_Jason A. Donenfeld1-20/+20
2022-01-18random: de-duplicate INPUT_POOL constantsJason A. Donenfeld1-11/+6
2022-01-18random: remove unused OUTPUT_POOL constantsJason A. Donenfeld1-3/+1
2022-01-18random: rather than entropy_store abstraction, use globalJason A. Donenfeld1-123/+96
2022-01-18random: remove unused extract_entropy() reserved argumentJason A. Donenfeld1-10/+7
2022-01-18random: remove incomplete last_data logicJason A. Donenfeld1-35/+4
2022-01-18random: cleanup integer typesJason A. Donenfeld1-53/+52
2022-01-18random: cleanup poolinfo abstractionJason A. Donenfeld1-37/+30
2022-01-18random: fix typo in commentsSchspa Shi1-1/+1
2022-01-07random: don't reset crng_init_cnt on urandom_read()Jann Horn1-4/+0
2022-01-07random: avoid superfluous call to RDRAND in CRNG extractionJason A. Donenfeld1-3/+1
2022-01-07random: early initialization of ChaCha constantsDominik Brodowski1-1/+4
2022-01-07random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefsJason A. Donenfeld1-19/+11
2022-01-07random: harmonize "crng init done" messagesDominik Brodowski1-1/+1
2022-01-07random: mix bootloader randomness into poolJason A. Donenfeld1-0/+1
2022-01-07random: do not throw away excess input to crng_fast_loadJason A. Donenfeld1-7/+12
2022-01-07random: do not re-init if crng_reseed completes before primary initJason A. Donenfeld1-1/+1
2022-01-07random: fix crash on multiple early calls to add_bootloader_randomness()Dominik Brodowski1-20/+36
2022-01-07random: do not sign extend bytes for rotation when mixingJason A. Donenfeld1-1/+1
2022-01-07random: use BLAKE2s instead of SHA1 in extractionJason A. Donenfeld1-41/+30
2022-01-07random: fix data race on crng init timeEric Biggers1-7/+10
2022-01-07random: fix data race on crng_node_poolEric Biggers1-20/+22
2022-01-07random: remove unused irq_flags argument from add_interrupt_randomness()Sebastian Andrzej Siewior1-2/+2
2022-01-07random: document add_hwgenerator_randomness() with other input functionsMark Brown1-0/+11
2021-04-02random: remove dead code left over from blocking poolEric Biggers1-14/+3
2021-04-02random: initialize ChaCha20 constants with correct endiannessEric Biggers1-2/+2
2021-02-24Merge tag 'char-misc-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-1/+1
2021-02-04random: fix the RNDRESEEDCRNG ioctlEric Biggers1-1/+1
2021-01-21random: avoid arch_get_random_seed_long() when collecting IRQ randomnessArd Biesheuvel1-14/+1
2020-11-20crypto: sha - split sha.h into sha1.h and sha2.hEric Biggers1-1/+1
2020-10-24random32: make prandom_u32() output unpredictableGeorge Spelvin1-1/+0
2020-07-29random32: update the net random state on interrupt and activityWilly Tarreau1-0/+1
2020-06-10Merge branch 'work.sysctl' of git://git.kernel.org/pub/scm/linux/kernel/git/v...Linus Torvalds1-1/+1
2020-06-08random: fix an incorrect __user annotation on proc_do_entropyChristoph Hellwig1-1/+1
2020-06-03Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-nextLinus Torvalds1-1/+1
2020-05-08crypto: lib/sha1 - fold linux/cryptohash.h into crypto/sha.hEric Biggers1-1/+1
2020-05-08crypto: lib/sha1 - rename "sha" to "sha1"Eric Biggers1-3/+3
2020-04-27sysctl: pass kernel pointers to ->proc_handlerChristoph Hellwig1-1/+1
2020-03-18random: avoid warnings for !CONFIG_NUMA buildsMark Rutland1-1/+1
2020-02-27random: fix data races at timer_rand_stateQian Cai1-6/+6
2020-02-27random: always use batched entropy for get_random_u{32,64}Jason A. Donenfeld1-16/+4
2020-02-27random: add arch_get_random_*long_early()Mark Rutland1-1/+19