This bug was fixed in the package linux - 5.4.0-31.35

---------------
linux (5.4.0-31.35) focal; urgency=medium

  * focal/linux: 5.4.0-31.35 -proposed tracker (LP: #1877253)

  * Intermittent display blackouts on event (LP: #1875254)
    - drm/i915: Limit audio CDCLK>=2*BCLK constraint back to GLK only

  * Unable to handle kernel pointer dereference in virtual kernel address space
    on Eoan (LP: #1876645)
    - SAUCE: overlayfs: fix shitfs special-casing

linux (5.4.0-30.34) focal; urgency=medium

  * focal/linux: 5.4.0-30.34 -proposed tracker (LP: #1875385)

  * ubuntu/focal64 fails to mount Vagrant shared folders  (LP: #1873506)
    - [Packaging] Move virtualbox modules to linux-modules
    - [Packaging] Remove vbox and zfs modules from generic.inclusion-list

  * linux-image-5.0.0-35-generic breaks checkpointing of container
    (LP: #1857257)
    - SAUCE: overlayfs: use shiftfs hacks only with shiftfs as underlay

  * shiftfs: broken shiftfs nesting (LP: #1872094)
    - SAUCE: shiftfs: record correct creator credentials

  * Add debian/rules targets to compile/run kernel selftests (LP: #1874286)
    - [Packaging] add support to compile/run selftests

  * shiftfs: O_TMPFILE reports ESTALE (LP: #1872757)
    - SAUCE: shiftfs: fix dentry revalidation

  * LIO hanging in iscsit_free_session and iscsit_stop_session (LP: #1871688)
    - scsi: target: iscsi: calling iscsit_stop_session() inside
      iscsit_close_session() has no effect

  * [ICL] TC port in legacy/static mode can't be detected due TCCOLD
    (LP: #1868936)
    - SAUCE: drm/i915: Align power domain names with port names
    - SAUCE: drm/i915/display: Move out code to return the digital_port of the 
aux
      ch
    - SAUCE: drm/i915/display: Add intel_legacy_aux_to_power_domain()
    - SAUCE: drm/i915/display: Split hsw_power_well_enable() into two
    - SAUCE: drm/i915/tc/icl: Implement TC cold sequences
    - SAUCE: drm/i915/tc: Skip ref held check for TC legacy aux power wells
    - SAUCE: drm/i915/tc/tgl: Implement TC cold sequences
    - SAUCE: drm/i915/tc: Catch TC users accessing FIA registers without enable
      aux
    - SAUCE: drm/i915/tc: Do not warn when aux power well of static TC ports
      timeout

  * alsa/sof: external mic can't be deteced on Lenovo and HP laptops
    (LP: #1872569)
    - SAUCE: ASoC: intel/skl/hda - set autosuspend timeout for hda codecs

  * amdgpu kernel errors in Linux 5.4 (LP: #1871248)
    - drm/amd/display: Stop if retimer is not available

  * Focal update: v5.4.34 upstream stable release (LP: #1874111)
    - amd-xgbe: Use __napi_schedule() in BH context
    - hsr: check protocol version in hsr_newlink()
    - l2tp: Allow management of tunnels and session in user namespace
    - net: dsa: mt7530: fix tagged frames pass-through in VLAN-unaware mode
    - net: ipv4: devinet: Fix crash when add/del multicast IP with autojoin
    - net: ipv6: do not consider routes via gateways for anycast address check
    - net: phy: micrel: use genphy_read_status for KSZ9131
    - net: qrtr: send msgs from local of same id as broadcast
    - net: revert default NAPI poll timeout to 2 jiffies
    - net: tun: record RX queue in skb before do_xdp_generic()
    - net: dsa: mt7530: move mt7623 settings out off the mt7530
    - net: ethernet: mediatek: move mt7623 settings out off the mt7530
    - net/mlx5: Fix frequent ioread PCI access during recovery
    - net/mlx5e: Add missing release firmware call
    - net/mlx5e: Fix nest_level for vlan pop action
    - net/mlx5e: Fix pfnum in devlink port attribute
    - net: stmmac: dwmac-sunxi: Provide TX and RX fifo sizes
    - ovl: fix value of i_ino for lower hardlink corner case
    - scsi: ufs: Fix ufshcd_hold() caused scheduling while atomic
    - platform/chrome: cros_ec_rpmsg: Fix race with host event
    - jbd2: improve comments about freeing data buffers whose page mapping is 
NULL
    - acpi/nfit: improve bounds checking for 'func'
    - perf report: Fix no branch type statistics report issue
    - pwm: pca9685: Fix PWM/GPIO inter-operation
    - ext4: fix incorrect group count in ext4_fill_super error message
    - ext4: fix incorrect inodes per group in error message
    - clk: at91: sam9x60: fix usb clock parents
    - clk: at91: usb: use proper usbs_mask
    - ARM: dts: imx7-colibri: fix muxing of usbc_det pin
    - arm64: dts: librem5-devkit: add a vbus supply to usb0
    - usb: dwc3: gadget: Don't clear flags before transfer ended
    - ASoC: Intel: mrfld: fix incorrect check on p->sink
    - ASoC: Intel: mrfld: return error codes when an error occurs
    - ALSA: hda/realtek - Enable the headset mic on Asus FX505DT
    - ALSA: usb-audio: Filter error from connector kctl ops, too
    - ALSA: usb-audio: Don't override ignore_ctl_error value from the map
    - ALSA: usb-audio: Don't create jack controls for PCM terminals
    - ALSA: usb-audio: Check mapping at creating connector controls, too
    - arm64: vdso: don't free unallocated pages
    - keys: Fix proc_keys_next to increase position index
    - tracing: Fix the race between registering 'snapshot' event trigger and
      triggering 'snapshot' operation
    - btrfs: check commit root generation in should_ignore_root
    - nl80211: fix NL80211_ATTR_FTM_RESPONDER policy
    - mac80211: fix race in ieee80211_register_hw()
    - mac80211_hwsim: Use kstrndup() in place of kasprintf()
    - net/mlx5e: Encapsulate updating netdev queues into a function
    - net/mlx5e: Rename hw_modify to preactivate
    - net/mlx5e: Use preactivate hook to set the indirection table
    - drm/amd/powerplay: force the trim of the mclk dpm_levels if OD is enabled
    - drm/amdgpu: fix the hw hang during perform system reboot and reset
    - i2c: designware: platdrv: Remove DPM_FLAG_SMART_SUSPEND flag on BYT and 
CHT
    - ext4: do not zeroout extents beyond i_disksize
    - irqchip/ti-sci-inta: Fix processing of masked irqs
    - x86/resctrl: Preserve CDP enable over CPU hotplug
    - x86/resctrl: Fix invalid attempt at removing the default resource group
    - scsi: target: remove boilerplate code
    - scsi: target: fix hang when multiple threads try to destroy the same iscsi
      session
    - x86/microcode/AMD: Increase microcode PATCH_MAX_SIZE
    - Linux 5.4.34

  * Focal update: v5.4.33 upstream stable release (LP: #1873481)
    - ARM: dts: sun8i-a83t-tbs-a711: HM5065 doesn't like such a high voltage
    - bus: sunxi-rsb: Return correct data when mixing 16-bit and 8-bit reads
    - ARM: dts: Fix dm814x Ethernet by changing to use rgmii-id mode
    - bpf: Fix deadlock with rq_lock in bpf_send_signal()
    - iwlwifi: mvm: Fix rate scale NSS configuration
    - Input: tm2-touchkey - add support for Coreriver TC360 variant
    - soc: fsl: dpio: register dpio irq handlers after dpio create
    - rxrpc: Abstract out the calculation of whether there's Tx space
    - rxrpc: Fix call interruptibility handling
    - net: stmmac: platform: Fix misleading interrupt error msg
    - net: vxge: fix wrong __VA_ARGS__ usage
    - hinic: fix a bug of waitting for IO stopped
    - hinic: fix the bug of clearing event queue
    - hinic: fix out-of-order excution in arm cpu
    - hinic: fix wrong para of wait_for_completion_timeout
    - hinic: fix wrong value of MIN_SKB_LEN
    - selftests/net: add definition for SOL_DCCP to fix compilation errors for 
old
      libc
    - cxgb4/ptp: pass the sign of offset delta in FW CMD
    - drm/scheduler: fix rare NULL ptr race
    - cfg80211: Do not warn on same channel at the end of CSA
    - qlcnic: Fix bad kzalloc null test
    - i2c: st: fix missing struct parameter description
    - i2c: pca-platform: Use platform_irq_get_optional
    - media: rc: add keymap for Videostrong KII Pro
    - cpufreq: imx6q: Fixes unwanted cpu overclocking on i.MX6ULL
    - staging: wilc1000: avoid double unlocking of 'wilc->hif_cs' mutex
    - media: venus: hfi_parser: Ignore HEVC encoding for V1
    - firmware: arm_sdei: fix double-lock on hibernate with shared events
    - null_blk: Fix the null_add_dev() error path
    - null_blk: Handle null_add_dev() failures properly
    - null_blk: fix spurious IO errors after failed past-wp access
    - media: imx: imx7_mipi_csis: Power off the source when stopping streaming
    - media: imx: imx7-media-csi: Fix video field handling
    - xhci: bail out early if driver can't accress host in resume
    - x86: Don't let pgprot_modify() change the page encryption bit
    - dma-mapping: Fix dma_pgprot() for unencrypted coherent pages
    - block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices
    - debugfs: Check module state before warning in {full/open}_proxy_open()
    - irqchip/versatile-fpga: Handle chained IRQs properly
    - time/sched_clock: Expire timer in hardirq context
    - media: allegro: fix type of gop_length in channel_create message
    - sched: Avoid scale real weight down to zero
    - selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault
    - PCI/switchtec: Fix init_completion race condition with poll_wait()
    - block, bfq: move forward the getting of an extra ref in bfq_bfqq_move
    - media: i2c: video-i2c: fix build errors due to 'imply hwmon'
    - libata: Remove extra scsi_host_put() in ata_scsi_add_hosts()
    - pstore/platform: fix potential mem leak if pstore_init_fs failed
    - gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty
    - gfs2: Don't demote a glock until its revokes are written
    - cpufreq: imx6q: fix error handling
    - x86/boot: Use unsigned comparison for addresses
    - efi/x86: Ignore the memory attributes table on i386
    - genirq/irqdomain: Check pointer in irq_domain_alloc_irqs_hierarchy()
    - block: Fix use-after-free issue accessing struct io_cq
    - media: i2c: ov5695: Fix power on and off sequences
    - usb: dwc3: core: add support for disabling SS instances in park mode
    - irqchip/gic-v4: Provide irq_retrigger to avoid circular locking dependency
    - md: check arrays is suspended in mddev_detach before call quiesce 
operations
    - firmware: fix a double abort case with fw_load_sysfs_fallback
    - spi: spi-fsl-dspi: Replace interruptible wait queue with a simple 
completion
    - locking/lockdep: Avoid recursion in lockdep_count_{for,back}ward_deps()
    - block, bfq: fix use-after-free in bfq_idle_slice_timer_body
    - btrfs: qgroup: ensure qgroup_rescan_running is only set when the worker is
      at least queued
    - btrfs: remove a BUG_ON() from merge_reloc_roots()
    - btrfs: restart relocate_tree_blocks properly
    - btrfs: track reloc roots based on their commit root bytenr
    - ASoC: fix regwmask
    - ASoC: dapm: connect virtual mux with default value
    - ASoC: dpcm: allow start or stop during pause for backend
    - ASoC: topology: use name_prefix for new kcontrol
    - usb: gadget: f_fs: Fix use after free issue as part of queue failure
    - usb: gadget: composite: Inform controller driver of self-powered
    - ALSA: usb-audio: Add mixer workaround for TRX40 and co
    - ALSA: hda: Add driver blacklist
    - ALSA: hda: Fix potential access overflow in beep helper
    - ALSA: ice1724: Fix invalid access for enumerated ctl items
    - ALSA: pcm: oss: Fix regression by buffer overflow fix
    - ALSA: hda/realtek - a fake key event is triggered by running shutup
    - ALSA: doc: Document PC Beep Hidden Register on Realtek ALC256
    - ALSA: hda/realtek - Set principled PC Beep configuration for ALC256
    - ALSA: hda/realtek - Remove now-unnecessary XPS 13 headphone noise fixups
    - ALSA: hda/realtek - Add quirk for Lenovo Carbon X1 8th gen
    - ALSA: hda/realtek - Add quirk for MSI GL63
    - media: venus: firmware: Ignore secure call error on first resume
    - media: hantro: Read be32 words starting at every fourth byte
    - media: ti-vpe: cal: fix disable_irqs to only the intended target
    - media: ti-vpe: cal: fix a kernel oops when unloading module
    - seccomp: Add missing compat_ioctl for notify
    - acpi/x86: ignore unspecified bit positions in the ACPI global lock field
    - ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE
    - ACPI: PM: s2idle: Refine active GPEs check
    - thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n
    - nvmet-tcp: fix maxh2cdata icresp parameter
    - efi/x86: Add TPM related EFI tables to unencrypted mapping checks
    - PCI: pciehp: Fix indefinite wait on sysfs requests
    - PCI/ASPM: Clear the correct bits when enabling L1 substates
    - PCI: Add boot interrupt quirk mechanism for Xeon chipsets
    - PCI: qcom: Fix the fixup of PCI_VENDOR_ID_QCOM
    - PCI: endpoint: Fix for concurrent memory allocation in OB address region
    - sched/fair: Fix enqueue_task_fair warning
    - tpm: Don't make log failures fatal
    - tpm: tpm1_bios_measurements_next should increase position index
    - tpm: tpm2_bios_measurements_next should increase position index
    - cpu/hotplug: Ignore pm_wakeup_pending() for disable_nonboot_cpus()
    - genirq/debugfs: Add missing sanity checks to interrupt injection
    - irqchip/versatile-fpga: Apply clear-mask earlier
    - io_uring: remove bogus RLIMIT_NOFILE check in file registration
    - pstore: pstore_ftrace_seq_next should increase position index
    - MIPS/tlbex: Fix LDDIR usage in setup_pw() for Loongson-3
    - MIPS: OCTEON: irq: Fix potential NULL pointer dereference
    - PM / Domains: Allow no domain-idle-states DT property in genpd when 
parsing
    - PM: sleep: wakeup: Skip wakeup_source_sysfs_remove() if device is not 
there
    - ath9k: Handle txpower changes even when TPC is disabled
    - signal: Extend exec_id to 64bits
    - x86/tsc_msr: Use named struct initializers
    - x86/tsc_msr: Fix MSR_FSB_FREQ mask for Cherry Trail devices
    - x86/tsc_msr: Make MSR derived TSC frequency more accurate
    - x86/entry/32: Add missing ASM_CLAC to general_protection entry
    - platform/x86: asus-wmi: Support laptops where the first battery is named
      BATT
    - KVM: nVMX: Properly handle userspace interrupt window request
    - KVM: s390: vsie: Fix region 1 ASCE sanity shadow address checks
    - KVM: s390: vsie: Fix delivery of addressing exceptions
    - KVM: x86: Allocate new rmap and large page tracking when moving memslot
    - KVM: VMX: Always VMCLEAR in-use VMCSes during crash with kexec support
    - KVM: x86: Gracefully handle __vmalloc() failure during VM allocation
    - KVM: VMX: Add a trampoline to fix VMREAD error handling
    - KVM: VMX: fix crash cleanup when KVM wasn't used
    - smb3: fix performance regression with setting mtime
    - CIFS: Fix bug which the return value by asynchronous read is error
    - mtd: spinand: Stop using spinand->oobbuf for buffering bad block markers
    - mtd: spinand: Do not erase the block before writing a bad block marker
    - btrfs: Don't submit any btree write bio if the fs has errors
    - Btrfs: fix crash during unmount due to race with delayed inode workers
    - btrfs: reloc: clean dirty subvols if we fail to start a transaction
    - btrfs: set update the uuid generation as soon as possible
    - btrfs: drop block from cache on error in relocation
    - btrfs: fix missing file extent item for hole after ranged fsync
    - btrfs: unset reloc control if we fail to recover
    - btrfs: fix missing semaphore unlock in btrfs_sync_file
    - btrfs: use nofs allocations for running delayed items
    - remoteproc: qcom_q6v5_mss: Don't reassign mpss region on shutdown
    - remoteproc: qcom_q6v5_mss: Reload the mba region on coredump
    - remoteproc: Fix NULL pointer dereference in rproc_virtio_notify
    - crypto: rng - Fix a refcounting bug in crypto_rng_reset()
    - crypto: mxs-dcp - fix scatterlist linearization for hash
    - erofs: correct the remaining shrink objects
    - io_uring: honor original task RLIMIT_FSIZE
    - mmc: sdhci-of-esdhc: fix esdhc_reset() for different controller versions
    - powerpc/pseries: Drop pointless static qualifier in vpa_debugfs_init()
    - tools: gpio: Fix out-of-tree build regression
    - net: qualcomm: rmnet: Allow configuration updates to existing devices
    - arm64: dts: allwinner: h6: Fix PMU compatible
    - sched/core: Remove duplicate assignment in sched_tick_remote()
    - arm64: dts: allwinner: h5: Fix PMU compatible
    - mm, memcg: do not high throttle allocators based on wraparound
    - dm writecache: add cond_resched to avoid CPU hangs
    - dm integrity: fix a crash with unusually large tag size
    - dm verity fec: fix memory leak in verity_fec_dtr
    - dm clone: Add overflow check for number of regions
    - dm clone metadata: Fix return type of dm_clone_nr_of_hydrated_regions()
    - XArray: Fix xas_pause for large multi-index entries
    - xarray: Fix early termination of xas_for_each_marked
    - crypto: caam/qi2 - fix chacha20 data size error
    - crypto: caam - update xts sector size for large input length
    - crypto: ccree - protect against empty or NULL scatterlists
    - crypto: ccree - only try to map auth tag if needed
    - crypto: ccree - dec auth tag size from cryptlen map
    - scsi: zfcp: fix missing erp_lock in port recovery trigger for 
point-to-point
    - scsi: ufs: fix Auto-Hibern8 error detection
    - ARM: dts: exynos: Fix polarity of the LCD SPI bus on UniversalC210 board
    - arm64: dts: ti: k3-am65: Add clocks to dwc3 nodes
    - arm64: armv8_deprecated: Fix undef_hook mask for thumb setend
    - selftests: vm: drop dependencies on page flags from mlock2 tests
    - selftests/vm: fix map_hugetlb length used for testing read and write
    - selftests/powerpc: Add tlbie_test in .gitignore
    - vfio: platform: Switch to platform_get_irq_optional()
    - drm/i915/gem: Flush all the reloc_gpu batch
    - drm/etnaviv: rework perfmon query infrastructure
    - drm: Remove PageReserved manipulation from drm_pci_alloc
    - drm/amdgpu/powerplay: using the FCLK DPM table to set the MCLK
    - drm/amdgpu: unify fw_write_wait for new gfx9 asics
    - powerpc/pseries: Avoid NULL pointer dereference when drmem is unavailable
    - nfsd: fsnotify on rmdir under nfsd/clients/
    - NFS: Fix use-after-free issues in nfs_pageio_add_request()
    - NFS: Fix a page leak in nfs_destroy_unlinked_subrequests()
    - ext4: fix a data race at inode->i_blocks
    - fs/filesystems.c: downgrade user-reachable WARN_ONCE() to pr_warn_once()
    - ocfs2: no need try to truncate file beyond i_size
    - perf tools: Support Python 3.8+ in Makefile
    - s390/diag: fix display of diagnose call statistics
    - Input: i8042 - add Acer Aspire 5738z to nomux list
    - ftrace/kprobe: Show the maxactive number on kprobe_events
    - clk: ingenic/jz4770: Exit with error if CGU init failed
    - clk: ingenic/TCU: Fix round_rate returning error
    - kmod: make request_module() return an error when autoloading is disabled
    - cpufreq: powernv: Fix use-after-free
    - hfsplus: fix crash and filesystem corruption when deleting files
    - ipmi: fix hung processes in __get_guid()
    - xen/blkfront: fix memory allocation flags in blkfront_setup_indirect()
    - powerpc/64/tm: Don't let userspace set regs->trap via sigreturn
    - powerpc/fsl_booke: Avoid creating duplicate tlb1 entry
    - powerpc/hash64/devmap: Use H_PAGE_THP_HUGE when setting up huge devmap PTE
      entries
    - powerpc/xive: Use XIVE_BAD_IRQ instead of zero to catch non configured 
IPIs
    - powerpc/64: Setup a paca before parsing device tree etc.
    - powerpc/xive: Fix xmon support on the PowerNV platform
    - powerpc/kprobes: Ignore traps that happened in real mode
    - powerpc/64: Prevent stack protection in early boot
    - scsi: mpt3sas: Fix kernel panic observed on soft HBA unplug
    - powerpc: Make setjmp/longjmp signature standard
    - arm64: Always force a branch protection mode when the compiler has one
    - dm zoned: remove duplicate nr_rnd_zones increase in dmz_init_zone()
    - dm clone: replace spin_lock_irqsave with spin_lock_irq
    - dm clone: Fix handling of partial region discards
    - dm clone: Add missing casts to prevent overflows and data corruption
    - Revert "drm/dp_mst: Remove VCPI while disabling topology mgr"
    - drm/dp_mst: Fix clearing payload state on topology disable
    - drm/amdgpu: fix gfx hang during suspend with video playback (v2)
    - drm/i915/icl+: Don't enable DDI IO power on a TypeC port in TBT mode
    - powerpc/kasan: Fix kasan_remap_early_shadow_ro()
    - mmc: sdhci: Convert sdhci_set_timeout_irq() to non-static
    - mmc: sdhci: Refactor sdhci_set_timeout()
    - bpf: Fix tnum constraints for 32-bit comparisons
    - mfd: dln2: Fix sanity checking for endpoints
    - efi/x86: Fix the deletion of variables in mixed mode
    - ASoC: stm32: sai: Add missing cleanup
    - Linux 5.4.33
    - SUNRPC: fix krb5p mount to provide large enough buffer in rq_rcvsize

  * Panic on suspend/resume Kernel panic - not syncing: stack-protector: Kernel
    stack is corrupted in: sata_pmp_eh_recover+0xa2b/0xa40 (LP: #1821434) //
    Focal update: v5.4.33 upstream stable release (LP: #1873481)
    - libata: Return correct status in sata_pmp_eh_recover_pm() when
      ATA_DFLAG_DETACH is set

  * Focal update: v5.4.32 upstream stable release (LP: #1873292)
    - cxgb4: fix MPS index overwrite when setting MAC address
    - ipv6: don't auto-add link-local address to lag ports
    - net: dsa: bcm_sf2: Do not register slave MDIO bus with OF
    - net: dsa: bcm_sf2: Ensure correct sub-node is parsed
    - net: dsa: mt7530: fix null pointer dereferencing in port5 setup
    - net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before
      accessing PHY registers
    - net_sched: add a temporary refcnt for struct tcindex_data
    - net_sched: fix a missing refcnt in tcindex_init()
    - net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting
    - tun: Don't put_page() for all negative return values from XDP program
    - mlxsw: spectrum_flower: Do not stop at FLOW_ACTION_VLAN_MANGLE
    - r8169: change back SG and TSO to be disabled by default
    - s390: prevent leaking kernel address in BEAR
    - random: always use batched entropy for get_random_u{32,64}
    - usb: dwc3: gadget: Wrap around when skip TRBs
    - uapi: rename ext2_swab() to swab() and share globally in swab.h
    - slub: improve bit diffusion for freelist ptr obfuscation
    - tools/accounting/getdelays.c: fix netlink attribute length
    - hwrng: imx-rngc - fix an error path
    - ACPI: PM: Add acpi_[un]register_wakeup_handler()
    - platform/x86: intel_int0002_vgpio: Use acpi_register_wakeup_handler()
    - ASoC: jz4740-i2s: Fix divider written at incorrect offset in register
    - IB/hfi1: Call kobject_put() when kobject_init_and_add() fails
    - IB/hfi1: Fix memory leaks in sysfs registration and unregistration
    - IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads
    - ARM: imx: Enable ARM_ERRATA_814220 for i.MX6UL and i.MX7D
    - ARM: imx: only select ARM_ERRATA_814220 for ARMv7-A
    - ceph: remove the extra slashes in the server path
    - ceph: canonicalize server path in place
    - include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for
      swap
    - RDMA/ucma: Put a lock around every call to the rdma_cm layer
    - RDMA/cma: Teach lockdep about the order of rtnl and lock
    - RDMA/siw: Fix passive connection establishment
    - Bluetooth: RFCOMM: fix ODEBUG bug in rfcomm_dev_ioctl
    - RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow
    - blk-mq: Keep set->nr_hw_queues and set->map[].nr_queues in sync
    - fbcon: fix null-ptr-deref in fbcon_switch
    - iommu/vt-d: Allow devices with RMRRs to use identity domain
    - Linux 5.4.32

  * Focal update: v5.4.31 upstream stable release (LP: #1871651)
    - nvme-rdma: Avoid double freeing of async event data
    - kconfig: introduce m32-flag and m64-flag
    - drm/amd/display: Add link_rate quirk for Apple 15" MBP 2017
    - drm/bochs: downgrade pci_request_region failure from error to warning
    - initramfs: restore default compression behavior
    - drm/amdgpu: fix typo for vcn1 idle check
    - [Packaging] add libcap-dev dependency
    - tools/power turbostat: Fix gcc build warnings
    - tools/power turbostat: Fix missing SYS_LPI counter on some Chromebooks
    - tools/power turbostat: Fix 32-bit capabilities warning
    - net/mlx5e: kTLS, Fix TCP seq off-by-1 issue in TX resync flow
    - XArray: Fix xa_find_next for large multi-index entries
    - padata: fix uninitialized return value in padata_replace()
    - brcmfmac: abort and release host after error
    - misc: rtsx: set correct pcr_ops for rts522A
    - misc: pci_endpoint_test: Fix to support > 10 pci-endpoint-test devices
    - misc: pci_endpoint_test: Avoid using module parameter to determine irqtype
    - PCI: sysfs: Revert "rescan" file renames
    - coresight: do not use the BIT() macro in the UAPI header
    - mei: me: add cedar fork device ids
    - nvmem: check for NULL reg_read and reg_write before dereferencing
    - extcon: axp288: Add wakeup support
    - power: supply: axp288_charger: Add special handling for HP Pavilion x2 10
    - Revert "dm: always call blk_queue_split() in dm_process_bio()"
    - ALSA: hda/ca0132 - Add Recon3Di quirk to handle integrated sound on EVGA 
X99
      Classified motherboard
    - soc: mediatek: knows_txdone needs to be set in Mediatek CMDQ helper
    - net/mlx5e: kTLS, Fix wrong value in record tracker enum
    - iwlwifi: consider HE capability when setting LDPC
    - iwlwifi: yoyo: don't add TLV offset when reading FIFOs
    - iwlwifi: dbg: don't abort if sending DBGC_SUSPEND_RESUME fails
    - rxrpc: Fix sendmsg(MSG_WAITALL) handling
    - IB/hfi1: Ensure pq is not left on waitlist
    - tcp: fix TFO SYNACK undo to avoid double-timestamp-undo
    - watchdog: iTCO_wdt: Export vendorsupport
    - watchdog: iTCO_wdt: Make ICH_RES_IO_SMI optional
    - i2c: i801: Do not add ICH_RES_IO_SMI for the iTCO_wdt device
    - net: Fix Tx hash bound checking
    - padata: always acquire cpu_hotplug_lock before pinst->lock
    - mm: mempolicy: require at least one nodeid for MPOL_PREFERRED
    - Linux 5.4.31

  * Add hw timestamps to received skbs in peak_canfd (LP: #1874124)
    - can: peak_canfd: provide hw timestamps in rx skbs

  * kselftest: seccomp kill_after_ptrace() timeout (LP: #1872047)
    - SAUCE: kselftest/runner: allow to properly deliver signals to tests

 -- Stefan Bader <stefan.ba...@canonical.com>  Thu, 07 May 2020 11:05:18
+0200

** Changed in: linux (Ubuntu Focal)
       Status: Fix Committed => Fix Released

-- 
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/1871688

Title:
  LIO hanging in iscsit_free_session and iscsit_stop_session

Status in linux package in Ubuntu:
  In Progress
Status in linux source package in Bionic:
  Fix Released
Status in linux source package in Focal:
  Fix Released

Bug description:
  The target subsystem (LIO) can hang if multiple threads try to destroy
  iSCSI sessions simultaneously. This is reproducible on systems that
  have multiple targets with initiators regularly
  connecting/disconnecting.

  This may happen when a "targetcli iscsi/iqn.../tpg1 disable" command
  is executed when a logout operation is underway.

  The iscsi target doesn't handle such events in a correct way: two or
  more threads may end up sleeping while waiting for the driver to close
  the remaining connections on the session. When the connections are
  closed, the driver wakes up only the first thread that will then
  proceed to destroy the session structure. The remaining threads are
  blocked there forever, waiting on a completion synchronization
  mechanism that doesn't exist in memory anymore because it has been
  freed by the first thread.

  Note that if the blocked threads are somehow forced to wake up, they
  will try to free the same iSCSI session structure destroyed by the
  first thread, causing double frees, memory corruptions, etc.

  The driver has been reorganized so the concurrent threads will set a
  flag in the session structure to notify the driver that the session
  should be destroyed; then, they wait for the driver to close the
  remaining connections. When the connections are all closed, the driver
  will wake up all the threads and will wait for the refcount of the
  iSCSI session structure to reach zero. When the last thread wakes up,
  the refcount is decreased to zero and the driver can proceed to
  destroy the session structure because no one is referencing it
  anymore.

  I've witnessed this happening on hundreds of Ubuntu 16.04.5 systems.
  It is a regression, because this did not occur several years ago.
  Unfortunately, I don't have detailed records from that far back to
  determine exactly which kernel I was running that was not affected by
  this bug (I believe it was either 4.8.x or 4.10.x).

  I've attached the requested uname, version_signature, dmesg, and lspci
  from my system. However, I've seen this happen on a wide array of
  hardware: 2 to 24 cores, 8GB to 256GB RAM, both AMD and Intel CPUs,
  onboard storage and PCIe SAS cards, etc.

  This has been fixed in the upstream master branch, but it hasn't yet
  been backported to "-stable".

  To fix this in the Ubuntu kernel, these three commits should be backported:
  * 
https://github.com/torvalds/linux/commit/e49a7d994379278d3353d7ffc7994672752fb0ad
  * 
https://github.com/torvalds/linux/commit/57c46e9f33da530a2485fa01aa27b6d18c28c796
  * 
https://github.com/torvalds/linux/commit/626bac73371eed79e2afa2966de393da96cf925e

  I'd like these commits to be added to the xenial, bionic, and focal
  kernels.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871688/+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

Reply via email to