Skip to contentSkip to conversation

Linux 5.4.200

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jun 22, 2022 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.4.200 kernel.

All users of the 5.4 kernel series must upgrade.

The updated 5.4.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.4.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

------------

 Documentation/admin-guide/kernel-parameters.txt    |    6 
 Documentation/admin-guide/sysctl/kernel.rst        |   35 
 MAINTAINERS                                        |    1 
 Makefile                                           |    2 
 arch/alpha/include/asm/timex.h                     |    1 
 arch/arm/include/asm/timex.h                       |    1 
 arch/arm64/include/asm/brk-imm.h                   |    2 
 arch/arm64/include/asm/debug-monitors.h            |    1 
 arch/arm64/include/asm/kprobes.h                   |    2 
 arch/arm64/kernel/ftrace.c                         |    4 
 arch/arm64/kernel/probes/kprobes.c                 |   69 
 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/ppc-opcode.h              |    2 
 arch/powerpc/include/asm/timex.h                   |    1 
 arch/powerpc/kernel/idle_6xx.S                     |    2 
 arch/powerpc/kernel/l2cr_6xx.S                     |    6 
 arch/powerpc/kernel/process.c                      |    4 
 arch/powerpc/kernel/swsusp_32.S                    |    2 
 arch/powerpc/kernel/swsusp_asm64.S                 |    2 
 arch/powerpc/mm/mmu_context.c                      |    2 
 arch/powerpc/platforms/powermac/cache.S            |    4 
 arch/riscv/include/asm/asm-prototypes.h            |    4 
 arch/riscv/include/asm/processor.h                 |    2 
 arch/riscv/lib/tishift.S                           |   75 
 arch/s390/include/asm/archrandom.h                 |   12 
 arch/s390/include/asm/timex.h                      |    1 
 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/x86/kernel/cpu/mshyperv.c                     |    2 
 arch/xtensa/include/asm/timex.h                    |    6 
 certs/blacklist_hashes.c                           |    2 
 crypto/drbg.c                                      |  135 
 drivers/ata/libata-core.c                          |    4 
 drivers/char/Kconfig                               |   53 
 drivers/char/hw_random/core.c                      |    1 
 drivers/char/random.c                              | 3213 +++++++--------------
 drivers/clocksource/hyperv_timer.c                 |    1 
 drivers/hv/vmbus_drv.c                             |    2 
 drivers/i2c/busses/i2c-designware-common.c         |    3 
 drivers/i2c/busses/i2c-designware-platdrv.c        |   13 
 drivers/irqchip/irq-gic-realview.c                 |    1 
 drivers/irqchip/irq-gic-v3.c                       |    7 
 drivers/md/dm-log.c                                |    3 
 drivers/misc/atmel-ssc.c                           |    4 
 drivers/net/ethernet/broadcom/bgmac-bcma.c         |    1 
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     |   25 
 drivers/net/ethernet/intel/i40e/i40e_main.c        |    5 
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c |    2 
 drivers/net/ethernet/mediatek/mtk_eth_soc.c        |   21 
 drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.h |    2 
 drivers/nfc/nfcmrvl/usb.c                          |   16 
 drivers/nfc/st21nfca/se.c                          |   61 
 drivers/scsi/ipr.c                                 |    4 
 drivers/scsi/lpfc/lpfc_hw4.h                       |    3 
 drivers/scsi/lpfc/lpfc_nportdisc.c                 |    3 
 drivers/scsi/lpfc/lpfc_nvme.c                      |   11 
 drivers/scsi/pmcraid.c                             |    2 
 drivers/scsi/vmw_pvscsi.h                          |    4 
 drivers/staging/comedi/drivers/vmk80xx.c           |    2 
 drivers/tty/goldfish.c                             |    2 
 drivers/tty/serial/8250/8250_port.c                |    2 
 drivers/usb/dwc2/hcd.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 
 drivers/virtio/virtio_pci_common.c                 |    3 
 fs/9p/vfs_inode_dotl.c                             |   10 
 fs/compat_ioctl.c                                  |    7 
 fs/ext4/mballoc.c                                  |    9 
 fs/ext4/namei.c                                    |    3 
 fs/ext4/resize.c                                   |   10 
 fs/nfs/pnfs.c                                      |    6 
 include/crypto/blake2s.h                           |  102 
 include/crypto/chacha.h                            |   15 
 include/crypto/drbg.h                              |   16 
 include/crypto/internal/blake2s.h                  |   19 
 include/linux/cpuhotplug.h                         |    2 
 include/linux/hw_random.h                          |    2 
 include/linux/mm.h                                 |    1 
 include/linux/prandom.h                            |   23 
 include/linux/random.h                             |  122 
 include/linux/siphash.h                            |   28 
 include/linux/timex.h                              |   10 
 include/trace/events/random.h                      |  313 --
 include/uapi/linux/random.h                        |    4 
 init/main.c                                        |   13 
 kernel/bpf/stackmap.c                              |    3 
 kernel/cpu.c                                       |   11 
 kernel/dma/debug.c                                 |    2 
 kernel/irq/handle.c                                |    2 
 kernel/time/timekeeping.c                          |   15 
 lib/Kconfig.debug                                  |    3 
 lib/crypto/Makefile                                |    6 
 lib/crypto/blake2s-generic.c                       |  111 
 lib/crypto/blake2s-selftest.c                      |  591 +++
 lib/crypto/blake2s.c                               |   78 
 lib/random32.c                                     |   15 
 lib/sha1.c                                         |   95 
 lib/siphash.c                                      |   32 
 lib/vsprintf.c                                     |   10 
 mm/util.c                                          |   32 
 net/l2tp/l2tp_ip6.c                                |    5 
 net/openvswitch/actions.c                          |    6 
 net/openvswitch/conntrack.c                        |    3 
 net/openvswitch/flow_netlink.c                     |   80 
 net/sched/act_police.c                             |   16 
 scripts/faddr2line                                 |   45 
 sound/hda/hdac_device.c                            |    1 
 sound/pci/hda/patch_realtek.c                      |   27 
 sound/soc/codecs/cs35l36.c                         |    3 
 sound/soc/codecs/cs42l52.c                         |    8 
 sound/soc/codecs/cs42l56.c                         |    4 
 sound/soc/codecs/cs53l30.c                         |   16 
 sound/soc/codecs/es8328.c                          |    5 
 sound/soc/codecs/nau8822.c                         |    4 
 sound/soc/codecs/nau8822.h                         |    3 
 sound/soc/codecs/wm8962.c                          |    1 
 sound/soc/codecs/wm_adsp.c                         |    2 
 128 files changed, 2907 insertions(+), 3012 deletions(-)

Adam Ford (1):
ASoC: wm8962: Fix suspend while playing music

Al Viro (1):
9p: missing chunk of "fs/9p: Don't update file type when updating file attributes"

Aleksandr Loktionov (1):
i40e: Fix call trace in setup_tx_descriptors

Alexey Kardashevskiy (1):
powerpc/mm: Switch obsolete dssall to .long

Andy Chi (1):
ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machine

Andy Lutomirski (8):
random: Don't wake crng_init_wait when crng_init == 1
random: Add a urandom_read_nowait() for random APIs that don't warn
random: add GRND_INSECURE to return best-effort non-cryptographic bytes
random: ignore GRND_RANDOM in getentropy(2)
random: make /dev/random be almost like /dev/urandom
random: remove the blocking pool
random: delete code to pull data into pools
random: remove kernel.random.read_wakeup_threshold

Ard Biesheuvel (1):
random: avoid arch_get_random_seed_long() when collecting IRQ randomness

Arnd Bergmann (1):
compat_ioctl: remove /dev/random commands

Baokun Li (1):
ext4: fix bug_on ext4_mb_use_inode_pa

Charles Keepax (5):
ASoC: cs42l52: Fix TLV scales for mixer controls
ASoC: cs35l36: Update digital volume TLV
ASoC: cs53l30: Correct number of volume levels on SX controls
ASoC: cs42l52: Correct TLV for Bypass Volume
ASoC: cs42l56: Correct typo in minimum level for SX volume controls

Chen Lin (1):
net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag

Chengguang Xu (2):
scsi: ipr: Fix missing/incorrect resource cleanup in error case
scsi: pmcraid: Fix missing resource cleanup in error case

Christophe JAILLET (1):
net: bgmac: Fix an erroneous kfree() in bgmac_remove()

Davide Caratti (1):
net/sched: act_police: more accurate MTU policing

Ding Xiang (1):
ext4: make variable "count" signed

Dominik Brodowski (7):
random: harmonize "crng init done" messages
random: early initialization of ChaCha constants
random: continually use hwgenerator randomness
random: access primary_pool directly rather than through pointer
random: only call crng_finalize_init() for primary_crng
random: fix locking in crng_fast_load()
random: fix locking for crng_init in crng_reseed()

Eric Biggers (5):
random: remove dead code left over from blocking pool
crypto: blake2s - include <linux/bug.h> instead of <asm/bug.h>
crypto: blake2s - adjust include guard naming
random: initialize ChaCha20 constants with correct endianness
random: remove use_input_pool parameter from crng_reseed()

Greg Kroah-Hartman (1):

      Linux 5.4.200

Grzegorz Szczurek (2):
i40e: Fix adding ADQ filter to TC0
i40e: Fix calculating the number of queue pairs

He Ying (1):
powerpc/kasan: Silence KASAN warnings in __get_wchan()

Hui Wang (1):
ASoC: nau8822: Add operation for internal PLL off and on

Ian Abbott (1):

      comedi: vmk80xx: fix expression for tx buffer size

Ilpo Järvinen (1):
serial: 8250: Store to lsr_save_flags after lsr read

Ilya Maximets (2):
net: openvswitch: fix misuse of the cached connection on tuple changes
net: openvswitch: fix leak of nested actions

James Smart (2):
scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
scsi: lpfc: Allow reduced polling rate for nvme_admin_async_event cmd completion

Jan Varho (1):
random: do not split fast init input in add_hwgenerator_randomness()

Jann Horn (2):
random: don't reset crng_init_cnt on urandom_read()
random: check for signal_pending() outside of need_resched() check

Jason A. Donenfeld (126):
crypto: blake2s - generic C library implementation and selftest lib/crypto: blake2s: move hmac construction into wireguard lib/crypto: sha1: re-roll loops to reduce code size
random: don't forget compat_ioctl on urandom
MAINTAINERS: co-maintain random.c
random: use BLAKE2s instead of SHA1 in extraction
random: do not sign extend bytes for rotation when mixing
random: do not re-init if crng_reseed completes before primary init
random: mix bootloader randomness into pool
random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs
random: avoid superfluous call to RDRAND in CRNG extraction
random: cleanup poolinfo abstraction
random: cleanup integer types
random: remove incomplete last_data logic
random: remove unused extract_entropy() reserved argument
random: rather than entropy_store abstraction, use global
random: remove unused OUTPUT_POOL constants
random: de-duplicate INPUT_POOL constants
random: prepend remaining pool constants with POOL_
random: cleanup fractional entropy shift constants
random: access input_pool_data directly rather than through pointer
random: selectively clang-format where it makes sense
random: simplify arithmetic function flow in account()
random: use computational hash for entropy extraction
random: simplify entropy debiting
random: use linear min-entropy accumulation crediting
random: always wake up entropy writers after extraction
random: make credit_entropy_bits() always safe
random: remove batched entropy locking
random: use RDSEED instead of RDRAND in entropy extraction
random: get rid of secondary crngs
random: inline leaves of rand_initialize()
random: ensure early RDSEED goes through mixer on init
random: do not xor RDRAND when writing into /dev/random
random: absorb fast pool into input pool after fast load
random: use simpler fast key erasure flow on per-cpu keys
random: use hash function for crng_slow_load()
random: make more consistent use of integer types
random: remove outdated INT_MAX >> 6 check in urandom_read()
random: zero buffer after reading entropy from userspace
random: tie batched entropy generation to base_crng generation
random: remove ifdef'd out interrupt bench
random: remove unused tracepoints
random: add proper SPDX header
random: deobfuscate irq u32/u64 contributions
random: introduce drain_entropy() helper to declutter crng_reseed()
random: remove useless header comment
random: remove whitespace and reorder includes
random: group initialization wait functions
random: group crng functions
random: group entropy extraction functions
random: group entropy collection functions
random: group userspace read/write functions
random: group sysctl functions
random: rewrite header introductory comment
random: defer fast pool mixing to worker
random: do not take pool spinlock at boot
random: unify early init crng load accounting
random: check for crng_init == 0 in add_device_randomness()
random: pull add_hwgenerator_randomness() declaration into random.h
random: clear fast pool, crng, and batches in cpuhp bring up
random: round-robin registers as ulong, not u32
random: only wake up writers after zap if threshold was passed
random: cleanup UUID handling
random: unify cycles_t and jiffies usage and types
random: do crng pre-init loading in worker rather than irq
random: give sysctl_random_min_urandom_seed a more sensible value
random: don't let 644 read-only sysctls be written to
random: replace custom notifier chain with standard one
random: use SipHash as interrupt entropy accumulator
random: make consistent usage of crng_ready()
random: reseed more often immediately after booting
random: check for signal and try earlier when generating entropy
random: skip fast_init if hwrng provides large chunk of entropy
random: treat bootloader trust toggle the same way as cpu trust toggle
random: re-add removed comment about get_random_{u32,u64} reseeding
random: mix build-time latent entropy into pool at init
random: do not allow user to keep crng key around on stack
random: check for signals every PAGE_SIZE chunk of /dev/[u]random
random: allow partial reads if later user copies fail
random: make random_get_entropy() return an unsigned long
random: document crng_fast_key_erasure() destination possibility
random: fix sysctl documentation nits
init: call time_init() before rand_initialize()
ia64: define get_cycles macro for arch-override
s390: define get_cycles macro for arch-override
parisc: define get_cycles macro for arch-override
alpha: define get_cycles macro for arch-override
powerpc: define get_cycles macro for arch-override
timekeeping: Add raw clock fallback for random_get_entropy()
m68k: use fallback for random_get_entropy() instead of zero
mips: use fallback for random_get_entropy() instead of just c0 random
arm: use fallback for random_get_entropy() instead of zero
nios2: use fallback for random_get_entropy() instead of zero x86/tsc: Use fallback for random_get_entropy() instead of zero
um: use fallback for random_get_entropy() instead of zero
sparc: use fallback for random_get_entropy() instead of zero
xtensa: use fallback for random_get_entropy() instead of zero
random: insist on random_get_entropy() existing in order to simplify
random: do not use batches when !crng_ready()
random: use first 128 bits of input as fast init
random: do not pretend to handle premature next security model
random: order timer entropy functions below interrupt functions
random: do not use input pool from hard IRQs
random: help compiler out with fast_mix() by using simpler arguments
siphash: use one source of truth for siphash permutations
random: use symbolic constants for crng_init states
random: avoid initializing twice in credit race
random: move initialization out of reseeding hot path
random: remove ratelimiting for in-kernel unseeded randomness
random: use proper jiffies comparison macro
random: handle latent entropy and command line from random_init()
random: credit architectural init the exact amount
random: use static branch for crng_ready()
random: remove extern from functions in header
random: use proper return types on get_random_{int,long}_wait()
random: make consistent use of buf and len
random: move initialization functions out of hot pages
random: move randomize_page() into mm where it belongs
random: unify batched entropy implementations
random: check for signals after page of pool writes
Revert "random: use static branch for crng_ready()"
random: avoid checking crng_ready() twice in random_init()
random: mark bootloader randomness code as __init
random: account for arch randomness in bits
random: credit cpu and bootloader seeds by default

Jean-Philippe Brucker (1):
arm64: kprobes: Use BRK instead of single-step when executing instructions out-of-line

Jens Axboe (3):

      random: convert to using fops->read_iter()
      random: convert to using fops->write_iter()
      random: wire up fops->splice_{read,write}_iter()

Jeremy Szu (1):
ALSA: hda/realtek: fix mute/micmute LEDs for HP 440 G8

Josh Poimboeuf (1):
faddr2line: Fix overlapping text section failures, the sequel

Mark Brown (3):
random: document add_hwgenerator_randomness() with other input functions
ASoC: es8328: Fix event generation for deemphasis control
ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put()

Mark Rutland (4):
random: split primary/secondary crng init paths
random: avoid warnings for !CONFIG_NUMA builds
random: add arch_get_random_*long_early()
arm64: ftrace: fix branch range checks

Martin Faltesek (1):
nfc: st21nfca: fix incorrect sizing calculations in EVT_TRANSACTION

Masahiro Yamada (2):
clocksource: hyper-v: unexport __init-annotated hv_init_clocksource() certs/blacklist_hashes.c: fix const confusion in certs blacklist

Miaoqian Lin (6):
misc: atmel-ssc: Fix IRQ check in ssc_probe irqchip/gic/realview: Fix refcount leak in realview_gic_of_init irqchip/gic-v3: Fix error handling in gic_populate_ppi_partitions irqchip/gic-v3: Fix refcount leak in gic_populate_ppi_partitions
usb: dwc2: Fix memory leak in dwc2_hcd_init
usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe

Mikulas Patocka (1):
dm mirror log: round up region bitmap size to BITS_PER_LONG

Murilo Opsfelder Araujo (1):
virtio-pci: Remove wrong address verification in vp_del_vqs()

Nicolai Stange (4):
crypto: drbg - prepare for more fine-grained tracking of seeding state
crypto: drbg - track whether DRBG was seeded with !rng_is_initialized()
crypto: drbg - move dynamic ->reseed_threshold adjustments to __drbg_seed()
crypto: drbg - make reseeding from get_random_bytes() synchronous

Olof Johansson (1):
riscv: Less inefficient gcc tishift helpers (and export their symbols)

Petr Machata (1):
mlxsw: spectrum_cnt: Reorder counter pools

Randy Dunlap (1):
RISC-V: fix barrier() use in <vdso/processor.h>

Richard Henderson (7):
x86: Remove arch_has_random, arch_has_random_seed
powerpc: Remove arch_has_random, arch_has_random_seed
s390: Remove arch_has_random, arch_has_random_seed linux/random.h: Remove arch_has_random, arch_has_random_seed linux/random.h: Use false with bool
linux/random.h: Mark CONFIG_ARCH_RANDOM functions __must_check
powerpc: Use bool in archrandom.h

Rob Clark (1):
dma-debug: make things less spammy under memory pressure

Robert Eckelmann (1):
USB: serial: io_ti: add Agilent E5805A support

Schspa Shi (1):
random: fix typo in comments

Sebastian Andrzej Siewior (1):
random: remove unused irq_flags argument from add_interrupt_randomness()

Serge Semin (1):
i2c: designware: Use standard optional ref clock implementation

Sergey Shtylyov (1):
ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo()

Slark Xiao (1):
USB: serial: option: add support for Cinterion MV31 with new baseline

Stephan Müller (2):
crypto: drbg - always seeded with SP800-90B compliant noise source
crypto: drbg - always try to free Jitter RNG instance

Trond Myklebust (1):
pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE

Vincent Whitchurch (1):
tty: goldfish: Fix free_irq() on remove

Wang Yufen (1):
ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg

Wentao Wang (1):
scsi: vmw_pvscsi: Expand vcpuHint to 16 bits

Xiaohui Zhang (1):
nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred

Yangtao Li (5):
random: remove unnecessary unlikely()
random: convert to ENTROPY_BITS for better code readability
random: Add and use pr_fmt()
random: fix typo in add_timer_randomness()
random: remove some dead code of poolinfo

Yuntao Wang (1):
bpf: Fix incorrect memory charge cost calculation in stack_map_alloc()

Zhang Yi (1):
ext4: add reserved GDT blocks check

chengkaitao (1):
virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed

huangwenhui (1):
ALSA: hda/realtek - Add HW8326 support

author maintainer
#1 lore raw
Documentation/admin-guide/kernel-parameters.txt +6 -0
index cad17c7a311e..db9d53b879f8 100644
@@ -3842,6 +3842,12 @@
 			fully seed the kernel's CRNG. Default is controlled
 			by CONFIG_RANDOM_TRUST_CPU.
 
+	random.trust_bootloader={on,off}
+			[KNL] Enable or disable trusting the use of a
+			seed passed by the bootloader (if available) to
+			fully seed the kernel's CRNG. Default is controlled
+			by CONFIG_RANDOM_TRUST_BOOTLOADER.
+
 	ras=option[,option,...]	[KNL] RAS-specific options
 
 		cec_disable	[X86]
Documentation/admin-guide/sysctl/kernel.rst +33 -2
index 7b477fa19534..9715685be6e3 100644
@@ -862,9 +862,40 @@ The kernel command line parameter printk.devkmsg= overrides this and is
 a one-time setting until next reboot: once set, it cannot be changed by
 this sysctl interface anymore.
 
+pty
+===
 
-randomize_va_space:
-===================
+See Documentation/filesystems/devpts.rst.
+
+
+random
+======
+
+This is a directory, with the following entries:
+
+* ``boot_id``: a UUID generated the first time this is retrieved, and
+  unvarying after that;
+
+* ``uuid``: a UUID generated every time this is retrieved (this can
+  thus be used to generate UUIDs at will);
+
+* ``entropy_avail``: the pool's entropy count, in bits;
+
+* ``poolsize``: the entropy pool size, in bits;
+
+* ``urandom_min_reseed_secs``: obsolete (used to determine the minimum
+  number of seconds between urandom pool reseeding). This file is
+  writable for compatibility purposes, but writing to it has no effect
+  on any RNG behavior;
+
+* ``write_wakeup_threshold``: when the entropy count drops below this
+  (as a number of bits), processes waiting to write to ``/dev/random``
+  are woken up. This file is writable for compatibility purposes, but
+  writing to it has no effect on any RNG behavior.
+
+
+randomize_va_space
+==================
 
 This option can be used to select the type of process address
 space randomization that is used in the system, for architectures
MAINTAINERS +1 -0
index 1407008df749..f45d6548a4aa 100644
@@ -13640,6 +13640,7 @@ F:	arch/mips/configs/generic/board-ranchu.config
 
 RANDOM NUMBER DRIVER
 M:	"Theodore Ts'o" <[email protected]>
+M:	Jason A. Donenfeld <[email protected]>
 S:	Maintained
 F:	drivers/char/random.c
 
Makefile +1 -1
index a8d2f2a1c052..32da9117e9d7 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 4
-SUBLEVEL = 199
+SUBLEVEL = 200
 EXTRAVERSION =
 NAME = Kleptomaniac Octopus
 
arch/alpha/include/asm/timex.h +1 -0
index b565cc6f408e..f89798da8a14 100644
@@ -28,5 +28,6 @@ static inline cycles_t get_cycles (void)
 	__asm__ __volatile__ ("rpcc %0" : "=r"(ret));
 	return ret;
 }
+#define get_cycles get_cycles
 
 #endif
arch/arm/include/asm/timex.h +1 -0
index 7c3b3671d6c2..6d1337c169cd 100644
@@ -11,5 +11,6 @@
 
 typedef unsigned long cycles_t;
 #define get_cycles()	({ cycles_t c; read_current_timer(&c) ? 0 : c; })
+#define random_get_entropy() (((unsigned long)get_cycles()) ?: random_get_entropy_fallback())
 
 #endif
arch/arm64/include/asm/brk-imm.h +2 -0
index e3d47b52161d..ec7720dbe2c8 100644
@@ -10,6 +10,7 @@
  * #imm16 values used for BRK instruction generation
  * 0x004: for installing kprobes
  * 0x005: for installing uprobes
+ * 0x006: for kprobe software single-step
  * Allowed values for kgdb are 0x400 - 0x7ff
  * 0x100: for triggering a fault on purpose (reserved)
  * 0x400: for dynamic BRK instruction
@@ -19,6 +20,7 @@
  */
 #define KPROBES_BRK_IMM			0x004
 #define UPROBES_BRK_IMM			0x005
+#define KPROBES_BRK_SS_IMM		0x006
 #define FAULT_BRK_IMM			0x100
 #define KGDB_DYN_DBG_BRK_IMM		0x400
 #define KGDB_COMPILED_DBG_BRK_IMM	0x401
arch/arm64/include/asm/debug-monitors.h +1 -0
index d825e3585e28..0253691c4b3a 100644
@@ -53,6 +53,7 @@
 
 /* kprobes BRK opcodes with ESR encoding  */
 #define BRK64_OPCODE_KPROBES	(AARCH64_BREAK_MON | (KPROBES_BRK_IMM << 5))
+#define BRK64_OPCODE_KPROBES_SS	(AARCH64_BREAK_MON | (KPROBES_BRK_SS_IMM << 5))
 /* uprobes BRK opcodes with ESR encoding  */
 #define BRK64_OPCODE_UPROBES	(AARCH64_BREAK_MON | (UPROBES_BRK_IMM << 5))
 
arch/arm64/include/asm/kprobes.h +1 -1
index 97e511d645a2..8699ce30f587 100644
@@ -16,7 +16,7 @@
 #include <linux/percpu.h>
 
 #define __ARCH_WANT_KPROBES_INSN_SLOT
-#define MAX_INSN_SIZE			1
+#define MAX_INSN_SIZE			2
 
 #define flush_insn_slot(p)		do { } while (0)
 #define kretprobe_blacklist_size	0
arch/arm64/kernel/ftrace.c +2 -2
index 822718eafdb4..d4a4be02d309 100644
@@ -69,7 +69,7 @@ int ftrace_make_call(struct dyn_ftrace *rec, unsigned long addr)
 {
 	unsigned long pc = rec->ip;
 	u32 old, new;
-	long offset = (long)pc - (long)addr;
+	long offset = (long)addr - (long)pc;
 
 	if (offset < -SZ_128M || offset >= SZ_128M) {
 #ifdef CONFIG_ARM64_MODULE_PLTS
@@ -126,7 +126,7 @@ int ftrace_make_nop(struct module *mod, struct dyn_ftrace *rec,
 	unsigned long pc = rec->ip;
 	bool validate = true;
 	u32 old = 0, new;
-	long offset = (long)pc - (long)addr;
+	long offset = (long)addr - (long)pc;
 
 	if (offset < -SZ_128M || offset >= SZ_128M) {
 #ifdef CONFIG_ARM64_MODULE_PLTS
arch/arm64/kernel/probes/kprobes.c +23 -46

151 lines not on this page · raw message

arch/ia64/include/asm/timex.h +1 -0
index 869a3ac6bf23..7ccc077a60be 100644
@@ -39,6 +39,7 @@ get_cycles (void)
 	ret = ia64_getreg(_IA64_REG_AR_ITC);
 	return ret;
 }
+#define get_cycles get_cycles
 
 extern void ia64_cpu_local_tick (void);
 extern unsigned long long ia64_native_sched_clock (void);
arch/m68k/include/asm/timex.h +1 -1
index 6a21d9358280..f4a7a340f4ca 100644
@@ -35,7 +35,7 @@ static inline unsigned long random_get_entropy(void)
 {
 	if (mach_random_get_entropy)
 		return mach_random_get_entropy();
-	return 0;
+	return random_get_entropy_fallback();
 }
 #define random_get_entropy	random_get_entropy
 
arch/mips/include/asm/timex.h +8 -9
index 8026baf46e72..2e107886f97a 100644
@@ -76,25 +76,24 @@ static inline cycles_t get_cycles(void)
 	else
 		return 0;	/* no usable counter */
 }
+#define get_cycles get_cycles
 
 /*
  * Like get_cycles - but where c0_count is not available we desperately
  * use c0_random in an attempt to get at least a little bit of entropy.
- *
- * R6000 and R6000A neither have a count register nor a random register.
- * That leaves no entropy source in the CPU itself.
  */
 static inline unsigned long random_get_entropy(void)
 {
-	unsigned int prid = read_c0_prid();
-	unsigned int imp = prid & PRID_IMP_MASK;
+	unsigned int c0_random;
 
-	if (can_use_mips_counter(prid))
+	if (can_use_mips_counter(read_c0_prid()))
 		return read_c0_count();
-	else if (likely(imp != PRID_IMP_R6000 && imp != PRID_IMP_R6000A))
-		return read_c0_random();
+
+	if (cpu_has_3kex)
+		c0_random = (read_c0_random() >> 8) & 0x3f;
 	else
-		return 0;	/* no usable register */
+		c0_random = read_c0_random() & 0x3f;
+	return (random_get_entropy_fallback() << 6) | (0x3f - c0_random);
 }
 #define random_get_entropy random_get_entropy
 
arch/nios2/include/asm/timex.h +3 -0
index a769f871b28d..40a1adc9bd03 100644
@@ -8,5 +8,8 @@
 typedef unsigned long cycles_t;
 
 extern cycles_t get_cycles(void);
+#define get_cycles get_cycles
+
+#define random_get_entropy() (((unsigned long)get_cycles()) ?: random_get_entropy_fallback())
 
 #endif
arch/parisc/include/asm/timex.h +2 -1
index 45537cd4d1d3..1cd2bd3eef33 100644
@@ -12,9 +12,10 @@
 
 typedef unsigned long cycles_t;
 
-static inline cycles_t get_cycles (void)
+static inline cycles_t get_cycles(void)
 {
 	return mfctl(16);
 }
+#define get_cycles get_cycles
 
 #endif
arch/powerpc/include/asm/archrandom.h +9 -18
index a09595f00cab..f0f16b4fc5ea 100644
@@ -6,27 +6,28 @@
 
 #include <asm/machdep.h>
 
-static inline int arch_get_random_long(unsigned long *v)
+static inline bool arch_get_random_long(unsigned long *v)
 {
-	return 0;
+	return false;
 }
 
-static inline int arch_get_random_int(unsigned int *v)
+static inline bool arch_get_random_int(unsigned int *v)
 {
-	return 0;
+	return false;
 }
 
-static inline int arch_get_random_seed_long(unsigned long *v)
+static inline bool arch_get_random_seed_long(unsigned long *v)
 {
 	if (ppc_md.get_random_seed)
 		return ppc_md.get_random_seed(v);
 
-	return 0;
+	return false;
 }
-static inline int arch_get_random_seed_int(unsigned int *v)
+
+static inline bool arch_get_random_seed_int(unsigned int *v)
 {
 	unsigned long val;
-	int rc;
+	bool rc;
 
 	rc = arch_get_random_seed_long(&val);
 	if (rc)
@@ -34,16 +35,6 @@ static inline int arch_get_random_seed_int(unsigned int *v)
 
 	return rc;
 }
-
-static inline int arch_has_random(void)
-{
-	return 0;
-}
-
-static inline int arch_has_random_seed(void)
-{
-	return !!ppc_md.get_random_seed;
-}
 #endif /* CONFIG_ARCH_RANDOM */
 
 #ifdef CONFIG_PPC_POWERNV
arch/powerpc/include/asm/ppc-opcode.h +2 -0
index c1df75edde44..a9af63bd430f 100644
@@ -204,6 +204,7 @@
 #define PPC_INST_ICBT			0x7c00002c
 #define PPC_INST_ICSWX			0x7c00032d
 #define PPC_INST_ICSWEPX		0x7c00076d
+#define PPC_INST_DSSALL			0x7e00066c
 #define PPC_INST_ISEL			0x7c00001e
 #define PPC_INST_ISEL_MASK		0xfc00003e
 #define PPC_INST_LDARX			0x7c0000a8
@@ -439,6 +440,7 @@
 					__PPC_RA(a) | __PPC_RB(b))
 #define	PPC_DCBZL(a, b)		stringify_in_c(.long PPC_INST_DCBZL | \
 					__PPC_RA(a) | __PPC_RB(b))
+#define PPC_DSSALL		stringify_in_c(.long PPC_INST_DSSALL)
 #define PPC_LQARX(t, a, b, eh)	stringify_in_c(.long PPC_INST_LQARX | \
 					___PPC_RT(t) | ___PPC_RA(a) | \
 					___PPC_RB(b) | __PPC_EH(eh))
arch/powerpc/include/asm/timex.h +1 -0
index 6047402b0a4d..5405cb2fe65a 100644
@@ -22,6 +22,7 @@ static inline cycles_t get_cycles(void)
 
 	return mftb();
 }
+#define get_cycles get_cycles
 
 #endif	/* __KERNEL__ */
 #endif	/* _ASM_POWERPC_TIMEX_H */
arch/powerpc/kernel/idle_6xx.S +1 -1
index 0ffdd18b9f26..acb8215c5a01 100644
@@ -129,7 +129,7 @@ BEGIN_FTR_SECTION
 END_FTR_SECTION_IFCLR(CPU_FTR_NO_DPM)
 	mtspr	SPRN_HID0,r4
 BEGIN_FTR_SECTION
-	DSSALL
+	PPC_DSSALL
 	sync
 END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC)
 	lwz	r8,TI_LOCAL_FLAGS(r2)	/* set napping bit */
arch/powerpc/kernel/l2cr_6xx.S +3 -3
index 2020d255585f..7684f644e93e 100644
@@ -96,7 +96,7 @@ END_FTR_SECTION_IFCLR(CPU_FTR_L2CR)
 
 	/* Stop DST streams */
 BEGIN_FTR_SECTION
-	DSSALL
+	PPC_DSSALL
 	sync
 END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC)
 
@@ -293,7 +293,7 @@ END_FTR_SECTION_IFCLR(CPU_FTR_L3CR)
 	isync
 
 	/* Stop DST streams */
-	DSSALL
+	PPC_DSSALL
 	sync
 
 	/* Get the current enable bit of the L3CR into r4 */
@@ -402,7 +402,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_L3CR)
 _GLOBAL(__flush_disable_L1)
 	/* Stop pending alitvec streams and memory accesses */
 BEGIN_FTR_SECTION
-	DSSALL
+	PPC_DSSALL
 END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC)
  	sync
 
arch/powerpc/kernel/process.c +2 -2
index c94bba9142e7..832663f21422 100644
@@ -2001,12 +2001,12 @@ static unsigned long __get_wchan(struct task_struct *p)
 		return 0;
 
 	do {
-		sp = *(unsigned long *)sp;
+		sp = READ_ONCE_NOCHECK(*(unsigned long *)sp);
 		if (!validate_sp(sp, p, STACK_FRAME_OVERHEAD) ||
 		    p->state == TASK_RUNNING)
 			return 0;
 		if (count > 0) {
-			ip = ((unsigned long *)sp)[STACK_FRAME_LR_SAVE];
+			ip = READ_ONCE_NOCHECK(((unsigned long *)sp)[STACK_FRAME_LR_SAVE]);
 			if (!in_sched_functions(ip))
 				return ip;
 		}
arch/powerpc/kernel/swsusp_32.S +1 -1
index cbdf86228eaa..54c44aea338c 100644
@@ -181,7 +181,7 @@ _GLOBAL(swsusp_arch_resume)
 #ifdef CONFIG_ALTIVEC
 	/* Stop pending alitvec streams and memory accesses */
 BEGIN_FTR_SECTION
-	DSSALL
+	PPC_DSSALL
 END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC)
 #endif
  	sync
arch/powerpc/kernel/swsusp_asm64.S +1 -1
index 6d3189830dd3..068a268a8013 100644
@@ -142,7 +142,7 @@ END_FW_FTR_SECTION_IFCLR(FW_FEATURE_LPAR)
 _GLOBAL(swsusp_arch_resume)
 	/* Stop pending alitvec streams and memory accesses */
 BEGIN_FTR_SECTION
-	DSSALL
+	PPC_DSSALL
 END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC)
 	sync
 
arch/powerpc/mm/mmu_context.c +1 -1
index 18f20da0d348..64290d343b55 100644
@@ -79,7 +79,7 @@ void switch_mm_irqs_off(struct mm_struct *prev, struct mm_struct *next,
 	 * context
 	 */
 	if (cpu_has_feature(CPU_FTR_ALTIVEC))
-		asm volatile ("dssall");
+		asm volatile (PPC_DSSALL);
 
 	if (new_on_cpu)
 		radix_kvm_prefetch_workaround(next);
arch/powerpc/platforms/powermac/cache.S +2 -2
index da69e0fcb4f1..9b85b030cbeb 100644
@@ -48,7 +48,7 @@ flush_disable_75x:
 
 	/* Stop DST streams */
 BEGIN_FTR_SECTION
-	DSSALL
+	PPC_DSSALL
 	sync
 END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC)
 
@@ -196,7 +196,7 @@ flush_disable_745x:
 	isync
 
 	/* Stop prefetch streams */
-	DSSALL
+	PPC_DSSALL
 	sync
 
 	/* Disable L2 prefetching */
arch/riscv/include/asm/asm-prototypes.h +4 -0
index c9fecd120d18..8ae9708a8eee 100644
@@ -4,4 +4,8 @@
 #include <linux/ftrace.h>
 #include <asm-generic/asm-prototypes.h>
 
+long long __lshrti3(long long a, int b);
+long long __ashrti3(long long a, int b);
+long long __ashlti3(long long a, int b);
+
 #endif /* _ASM_RISCV_PROTOTYPES_H */
arch/riscv/include/asm/processor.h +2 -0
index f539149d04c2..8c5b11a640dd 100644
@@ -22,6 +22,8 @@
 
 #ifndef __ASSEMBLY__
 
+#include <asm/barrier.h>
+
 struct task_struct;
 struct pt_regs;
 
arch/riscv/lib/tishift.S +57 -18

91 lines not on this page · raw message

arch/s390/include/asm/archrandom.h +0 -12
index c67b82dfa558..9a6835137a16 100644
@@ -21,18 +21,6 @@ extern atomic64_t s390_arch_random_counter;
 
 bool s390_arch_random_generate(u8 *buf, unsigned int nbytes);
 
-static inline bool arch_has_random(void)
-{
-	return false;
-}
-
-static inline bool arch_has_random_seed(void)
-{
-	if (static_branch_likely(&s390_arch_random_available))
-		return true;
-	return false;
-}
-
 static inline bool arch_get_random_long(unsigned long *v)
 {
 	return false;
arch/s390/include/asm/timex.h +1 -0
index b6a4ce9dafaf..99a7e028232d 100644
@@ -177,6 +177,7 @@ static inline cycles_t get_cycles(void)
 {
 	return (cycles_t) get_tod_clock() >> 2;
 }
+#define get_cycles get_cycles
 
 int get_phys_clock(unsigned long *clock);
 void init_cpu_timer(void);
arch/sparc/include/asm/timex_32.h +1 -3
index 542915b46209..f86326a6f89e 100644
@@ -9,8 +9,6 @@
 
 #define CLOCK_TICK_RATE	1193180 /* Underlying HZ */
 
-/* XXX Maybe do something better at some point... -DaveM */
-typedef unsigned long cycles_t;
-#define get_cycles()	(0)
+#include <asm-generic/timex.h>
 
 #endif
arch/um/include/asm/timex.h +2 -7
index e392a9a5bc9b..9f27176adb26 100644
@@ -2,13 +2,8 @@
 #ifndef __UM_TIMEX_H
 #define __UM_TIMEX_H
 
-typedef unsigned long cycles_t;
-
-static inline cycles_t get_cycles (void)
-{
-	return 0;
-}
-
 #define CLOCK_TICK_RATE (HZ)
 
+#include <asm-generic/timex.h>
+
 #endif
arch/x86/include/asm/archrandom.h +4 -8
index af45e1452f09..feb59461046c 100644
@@ -73,10 +73,6 @@ static inline bool rdseed_int(unsigned int *v)
 	return ok;
 }
 
-/* Conditional execution based on CPU type */
-#define arch_has_random()	static_cpu_has(X86_FEATURE_RDRAND)
-#define arch_has_random_seed()	static_cpu_has(X86_FEATURE_RDSEED)
-
 /*
  * These are the generic interfaces; they must not be declared if the
  * stubs in <linux/random.h> are to be invoked,
@@ -86,22 +82,22 @@ static inline bool rdseed_int(unsigned int *v)
 
 static inline bool arch_get_random_long(unsigned long *v)
 {
-	return arch_has_random() ? rdrand_long(v) : false;
+	return static_cpu_has(X86_FEATURE_RDRAND) ? rdrand_long(v) : false;
 }
 
 static inline bool arch_get_random_int(unsigned int *v)
 {
-	return arch_has_random() ? rdrand_int(v) : false;
+	return static_cpu_has(X86_FEATURE_RDRAND) ? rdrand_int(v) : false;
 }
 
 static inline bool arch_get_random_seed_long(unsigned long *v)
 {
-	return arch_has_random_seed() ? rdseed_long(v) : false;
+	return static_cpu_has(X86_FEATURE_RDSEED) ? rdseed_long(v) : false;
 }
 
 static inline bool arch_get_random_seed_int(unsigned int *v)
 {
-	return arch_has_random_seed() ? rdseed_int(v) : false;
+	return static_cpu_has(X86_FEATURE_RDSEED) ? rdseed_int(v) : false;
 }
 
 extern void x86_init_rdrand(struct cpuinfo_x86 *c);
arch/x86/include/asm/timex.h +9 -0
index a4a8b1b16c0c..956e4145311b 100644
@@ -5,6 +5,15 @@
 #include <asm/processor.h>
 #include <asm/tsc.h>
 
+static inline unsigned long random_get_entropy(void)
+{
+	if (!IS_ENABLED(CONFIG_X86_TSC) &&
+	    !cpu_feature_enabled(X86_FEATURE_TSC))
+		return random_get_entropy_fallback();
+	return rdtsc();
+}
+#define random_get_entropy random_get_entropy
+
 /* Assume we use the PIT time source for the clock tick */
 #define CLOCK_TICK_RATE		PIT_TICK_RATE
 
arch/x86/include/asm/tsc.h +3 -4
index 8a0c25c6bf09..f1ea8f0c8b12 100644
@@ -22,13 +22,12 @@ extern void disable_TSC(void);
 
 static inline cycles_t get_cycles(void)
 {
-#ifndef CONFIG_X86_TSC
-	if (!boot_cpu_has(X86_FEATURE_TSC))
+	if (!IS_ENABLED(CONFIG_X86_TSC) &&
+	    !cpu_feature_enabled(X86_FEATURE_TSC))
 		return 0;
-#endif
-
 	return rdtsc();
 }
+#define get_cycles get_cycles
 
 extern struct system_counterval_t convert_art_to_tsc(u64 art);
 extern struct system_counterval_t convert_art_ns_to_tsc(u64 art_ns);
arch/x86/kernel/cpu/mshyperv.c +1 -1
index 1c2f9baf8483..51d95c4b692c 100644
@@ -82,7 +82,7 @@ __visible void __irq_entry hv_stimer0_vector_handler(struct pt_regs *regs)
 	inc_irq_stat(hyperv_stimer0_count);
 	if (hv_stimer0_handler)
 		hv_stimer0_handler();
-	add_interrupt_randomness(HYPERV_STIMER0_VECTOR, 0);
+	add_interrupt_randomness(HYPERV_STIMER0_VECTOR);
 	ack_APIC_irq();
 
 	exiting_irq();
arch/xtensa/include/asm/timex.h +2 -4
index 233ec75e60c6..3f2462f2d027 100644
@@ -29,10 +29,6 @@
 
 extern unsigned long ccount_freq;
 
-typedef unsigned long long cycles_t;
-
-#define get_cycles()	(0)
-
 void local_timer_setup(unsigned cpu);
 
 /*
@@ -59,4 +55,6 @@ static inline void set_linux_timer (unsigned long ccompare)
 	xtensa_set_sr(ccompare, SREG_CCOMPARE + LINUX_TIMER);
 }
 
+#include <asm-generic/timex.h>
+
 #endif	/* _XTENSA_TIMEX_H */
certs/blacklist_hashes.c +1 -1
index 344892337be0..d5961aa3d338 100644
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0
 #include "blacklist.h"
 
-const char __initdata *const blacklist_hashes[] = {
+const char __initconst *const blacklist_hashes[] = {
 #include CONFIG_SYSTEM_BLACKLIST_HASH_LIST
 	, NULL
 };
crypto/drbg.c +63 -72

237 lines not on this page · raw message

drivers/ata/libata-core.c +2 -2
index af8a1bac9345..fc37e075f3e1 100644
@@ -6235,7 +6235,7 @@ struct ata_host *ata_host_alloc_pinfo(struct device *dev,
 				      const struct ata_port_info * const * ppi,
 				      int n_ports)
 {
-	const struct ata_port_info *pi;
+	const struct ata_port_info *pi = &ata_dummy_port_info;
 	struct ata_host *host;
 	int i, j;
 
@@ -6243,7 +6243,7 @@ struct ata_host *ata_host_alloc_pinfo(struct device *dev,
 	if (!host)
 		return NULL;
 
-	for (i = 0, j = 0, pi = NULL; i < host->n_ports; i++) {
+	for (i = 0, j = 0; i < host->n_ports; i++) {
 		struct ata_port *ap = host->ports[i];
 
 		if (ppi[j])
drivers/char/Kconfig +33 -20

62 lines not on this page · raw message

drivers/char/hw_random/core.c +1 -0
index 8d53b8ef545c..559ca503b7b6 100644
@@ -15,6 +15,7 @@
 #include <linux/err.h>
 #include <linux/fs.h>
 #include <linux/hw_random.h>
+#include <linux/random.h>
 #include <linux/kernel.h>
 #include <linux/kthread.h>
 #include <linux/sched/signal.h>
drivers/char/random.c +1098 -2115

1,920 lines not on this page · raw message

drivers/clocksource/hyperv_timer.c +0 -1
index 36933e2b3b0d..80b4b8fee54d 100644

Lines of this file are not shown. View the raw message.

drivers/hv/vmbus_drv.c +1 -1
index 943654ded73d..56918274c48c 100644

Lines of this file are not shown. View the raw message.

drivers/i2c/busses/i2c-designware-common.c +0 -3
index 2de7452fcd6d..c9036675bd77 100644

Lines of this file are not shown. View the raw message.

drivers/i2c/busses/i2c-designware-platdrv.c +11 -2
index 0c55c54372d7..75313c80f132 100644

Lines of this file are not shown. View the raw message.

drivers/irqchip/irq-gic-realview.c +1 -0
index b4c1924f0255..38fab02ffe9d 100644

Lines of this file are not shown. View the raw message.

drivers/irqchip/irq-gic-v3.c +5 -2
index f589ca2480a1..77a130c03223 100644

Lines of this file are not shown. View the raw message.

drivers/md/dm-log.c +1 -2
index 33e71ea6cc14..8b15f53cbdd9 100644

Lines of this file are not shown. View the raw message.

drivers/misc/atmel-ssc.c +2 -2
index d6cd5537126c..69f9b0336410 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/broadcom/bgmac-bcma.c +0 -1
index 34d18302b1a3..2d52754afc33 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/i40e/i40e_ethtool.c +17 -8
index 2cc4f63b1e91..689deecb4e1a 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/i40e/i40e_main.c +5 -0
index 7f4aa2239786..05442bbc218c 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c +1 -1
index 4962e6193eec..4080fdacca4c 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mediatek/mtk_eth_soc.c +19 -2
index 5dce4cd60f58..f9139150a8a2 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.h +1 -1
index 81465e267b10..b7eb3674e285 100644

Lines of this file are not shown. View the raw message.

drivers/nfc/nfcmrvl/usb.c +14 -2
index 888e298f610b..f26986eb53f1 100644

Lines of this file are not shown. View the raw message.

drivers/nfc/st21nfca/se.c +30 -31

61 lines not on this page · raw message

drivers/scsi/ipr.c +2 -2
index 7a57b61f0340..a163fd9331b3 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/lpfc/lpfc_hw4.h +3 -0
index b8a772f80d6c..cbea3e0c1a7d 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/lpfc/lpfc_nportdisc.c +2 -1
index df2f7c3d7f84..e6a94f550a57 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/lpfc/lpfc_nvme.c +9 -2
index 5a86a1ee0de3..193c1a81cac0 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/pmcraid.c +1 -1
index 398d2af60832..f95a970db8fd 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/vmw_pvscsi.h +2 -2
index 75966d3f326e..d87c12324c03 100644

Lines of this file are not shown. View the raw message.

drivers/staging/comedi/drivers/vmk80xx.c +1 -1
index 7769eadfaf61..ccc65cfc519f 100644

Lines of this file are not shown. View the raw message.

drivers/tty/goldfish.c +1 -1
index abc84d84f638..9180ca5e4dcd 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/8250/8250_port.c +2 -0
index c1891c55897a..cb975228726e 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc2/hcd.c +1 -1
index 78329d0e9af0..a412ef67af18 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/udc/lpc32xx_udc.c +1 -0
index 6d2f1f98f13d..f71f61bcfe1e 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/io_ti.c +2 -0
index c327d4cf7928..03bcab3b9bd0 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/io_usbvend.h +1 -0
index c38e87ac5ea9..7ca5ca49adff 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/option.c +6 -0
index 62f79fd5257b..ec4fdb814091 100644

Lines of this file are not shown. View the raw message.

drivers/virtio/virtio_mmio.c +1 -0
index e09edb5c5e06..74547323aa83 100644

Lines of this file are not shown. View the raw message.

drivers/virtio/virtio_pci_common.c +1 -2
index b35bb2d57f62..1e890ef17687 100644

Lines of this file are not shown. View the raw message.

fs/9p/vfs_inode_dotl.c +3 -7
index 60328b21c5fb..9795fe0f1ba2 100644

Lines of this file are not shown. View the raw message.

fs/compat_ioctl.c +0 -7
index e0226b2138d6..8fcc53d83af2 100644

Lines of this file are not shown. View the raw message.

fs/ext4/mballoc.c +9 -0
index 0307702d114d..3c3166ba4364 100644

Lines of this file are not shown. View the raw message.

fs/ext4/namei.c +2 -1
index b01059bb562c..d151892db8b0 100644

Lines of this file are not shown. View the raw message.

fs/ext4/resize.c +10 -0
index b7f20196439a..6410c1e098d3 100644

Lines of this file are not shown. View the raw message.

fs/nfs/pnfs.c +6 -0
index 2fe48982fbb4..3b19fa74b062 100644

Lines of this file are not shown. View the raw message.

include/crypto/blake2s.h new file +102 -0

102 lines not on this page · raw message

include/crypto/chacha.h +15 -0
index d1e723c6a37d..542f896115f4 100644

Lines of this file are not shown. View the raw message.

include/crypto/drbg.h +8 -8
index 8c9af21efce1..a6c3b8e7deb6 100644

Lines of this file are not shown. View the raw message.

include/crypto/internal/blake2s.h new file +19 -0
new file mode 100644
index 000000000000..3ba066845b69

Lines of this file are not shown. View the raw message.

include/linux/cpuhotplug.h +2 -0
index bd1f23536b1b..15835f37bd5f 100644

Lines of this file are not shown. View the raw message.

include/linux/hw_random.h +0 -2
index 8e6dd908da21..aa1d4da03538 100644

Lines of this file are not shown. View the raw message.

include/linux/mm.h +1 -0
index a7d626b4cad1..c125fea49752 100644

Lines of this file are not shown. View the raw message.

include/linux/prandom.h +7 -16
index e20339c78a84..709e8e69fb39 100644

Lines of this file are not shown. View the raw message.

include/linux/random.h +58 -64

122 lines not on this page · raw message

include/linux/siphash.h +28 -0
index 0cda61855d90..0bb5ecd507be 100644

Lines of this file are not shown. View the raw message.

include/linux/timex.h +9 -1
index ce0859763670..2efab9a806a9 100644

Lines of this file are not shown. View the raw message.

include/trace/events/random.h deleted +0 -313

313 lines not on this page · raw message

include/uapi/linux/random.h +3 -1
index 26ee91300e3e..dcc1b3e6106f 100644

Lines of this file are not shown. View the raw message.

init/main.c +5 -8
index d292daabd9a2..a17a111d9336 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/stackmap.c +2 -1
index 768ffd603787..811071c227f1 100644

Lines of this file are not shown. View the raw message.

kernel/cpu.c +11 -0
index 06c009489892..c08456af0c7f 100644

Lines of this file are not shown. View the raw message.

kernel/dma/debug.c +1 -1
index 1c133f610f59..9a4837b68e18 100644

Lines of this file are not shown. View the raw message.

kernel/irq/handle.c +1 -1
index a4ace611f47f..d2d7559ecbfe 100644

Lines of this file are not shown. View the raw message.

kernel/time/timekeeping.c +15 -0
index 36ed8bad3909..e23c9e765a5f 100644

Lines of this file are not shown. View the raw message.

lib/Kconfig.debug +1 -2
index a846f03901db..dd7044aa1a12 100644

Lines of this file are not shown. View the raw message.

lib/crypto/Makefile +6 -0
index cbe0b6a6450d..9d7feabacd1d 100644

Lines of this file are not shown. View the raw message.

lib/crypto/blake2s-generic.c new file +111 -0

111 lines not on this page · raw message

lib/crypto/blake2s-selftest.c new file +591 -0

591 lines not on this page · raw message

lib/crypto/blake2s.c new file +78 -0

78 lines not on this page · raw message

lib/random32.c +10 -5
index 9085b1172015..339624191b51 100644

Lines of this file are not shown. View the raw message.

lib/sha1.c +14 -81

95 lines not on this page · raw message

lib/siphash.c +10 -22
index 025f0cbf6d7a..b4055b1cc2f6 100644

Lines of this file are not shown. View the raw message.

lib/vsprintf.c +6 -4
index 2766d1b2c301..393623bf3258 100644

Lines of this file are not shown. View the raw message.

mm/util.c +32 -0
index ab358c64bbd3..04ebc76588aa 100644

Lines of this file are not shown. View the raw message.

net/l2tp/l2tp_ip6.c +3 -2
index 0fa694bd3f6a..23e9ce985ed6 100644

Lines of this file are not shown. View the raw message.

net/openvswitch/actions.c +6 -0
index ae40593daf21..9e8a5c4862d0 100644

Lines of this file are not shown. View the raw message.

net/openvswitch/conntrack.c +2 -1
index 816036b9c223..78448b6888dd 100644

Lines of this file are not shown. View the raw message.

net/openvswitch/flow_netlink.c +75 -5

80 lines not on this page · raw message

net/sched/act_police.c +15 -1
index 8fd23a8b88a5..a7660b602237 100644

Lines of this file are not shown. View the raw message.

scripts/faddr2line +34 -11

45 lines not on this page · raw message

sound/hda/hdac_device.c +1 -0
index b84e12f4f804..489f996d86bc 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/patch_realtek.c +27 -0
index 8a221866ab01..8c37de779346 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/cs35l36.c +2 -1
index e9b5f76f27a8..aa32b8c26578 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/cs42l52.c +5 -3
index 2ea4cba3be2a..6c054b357205 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/cs42l56.c +2 -2
index 51d7a87ab4c3..8be7d83f0ce9 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/cs53l30.c +8 -8
index ed22361b35c1..a5a383b92305 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/es8328.c +4 -1
index fdf64c29f563..4117ab6e9b6f 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/nau8822.c +4 -0
index 78db3bd0b3bc..cd163978792e 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/nau8822.h +3 -0
index 489191ff187e..b45d42c15de6 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/wm8962.c +1 -0
index d9d59f45833f..ebaee468057b 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/wm_adsp.c +1 -1
index 13672928da99..aedfa6b2895b 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.