Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp6029729iog; Thu, 23 Jun 2022 09:54:02 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uXAqNc+aUtaDosNKHdoOjSAaMzHF7Q+gz0QXqg5AqBgxF/amzBBZqdw8Q0ZtPkGQdoagyh X-Received: by 2002:a17:906:39d1:b0:6fa:8e62:c8a2 with SMTP id i17-20020a17090639d100b006fa8e62c8a2mr9278210eje.487.1656003242015; Thu, 23 Jun 2022 09:54:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656003242; cv=none; d=google.com; s=arc-20160816; b=uzKOTRnIN0HuQZkBXwRiGZ1gvqChcdLMMGzMTsd+Z3hYY0su8hUBzP24Otwf/wCgyL LxaO19FeaGkr8Lxux//gjbBdeEID6Hs8GvGfjRaEkmUmkaoB6iBMQSExHedHKrzfksWr qjcbK1NZ5iRJQ4BtwSrx6LpgB9Rpoghl5gtyKXym6kPwwsg9h4g7y1bSn7vvsFmSLqso hkzVa4Vv1bFzeOcMArHhF6v3AHcydML+drBhnynbOMAnKeGIwJt5ehrRL7vRU14XIFH4 5TizP+Txua4mnesuMnnx+DxhEDz8SA5bnetrI0Vm4nCYYfHSKytjaqMKtV5Gmhv8/FFP Q0iQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:user-agent :mime-version:message-id:date:subject:cc:to:from:dkim-signature; bh=9M0t/ch8tVJYMV+KkYPU5sggpO+2Q966J1xMcX9bKTI=; b=gDUvli8XCHkkhr50afyd/ScQ8gVTB8EB7zGdY0Nd/H00BxETYP2PY7vGQKQcj6vtnr EvbHdYTkcVepfhliPXWpK+GEKZLThl6hBpHRwvDFqSYJdNdf5iAI4RRRt/GpQ0ehzmsj +n2DI1ebg2JOdi+kznbISsQclsNdVynnqjUVTF594uOqCR+ER7q6PGNT8trfQ863r8sT 7hRTHUNejrnLA4XyhLDbCs3s1dmVKumgCUhFT6bMMCZZu39KtcZoUXC7WhYSLkE7dpOt 8P4zGq380jNy59N/FlW8QkEmHMyNBi0j4st9ZSKZNjlX9PaXqQ3xsYi0cqYpc1EgjqJx dqJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=zgtRA0Y0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a1-20020a50e701000000b0043565c5a2fbsi104030edn.89.2022.06.23.09.53.36; Thu, 23 Jun 2022 09:54:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=zgtRA0Y0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232536AbiFWQss (ORCPT + 99 others); Thu, 23 Jun 2022 12:48:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49042 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232491AbiFWQry (ORCPT ); Thu, 23 Jun 2022 12:47:54 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 187E74B1C5; Thu, 23 Jun 2022 09:47:28 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0C68061F90; Thu, 23 Jun 2022 16:47:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5F319C3411B; Thu, 23 Jun 2022 16:47:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1656002846; bh=eG4eGpbM790CLVQ38C1QEBfY/Kc67o7abMm7TR6zcqY=; h=From:To:Cc:Subject:Date:From; b=zgtRA0Y0mJxcxCWyPQvAsNCPX8Z8AB8PthiZvY4X2Edu6OZw+MLADxNgzh/LZqLLS utQVeYOKjg7zU6/NC82KX9PstfJ8slG1LIEAFJMVKYeEYJTmC6849yNgIoxlzLwUwu YqO2Qhs2mlek1sc1UKZZ51gLxhFCmf2ZS6cGVHps= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, torvalds@linux-foundation.org, akpm@linux-foundation.org, linux@roeck-us.net, shuah@kernel.org, patches@kernelci.org, lkft-triage@lists.linaro.org, pavel@denx.de, jonathanh@nvidia.com, f.fainelli@gmail.com, sudipm.mukherjee@gmail.com, slade@sladewatkins.com Subject: [PATCH 4.9 000/264] 4.9.320-rc1 review Date: Thu, 23 Jun 2022 18:39:53 +0200 Message-Id: <20220623164344.053938039@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 User-Agent: quilt/0.66 X-stable: review X-Patchwork-Hint: ignore X-KernelTest-Patch: http://kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.320-rc1.gz X-KernelTest-Tree: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git X-KernelTest-Branch: linux-4.9.y X-KernelTest-Patches: git://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git X-KernelTest-Version: 4.9.320-rc1 X-KernelTest-Deadline: 2022-06-25T16:43+00:00 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is the start of the stable review cycle for the 4.9.320 release. There are 264 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know. Responses should be made by Sat, 25 Jun 2022 16:43:11 +0000. Anything received after that time might be too late. The whole patch series can be found in one patch at: https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.320-rc1.gz or in the git tree and branch at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y and the diffstat can be found below. thanks, greg k-h ------------- Pseudo-Shortlog of commits: Greg Kroah-Hartman Linux 4.9.320-rc1 Willy Tarreau tcp: drop the hash_32() part from the index calculation Willy Tarreau tcp: increase source port perturb table to 2^16 Willy Tarreau tcp: dynamically allocate the perturb table used by source ports Willy Tarreau tcp: add small random increments to the source port Willy Tarreau tcp: use different parts of the port_offset for index and offset Willy Tarreau secure_seq: use the 64 bits of the siphash for port offset calculation Eric Dumazet tcp: add some entropy in __inet_hash_connect() Eric Dumazet tcp: change source port randomizarion at connect() time Miklos Szeredi fuse: fix pipe buffer lifetime for direct_io Linus Torvalds Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" Halil Pasic swiotlb: fix info leak with DMA_FROM_DEVICE Colin Ian King xprtrdma: fix incorrect header size calculations Christian Borntraeger s390/mm: use non-quiescing sske for KVM switch to keyed guest James Chapman l2tp: fix race in pppol2tp_release with session object destroy James Chapman l2tp: don't use inet_shutdown on ppp session destroy Zhang Yi ext4: add reserved GDT blocks check Ding Xiang ext4: make variable "count" signed Baokun Li ext4: fix bug_on ext4_mb_use_inode_pa Ilpo Järvinen serial: 8250: Store to lsr_save_flags after lsr read Miaoqian Lin usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe Robert Eckelmann USB: serial: io_ti: add Agilent E5805A support Slark Xiao USB: serial: option: add support for Cinterion MV31 with new baseline Ian Abbott comedi: vmk80xx: fix expression for tx buffer size zijun_hu irqchip/gic-v3: Iterate over possible CPUs by for_each_possible_cpu() Miaoqian Lin irqchip/gic/realview: Fix refcount leak in realview_gic_of_init Miaoqian Lin misc: atmel-ssc: Fix IRQ check in ssc_probe Trond Myklebust pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE Jason A. Donenfeld random: credit cpu and bootloader seeds by default Chen Lin net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag Wang Yufen ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg Xiaohui Zhang nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred chengkaitao virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed James Smart scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology Wentao Wang scsi: vmw_pvscsi: Expand vcpuHint to 16 bits Adam Ford ASoC: wm8962: Fix suspend while playing music Sergey Shtylyov ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo() Charles Keepax ASoC: cs42l56: Correct typo in minimum level for SX volume controls Charles Keepax ASoC: cs42l52: Correct TLV for Bypass Volume Charles Keepax ASoC: cs53l30: Correct number of volume levels on SX controls Charles Keepax ASoC: cs42l52: Fix TLV scales for mixer controls Jason A. Donenfeld random: account for arch randomness in bits Jason A. Donenfeld random: mark bootloader randomness code as __init Jason A. Donenfeld random: avoid checking crng_ready() twice in random_init() Nicolai Stange crypto: drbg - make reseeding from get_random_bytes() synchronous Stephan Müller crypto: drbg - always try to free Jitter RNG instance Nicolai Stange crypto: drbg - move dynamic ->reseed_threshold adjustments to __drbg_seed() Nicolai Stange crypto: drbg - track whether DRBG was seeded with !rng_is_initialized() Nicolai Stange crypto: drbg - prepare for more fine-grained tracking of seeding state Stephan Müller crypto: drbg - always seeded with SP800-90B compliant noise source Stephan Mueller crypto: drbg - add FIPS 140-2 CTRNG for noise source Jason A. Donenfeld Revert "random: use static branch for crng_ready()" Jason A. Donenfeld random: check for signals after page of pool writes Jens Axboe random: wire up fops->splice_{read,write}_iter() Jens Axboe random: convert to using fops->write_iter() Jason A. Donenfeld random: move randomize_page() into mm where it belongs Jason A. Donenfeld random: move initialization functions out of hot pages Jason A. Donenfeld random: use proper return types on get_random_{int,long}_wait() Jason A. Donenfeld random: remove extern from functions in header Jason A. Donenfeld random: use static branch for crng_ready() Jason A. Donenfeld random: credit architectural init the exact amount Jason A. Donenfeld random: handle latent entropy and command line from random_init() Jason A. Donenfeld random: use proper jiffies comparison macro Jason A. Donenfeld random: remove ratelimiting for in-kernel unseeded randomness Jason A. Donenfeld random: avoid initializing twice in credit race Jason A. Donenfeld random: use symbolic constants for crng_init states Jason A. Donenfeld siphash: use one source of truth for siphash permutations Jason A. Donenfeld random: help compiler out with fast_mix() by using simpler arguments Jason A. Donenfeld random: do not use input pool from hard IRQs Jason A. Donenfeld random: order timer entropy functions below interrupt functions Jason A. Donenfeld random: do not pretend to handle premature next security model Jason A. Donenfeld random: do not use batches when !crng_ready() Jason A. Donenfeld random: insist on random_get_entropy() existing in order to simplify Yury Norov uapi: rename ext2_swab() to swab() and share globally in swab.h Jason A. Donenfeld xtensa: use fallback for random_get_entropy() instead of zero Jason A. Donenfeld sparc: use fallback for random_get_entropy() instead of zero Jason A. Donenfeld um: use fallback for random_get_entropy() instead of zero Jason A. Donenfeld x86/tsc: Use fallback for random_get_entropy() instead of zero Jason A. Donenfeld nios2: use fallback for random_get_entropy() instead of zero Jason A. Donenfeld arm: use fallback for random_get_entropy() instead of zero Jason A. Donenfeld mips: use fallback for random_get_entropy() instead of just c0 random Jason A. Donenfeld m68k: use fallback for random_get_entropy() instead of zero Jason A. Donenfeld timekeeping: Add raw clock fallback for random_get_entropy() Jason A. Donenfeld powerpc: define get_cycles macro for arch-override Jason A. Donenfeld alpha: define get_cycles macro for arch-override Jason A. Donenfeld parisc: define get_cycles macro for arch-override Jason A. Donenfeld s390: define get_cycles macro for arch-override Jason A. Donenfeld ia64: define get_cycles macro for arch-override Jason A. Donenfeld init: call time_init() before rand_initialize() Jason A. Donenfeld random: fix sysctl documentation nits Jason A. Donenfeld random: document crng_fast_key_erasure() destination possibility Jason A. Donenfeld random: make random_get_entropy() return an unsigned long Jason A. Donenfeld random: check for signals every PAGE_SIZE chunk of /dev/[u]random Jann Horn random: check for signal_pending() outside of need_resched() check Jason A. Donenfeld random: do not allow user to keep crng key around on stack Jan Varho random: do not split fast init input in add_hwgenerator_randomness() Jason A. Donenfeld random: mix build-time latent entropy into pool at init Jason A. Donenfeld random: re-add removed comment about get_random_{u32,u64} reseeding Jason A. Donenfeld random: treat bootloader trust toggle the same way as cpu trust toggle Jason A. Donenfeld random: skip fast_init if hwrng provides large chunk of entropy Jason A. Donenfeld random: check for signal and try earlier when generating entropy Jason A. Donenfeld random: reseed more often immediately after booting Jason A. Donenfeld random: make consistent usage of crng_ready() Jason A. Donenfeld random: use SipHash as interrupt entropy accumulator Jason A. Donenfeld random: replace custom notifier chain with standard one Jason A. Donenfeld random: don't let 644 read-only sysctls be written to Jason A. Donenfeld random: give sysctl_random_min_urandom_seed a more sensible value Jason A. Donenfeld random: do crng pre-init loading in worker rather than irq Jason A. Donenfeld random: unify cycles_t and jiffies usage and types Jason A. Donenfeld random: cleanup UUID handling Jason A. Donenfeld random: only wake up writers after zap if threshold was passed Jason A. Donenfeld random: round-robin registers as ulong, not u32 Jason A. Donenfeld random: clear fast pool, crng, and batches in cpuhp bring up Jason A. Donenfeld random: pull add_hwgenerator_randomness() declaration into random.h Harald Freudenberger hwrng: remember rng chosen by user Harald Freudenberger hwrng: use rng source with best quality Corentin LABBE hwrng: core - remove unused PFX macro Corentin LABBE hwrng: core - Move hwrng miscdev minor number to include/linux/miscdevice.h Corentin LABBE hwrng: core - Rewrite the header Corentin LABBE hwrng: core - rewrite better comparison to NULL Corentin LABBE hwrng: core - do not use multiple blank lines Jason A. Donenfeld random: check for crng_init == 0 in add_device_randomness() Jason A. Donenfeld random: unify early init crng load accounting Jason A. Donenfeld random: do not take pool spinlock at boot Jason A. Donenfeld random: defer fast pool mixing to worker Tejun Heo workqueue: make workqueue available early during boot Jason A. Donenfeld random: rewrite header introductory comment Jason A. Donenfeld random: group sysctl functions Jason A. Donenfeld random: group userspace read/write functions Jason A. Donenfeld random: group entropy collection functions Jason A. Donenfeld random: group entropy extraction functions Jason A. Donenfeld random: group initialization wait functions Jason A. Donenfeld random: remove whitespace and reorder includes Jason A. Donenfeld random: remove useless header comment Jason A. Donenfeld random: introduce drain_entropy() helper to declutter crng_reseed() Jason A. Donenfeld random: deobfuscate irq u32/u64 contributions Jason A. Donenfeld random: add proper SPDX header Jason A. Donenfeld random: remove unused tracepoints Jason A. Donenfeld random: remove ifdef'd out interrupt bench Jason A. Donenfeld random: tie batched entropy generation to base_crng generation Jason A. Donenfeld random: zero buffer after reading entropy from userspace Jason A. Donenfeld random: remove outdated INT_MAX >> 6 check in urandom_read() Jason A. Donenfeld random: use hash function for crng_slow_load() Jason A. Donenfeld random: absorb fast pool into input pool after fast load Jason A. Donenfeld random: do not xor RDRAND when writing into /dev/random Jason A. Donenfeld random: ensure early RDSEED goes through mixer on init Jason A. Donenfeld random: inline leaves of rand_initialize() Jason A. Donenfeld random: use RDSEED instead of RDRAND in entropy extraction Dominik Brodowski random: fix locking in crng_fast_load() Jason A. Donenfeld random: remove batched entropy locking Eric Biggers random: remove use_input_pool parameter from crng_reseed() Jason A. Donenfeld random: make credit_entropy_bits() always safe Jason A. Donenfeld random: always wake up entropy writers after extraction Jason A. Donenfeld random: use linear min-entropy accumulation crediting Jason A. Donenfeld random: simplify entropy debiting Jason A. Donenfeld random: use computational hash for entropy extraction Dominik Brodowski random: only call crng_finalize_init() for primary_crng Dominik Brodowski random: access primary_pool directly rather than through pointer Dominik Brodowski random: continually use hwgenerator randomness Jason A. Donenfeld random: simplify arithmetic function flow in account() Jason A. Donenfeld random: access input_pool_data directly rather than through pointer Jason A. Donenfeld random: cleanup fractional entropy shift constants Jason A. Donenfeld random: prepend remaining pool constants with POOL_ Jason A. Donenfeld random: de-duplicate INPUT_POOL constants Jason A. Donenfeld random: remove unused OUTPUT_POOL constants Jason A. Donenfeld random: rather than entropy_store abstraction, use global Linus Torvalds random: try to actively add entropy rather than passively wait for it Jason A. Donenfeld random: remove unused extract_entropy() reserved argument Jason A. Donenfeld random: remove incomplete last_data logic Jason A. Donenfeld random: cleanup integer types Eric Biggers crypto: chacha20 - Fix chacha20_block() keystream alignment (again) Jason A. Donenfeld random: cleanup poolinfo abstraction Schspa Shi random: fix typo in comments Jann Horn random: don't reset crng_init_cnt on urandom_read() Jason A. Donenfeld random: avoid superfluous call to RDRAND in CRNG extraction Dominik Brodowski random: early initialization of ChaCha constants Eric Biggers random: initialize ChaCha20 constants with correct endianness Jason A. Donenfeld random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs Dominik Brodowski random: harmonize "crng init done" messages Jason A. Donenfeld random: mix bootloader randomness into pool Jason A. Donenfeld random: do not re-init if crng_reseed completes before primary init Jason A. Donenfeld random: do not sign extend bytes for rotation when mixing Jason A. Donenfeld random: use BLAKE2s instead of SHA1 in extraction Sebastian Andrzej Siewior random: remove unused irq_flags argument from add_interrupt_randomness() Mark Brown random: document add_hwgenerator_randomness() with other input functions Eric Biggers crypto: blake2s - adjust include guard naming Eric Biggers crypto: blake2s - include instead of Jason A. Donenfeld MAINTAINERS: co-maintain random.c Eric Biggers random: remove dead code left over from blocking pool Ard Biesheuvel random: avoid arch_get_random_seed_long() when collecting IRQ randomness Mark Rutland random: add arch_get_random_*long_early() Richard Henderson powerpc: Use bool in archrandom.h Richard Henderson linux/random.h: Mark CONFIG_ARCH_RANDOM functions __must_check Richard Henderson linux/random.h: Use false with bool Richard Henderson linux/random.h: Remove arch_has_random, arch_has_random_seed Richard Henderson powerpc: Remove arch_has_random, arch_has_random_seed Richard Henderson x86: Remove arch_has_random, arch_has_random_seed Mark Rutland random: avoid warnings for !CONFIG_NUMA builds Mark Rutland random: split primary/secondary crng init paths Yangtao Li random: remove some dead code of poolinfo Yangtao Li random: fix typo in add_timer_randomness() Yangtao Li random: Add and use pr_fmt() Yangtao Li random: convert to ENTROPY_BITS for better code readability Yangtao Li random: remove unnecessary unlikely() Andy Lutomirski random: remove kernel.random.read_wakeup_threshold Andy Lutomirski random: delete code to pull data into pools Andy Lutomirski random: remove the blocking pool Dominik Brodowski random: fix crash on multiple early calls to add_bootloader_randomness() Andy Lutomirski random: make /dev/random be almost like /dev/urandom Andy Lutomirski random: ignore GRND_RANDOM in getentropy(2) Andy Lutomirski random: add GRND_INSECURE to return best-effort non-cryptographic bytes Andy Lutomirski random: Add a urandom_read_nowait() for random APIs that don't warn Andy Lutomirski random: Don't wake crng_init_wait when crng_init == 1 Jason A. Donenfeld lib/crypto: sha1: re-roll loops to reduce code size Jason A. Donenfeld lib/crypto: blake2s: move hmac construction into wireguard Jason A. Donenfeld crypto: blake2s - generic C library implementation and selftest Andy Shevchenko crypto: Deduplicate le32_to_cpu_array() and cpu_to_le32_array() Herbert Xu Revert "hwrng: core - Freeze khwrng thread during suspend" Borislav Petkov char/random: Add a newline at the end of the file Stephen Boyd random: Use wait_event_freezable() in add_hwgenerator_randomness() Hsin-Yi Wang fdt: add support for rng-seed Stephen Boyd random: Support freezable kthreads in add_hwgenerator_randomness() Theodore Ts'o random: fix soft lockup when trying to read from an uninitialized blocking pool Vasily Gorbik latent_entropy: avoid build error when plugin cflags are not set George Spelvin random: document get_random_int() family Kees Cook random: move rand_initialize() earlier Theodore Ts'o random: only read from /dev/random after its pool has received 128 bits Rasmus Villemoes drivers/char/random.c: make primary_crng static Rasmus Villemoes drivers/char/random.c: remove unused stuct poolinfo::poolbits Rasmus Villemoes drivers/char/random.c: constify poolinfo_table Kees Cook random: make CPU trust a boot parameter Jason A. Donenfeld random: Make crng state queryable Ingo Molnar random: remove preempt disabled region Theodore Ts'o random: add a config option to trust the CPU's hwrng Tobin C. Harding random: Return nbytes filled from hw RNG Tobin C. Harding random: Fix whitespace pre random-bytes work Rasmus Villemoes drivers/char/random.c: remove unused dont_count_entropy Andi Kleen random: optimize add_interrupt_randomness Jason A. Donenfeld random: always fill buffer in get_random_bytes_wait Eric Biggers crypto: chacha20 - Fix keystream alignment for chacha20_block() Eric Biggers random: fix data race on crng_node_pool Jason A. Donenfeld random: always use batched entropy for get_random_u{32,64} Greg Kroah-Hartman Revert "char/random: silence a lockdep splat with printk()" Sergey Senozhatsky char/random: silence a lockdep splat with printk() Sebastian Andrzej Siewior random: add a spinlock_t to struct batched_entropy Theodore Ts'o random: rate limit unseeded randomness warnings Theodore Ts'o random: fix possible sleeping allocation from irq context Theodore Ts'o random: set up the NUMA crng instances after the CRNG is fully initialized Theodore Ts'o random: use a different mixing algorithm for add_device_randomness() Helge Deller random: fix warning message on ia64 and parisc Sebastian Andrzej Siewior random: reorder READ_ONCE() in get_random_uXX Theodore Ts'o random: suppress spammy warnings about unseeded randomness Kees Cook random: do not ignore early device randomness Jason A. Donenfeld random: warn when kernel uses unseeded randomness Jason A. Donenfeld random: add get_random_{bytes,u32,u64,int,long,once}_wait family Jason A. Donenfeld random: add wait_for_random_bytes() API Jason A. Donenfeld random: silence compiler warnings and fix race Jason A. Donenfeld random: invalidate batched entropy after crng init Fabio Estevam random: move random_min_urandom_seed into CONFIG_SYSCTL ifdef block Jason A. Donenfeld random: convert get_random_int/long into get_random_u32/u64 Stephan Müller random: fix comment for unused random_min_urandom_seed Stephan Müller random: remove variable limit Stephan Müller random: remove stale urandom_init_wait Stephan Mueller random: remove stale maybe_reseed_primary_crng Al Viro 9p: missing chunk of "fs/9p: Don't update file type when updating file attributes" ------------- Diffstat: Documentation/kernel-parameters.txt | 12 + Documentation/sysctl/kernel.txt | 35 +- MAINTAINERS | 1 + Makefile | 4 +- arch/alpha/include/asm/timex.h | 1 + arch/arm/include/asm/timex.h | 1 + arch/ia64/include/asm/timex.h | 1 + arch/m68k/include/asm/timex.h | 2 +- arch/mips/include/asm/timex.h | 17 +- arch/nios2/include/asm/timex.h | 3 + arch/parisc/include/asm/timex.h | 3 +- arch/powerpc/include/asm/archrandom.h | 27 +- arch/powerpc/include/asm/timex.h | 1 + arch/s390/include/asm/timex.h | 1 + arch/s390/mm/pgtable.c | 2 +- arch/sparc/include/asm/timex_32.h | 4 +- arch/um/include/asm/timex.h | 9 +- arch/x86/include/asm/archrandom.h | 12 +- arch/x86/include/asm/timex.h | 9 + arch/x86/include/asm/tsc.h | 7 +- arch/xtensa/include/asm/timex.h | 6 +- crypto/chacha20_generic.c | 3 +- crypto/drbg.c | 220 +- crypto/md4.c | 17 - crypto/md5.c | 17 - drivers/ata/libata-core.c | 4 +- drivers/char/Kconfig | 38 +- drivers/char/hw_random/core.c | 93 +- drivers/char/random.c | 2891 ++++++++++----------------- drivers/hv/vmbus_drv.c | 2 +- drivers/irqchip/irq-gic-realview.c | 1 + drivers/irqchip/irq-gic-v3.c | 8 +- drivers/misc/atmel-ssc.c | 4 +- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 21 +- drivers/nfc/nfcmrvl/usb.c | 16 +- drivers/of/fdt.c | 14 +- drivers/scsi/lpfc/lpfc_nportdisc.c | 3 +- drivers/scsi/vmw_pvscsi.h | 4 +- drivers/staging/comedi/drivers/vmk80xx.c | 2 +- drivers/tty/serial/8250/8250_port.c | 2 + drivers/usb/gadget/udc/lpc32xx_udc.c | 1 + drivers/usb/serial/io_ti.c | 2 + drivers/usb/serial/io_usbvend.h | 1 + drivers/usb/serial/option.c | 6 + drivers/virtio/virtio_mmio.c | 1 + fs/9p/vfs_inode_dotl.c | 10 +- fs/ext4/mballoc.c | 9 + fs/ext4/namei.c | 3 +- fs/ext4/resize.c | 10 + fs/fuse/dev.c | 12 +- fs/fuse/file.c | 1 + fs/fuse/fuse_i.h | 2 + fs/nfs/pnfs.c | 6 + include/crypto/blake2s.h | 102 + include/crypto/chacha20.h | 17 +- include/crypto/drbg.h | 18 +- include/crypto/internal/blake2s.h | 19 + include/linux/byteorder/generic.h | 17 + include/linux/cpuhotplug.h | 2 + include/linux/hw_random.h | 2 - include/linux/miscdevice.h | 1 + include/linux/mm.h | 2 + include/linux/net.h | 2 + include/linux/once.h | 2 + include/linux/prandom.h | 23 +- include/linux/random.h | 133 +- include/linux/siphash.h | 28 + include/linux/swab.h | 1 + include/linux/timex.h | 10 +- include/linux/uuid.h | 1 + include/linux/workqueue.h | 7 +- include/net/inet_hashtables.h | 2 +- include/net/secure_seq.h | 4 +- include/trace/events/random.h | 315 --- include/uapi/linux/random.h | 4 +- include/uapi/linux/swab.h | 10 + init/main.c | 22 + kernel/cpu.c | 11 + kernel/irq/handle.c | 2 +- kernel/time/timekeeping.c | 16 + kernel/workqueue.c | 76 +- lib/Kconfig.debug | 27 + lib/Makefile | 2 + lib/chacha20.c | 6 +- lib/crypto/Makefile | 7 + lib/crypto/blake2s-generic.c | 111 + lib/crypto/blake2s-selftest.c | 591 ++++++ lib/crypto/blake2s.c | 78 + lib/find_bit.c | 16 +- lib/random32.c | 15 +- lib/sha1.c | 95 +- lib/siphash.c | 32 +- lib/swiotlb.c | 11 +- mm/util.c | 33 + net/core/secure_seq.c | 4 +- net/ipv4/inet_hashtables.c | 46 +- net/ipv6/inet6_hashtables.c | 4 +- net/l2tp/l2tp_ip6.c | 5 +- net/l2tp/l2tp_ppp.c | 60 +- net/sunrpc/xprtrdma/rpc_rdma.c | 4 +- sound/soc/codecs/cs42l52.c | 8 +- sound/soc/codecs/cs42l56.c | 4 +- sound/soc/codecs/cs53l30.c | 16 +- sound/soc/codecs/wm8962.c | 1 + 104 files changed, 2966 insertions(+), 2641 deletions(-)