Public bug reported: SRU Justification
Impact: The upstream process for stable tree updates is quite similar in scope to the Ubuntu SRU process, e.g., each patch has to demonstrably fix a bug, and each patch is vetted by upstream by originating either directly from a mainline/stable Linux tree or a minimally backported form of that patch. The following upstream stable patches should be included in the Ubuntu kernel: v5.4.200 upstream stable release from git://git.kernel.org/ Revert "UBUNTU: SAUCE: random: Make getrandom() ready earlier" 9p: missing chunk of "fs/9p: Don't update file type when updating file attributes" bpf: Fix incorrect memory charge cost calculation in stack_map_alloc() nfc: st21nfca: fix incorrect sizing calculations in EVT_TRANSACTION 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 compat_ioctl: remove /dev/random commands random: don't forget compat_ioctl on urandom 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 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 random: split primary/secondary crng init paths random: avoid warnings for !CONFIG_NUMA builds 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 random: add arch_get_random_*long_early() random: avoid arch_get_random_seed_long() when collecting IRQ randomness random: remove dead code left over from blocking pool MAINTAINERS: co-maintain random.c crypto: blake2s - include <linux/bug.h> instead of <asm/bug.h> crypto: blake2s - adjust include guard naming random: document add_hwgenerator_randomness() with other input functions random: remove unused irq_flags argument from add_interrupt_randomness() 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: harmonize "crng init done" messages random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs random: initialize ChaCha20 constants with correct endianness random: early initialization of ChaCha constants random: avoid superfluous call to RDRAND in CRNG extraction random: don't reset crng_init_cnt on urandom_read() random: fix typo in comments 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: continually use hwgenerator randomness random: access primary_pool directly rather than through pointer random: only call crng_finalize_init() for primary_crng 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 use_input_pool parameter from crng_reseed() random: remove batched entropy locking random: fix locking in crng_fast_load() 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: fix locking for crng_init in crng_reseed() 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 split fast init input in add_hwgenerator_randomness() random: do not allow user to keep crng key around on stack random: check for signal_pending() outside of need_resched() check 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: convert to using fops->read_iter() random: convert to using fops->write_iter() random: wire up fops->splice_{read,write}_iter() random: check for signals after page of pool writes Revert "random: use static branch for crng_ready()" crypto: drbg - always seeded with SP800-90B compliant noise source 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 - always try to free Jitter RNG instance crypto: drbg - make reseeding from get_random_bytes() synchronous random: avoid checking crng_ready() twice in random_init() random: mark bootloader randomness code as __init random: account for arch randomness in bits powerpc/kasan: Silence KASAN warnings in __get_wchan() ASoC: nau8822: Add operation for internal PLL off and on dma-debug: make things less spammy under memory pressure 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 ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo() ASoC: wm8962: Fix suspend while playing music ASoC: es8328: Fix event generation for deemphasis control ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put() scsi: vmw_pvscsi: Expand vcpuHint to 16 bits 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 scsi: ipr: Fix missing/incorrect resource cleanup in error case scsi: pmcraid: Fix missing resource cleanup in error case ALSA: hda/realtek - Add HW8326 support virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag random: credit cpu and bootloader seeds by default pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE clocksource: hyper-v: unexport __init-annotated hv_init_clocksource() i40e: Fix adding ADQ filter to TC0 i40e: Fix calculating the number of queue pairs i40e: Fix call trace in setup_tx_descriptors tty: goldfish: Fix free_irq() on remove misc: atmel-ssc: Fix IRQ check in ssc_probe mlxsw: spectrum_cnt: Reorder counter pools net: bgmac: Fix an erroneous kfree() in bgmac_remove() arm64: ftrace: fix branch range checks certs/blacklist_hashes.c: fix const confusion in certs blacklist faddr2line: Fix overlapping text section failures, the sequel 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 i2c: designware: Use standard optional ref clock implementation comedi: vmk80xx: fix expression for tx buffer size USB: serial: option: add support for Cinterion MV31 with new baseline USB: serial: io_ti: add Agilent E5805A support usb: dwc2: Fix memory leak in dwc2_hcd_init usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe serial: 8250: Store to lsr_save_flags after lsr read dm mirror log: round up region bitmap size to BITS_PER_LONG ext4: fix bug_on ext4_mb_use_inode_pa ext4: make variable "count" signed ext4: add reserved GDT blocks check ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machine virtio-pci: Remove wrong address verification in vp_del_vqs() net/sched: act_police: more accurate MTU policing net: openvswitch: fix leak of nested actions arm64: kprobes: Use BRK instead of single-step when executing instructions out-of-line RISC-V: fix barrier() use in <vdso/processor.h> riscv: Less inefficient gcc tishift helpers (and export their symbols) powerpc/mm: Switch obsolete dssall to .long Linux 5.4.200 UBUNTU: Upstream stable to v5.4.200 ** Affects: linux (Ubuntu) Importance: Undecided Status: Invalid ** Affects: linux (Ubuntu Focal) Importance: Medium Assignee: Kamal Mostafa (kamalmostafa) Status: In Progress ** Tags: kernel-stable-tracking-bug ** Changed in: linux (Ubuntu) Status: New => Confirmed ** Tags added: kernel-stable-tracking-bug ** Also affects: linux (Ubuntu Focal) Importance: Undecided Status: New ** Changed in: linux (Ubuntu) Status: Confirmed => Invalid ** Changed in: linux (Ubuntu Focal) Status: New => In Progress ** Changed in: linux (Ubuntu Focal) Importance: Undecided => Medium ** Changed in: linux (Ubuntu Focal) Assignee: (unassigned) => Kamal Mostafa (kamalmostafa) ** Description changed: + SRU Justification - SRU Justification + Impact: + The upstream process for stable tree updates is quite similar + in scope to the Ubuntu SRU process, e.g., each patch has to + demonstrably fix a bug, and each patch is vetted by upstream + by originating either directly from a mainline/stable Linux tree or + a minimally backported form of that patch. The following upstream + stable patches should be included in the Ubuntu kernel: - Impact: - The upstream process for stable tree updates is quite similar - in scope to the Ubuntu SRU process, e.g., each patch has to - demonstrably fix a bug, and each patch is vetted by upstream - by originating either directly from a mainline/stable Linux tree or - a minimally backported form of that patch. The following upstream - stable patches should be included in the Ubuntu kernel: + v5.4.200 upstream stable release + from git://git.kernel.org/ - v5.4.200 upstream stable release - from git://git.kernel.org/ + Revert "UBUNTU: SAUCE: random: Make getrandom() ready earlier" + 9p: missing chunk of "fs/9p: Don't update file type when updating file attributes" + bpf: Fix incorrect memory charge cost calculation in stack_map_alloc() + nfc: st21nfca: fix incorrect sizing calculations in EVT_TRANSACTION + 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 + compat_ioctl: remove /dev/random commands + random: don't forget compat_ioctl on urandom + 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 + 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 + random: split primary/secondary crng init paths + random: avoid warnings for !CONFIG_NUMA builds + 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 + random: add arch_get_random_*long_early() + random: avoid arch_get_random_seed_long() when collecting IRQ randomness + random: remove dead code left over from blocking pool + MAINTAINERS: co-maintain random.c + crypto: blake2s - include <linux/bug.h> instead of <asm/bug.h> + crypto: blake2s - adjust include guard naming + random: document add_hwgenerator_randomness() with other input functions + random: remove unused irq_flags argument from add_interrupt_randomness() + 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: harmonize "crng init done" messages + random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs + random: initialize ChaCha20 constants with correct endianness + random: early initialization of ChaCha constants + random: avoid superfluous call to RDRAND in CRNG extraction + random: don't reset crng_init_cnt on urandom_read() + random: fix typo in comments + 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: continually use hwgenerator randomness + random: access primary_pool directly rather than through pointer + random: only call crng_finalize_init() for primary_crng + 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 use_input_pool parameter from crng_reseed() + random: remove batched entropy locking + random: fix locking in crng_fast_load() + 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: fix locking for crng_init in crng_reseed() + 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 split fast init input in add_hwgenerator_randomness() + random: do not allow user to keep crng key around on stack + random: check for signal_pending() outside of need_resched() check + 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: convert to using fops->read_iter() + random: convert to using fops->write_iter() + random: wire up fops->splice_{read,write}_iter() + random: check for signals after page of pool writes + Revert "random: use static branch for crng_ready()" + crypto: drbg - always seeded with SP800-90B compliant noise source + 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 - always try to free Jitter RNG instance + crypto: drbg - make reseeding from get_random_bytes() synchronous + random: avoid checking crng_ready() twice in random_init() + random: mark bootloader randomness code as __init + random: account for arch randomness in bits + powerpc/kasan: Silence KASAN warnings in __get_wchan() + ASoC: nau8822: Add operation for internal PLL off and on + dma-debug: make things less spammy under memory pressure + 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 + ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo() + ASoC: wm8962: Fix suspend while playing music + ASoC: es8328: Fix event generation for deemphasis control + ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put() + scsi: vmw_pvscsi: Expand vcpuHint to 16 bits + 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 + scsi: ipr: Fix missing/incorrect resource cleanup in error case + scsi: pmcraid: Fix missing resource cleanup in error case + ALSA: hda/realtek - Add HW8326 support + virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed + nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred + ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg + net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag + random: credit cpu and bootloader seeds by default + pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE + clocksource: hyper-v: unexport __init-annotated hv_init_clocksource() + i40e: Fix adding ADQ filter to TC0 + i40e: Fix calculating the number of queue pairs + i40e: Fix call trace in setup_tx_descriptors + tty: goldfish: Fix free_irq() on remove + misc: atmel-ssc: Fix IRQ check in ssc_probe + mlxsw: spectrum_cnt: Reorder counter pools + net: bgmac: Fix an erroneous kfree() in bgmac_remove() + arm64: ftrace: fix branch range checks + certs/blacklist_hashes.c: fix const confusion in certs blacklist + faddr2line: Fix overlapping text section failures, the sequel + 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 + i2c: designware: Use standard optional ref clock implementation + comedi: vmk80xx: fix expression for tx buffer size + USB: serial: option: add support for Cinterion MV31 with new baseline + USB: serial: io_ti: add Agilent E5805A support + usb: dwc2: Fix memory leak in dwc2_hcd_init + usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe + serial: 8250: Store to lsr_save_flags after lsr read + dm mirror log: round up region bitmap size to BITS_PER_LONG + ext4: fix bug_on ext4_mb_use_inode_pa + ext4: make variable "count" signed + ext4: add reserved GDT blocks check + ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machine + virtio-pci: Remove wrong address verification in vp_del_vqs() + net/sched: act_police: more accurate MTU policing + net: openvswitch: fix leak of nested actions + arm64: kprobes: Use BRK instead of single-step when executing instructions out-of-line + RISC-V: fix barrier() use in <vdso/processor.h> + riscv: Less inefficient gcc tishift helpers (and export their symbols) + powerpc/mm: Switch obsolete dssall to .long + Linux 5.4.200 + UBUNTU: Upstream stable to v5.4.200 -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1983152 Title: Focal update: v5.4.200 upstream stable release Status in linux package in Ubuntu: Invalid Status in linux source package in Focal: In Progress Bug description: SRU Justification Impact: The upstream process for stable tree updates is quite similar in scope to the Ubuntu SRU process, e.g., each patch has to demonstrably fix a bug, and each patch is vetted by upstream by originating either directly from a mainline/stable Linux tree or a minimally backported form of that patch. The following upstream stable patches should be included in the Ubuntu kernel: v5.4.200 upstream stable release from git://git.kernel.org/ Revert "UBUNTU: SAUCE: random: Make getrandom() ready earlier" 9p: missing chunk of "fs/9p: Don't update file type when updating file attributes" bpf: Fix incorrect memory charge cost calculation in stack_map_alloc() nfc: st21nfca: fix incorrect sizing calculations in EVT_TRANSACTION 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 compat_ioctl: remove /dev/random commands random: don't forget compat_ioctl on urandom 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 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 random: split primary/secondary crng init paths random: avoid warnings for !CONFIG_NUMA builds 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 random: add arch_get_random_*long_early() random: avoid arch_get_random_seed_long() when collecting IRQ randomness random: remove dead code left over from blocking pool MAINTAINERS: co-maintain random.c crypto: blake2s - include <linux/bug.h> instead of <asm/bug.h> crypto: blake2s - adjust include guard naming random: document add_hwgenerator_randomness() with other input functions random: remove unused irq_flags argument from add_interrupt_randomness() 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: harmonize "crng init done" messages random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs random: initialize ChaCha20 constants with correct endianness random: early initialization of ChaCha constants random: avoid superfluous call to RDRAND in CRNG extraction random: don't reset crng_init_cnt on urandom_read() random: fix typo in comments 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: continually use hwgenerator randomness random: access primary_pool directly rather than through pointer random: only call crng_finalize_init() for primary_crng 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 use_input_pool parameter from crng_reseed() random: remove batched entropy locking random: fix locking in crng_fast_load() 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: fix locking for crng_init in crng_reseed() 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 split fast init input in add_hwgenerator_randomness() random: do not allow user to keep crng key around on stack random: check for signal_pending() outside of need_resched() check 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: convert to using fops->read_iter() random: convert to using fops->write_iter() random: wire up fops->splice_{read,write}_iter() random: check for signals after page of pool writes Revert "random: use static branch for crng_ready()" crypto: drbg - always seeded with SP800-90B compliant noise source 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 - always try to free Jitter RNG instance crypto: drbg - make reseeding from get_random_bytes() synchronous random: avoid checking crng_ready() twice in random_init() random: mark bootloader randomness code as __init random: account for arch randomness in bits powerpc/kasan: Silence KASAN warnings in __get_wchan() ASoC: nau8822: Add operation for internal PLL off and on dma-debug: make things less spammy under memory pressure 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 ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo() ASoC: wm8962: Fix suspend while playing music ASoC: es8328: Fix event generation for deemphasis control ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put() scsi: vmw_pvscsi: Expand vcpuHint to 16 bits 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 scsi: ipr: Fix missing/incorrect resource cleanup in error case scsi: pmcraid: Fix missing resource cleanup in error case ALSA: hda/realtek - Add HW8326 support virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag random: credit cpu and bootloader seeds by default pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE clocksource: hyper-v: unexport __init-annotated hv_init_clocksource() i40e: Fix adding ADQ filter to TC0 i40e: Fix calculating the number of queue pairs i40e: Fix call trace in setup_tx_descriptors tty: goldfish: Fix free_irq() on remove misc: atmel-ssc: Fix IRQ check in ssc_probe mlxsw: spectrum_cnt: Reorder counter pools net: bgmac: Fix an erroneous kfree() in bgmac_remove() arm64: ftrace: fix branch range checks certs/blacklist_hashes.c: fix const confusion in certs blacklist faddr2line: Fix overlapping text section failures, the sequel 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 i2c: designware: Use standard optional ref clock implementation comedi: vmk80xx: fix expression for tx buffer size USB: serial: option: add support for Cinterion MV31 with new baseline USB: serial: io_ti: add Agilent E5805A support usb: dwc2: Fix memory leak in dwc2_hcd_init usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe serial: 8250: Store to lsr_save_flags after lsr read dm mirror log: round up region bitmap size to BITS_PER_LONG ext4: fix bug_on ext4_mb_use_inode_pa ext4: make variable "count" signed ext4: add reserved GDT blocks check ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machine virtio-pci: Remove wrong address verification in vp_del_vqs() net/sched: act_police: more accurate MTU policing net: openvswitch: fix leak of nested actions arm64: kprobes: Use BRK instead of single-step when executing instructions out-of-line RISC-V: fix barrier() use in <vdso/processor.h> riscv: Less inefficient gcc tishift helpers (and export their symbols) powerpc/mm: Switch obsolete dssall to .long Linux 5.4.200 UBUNTU: Upstream stable to v5.4.200 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1983152/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp