This bug was fixed in the package linux - 5.8.0-20.21

---------------
linux (5.8.0-20.21) groovy; urgency=medium

  * groovy/linux: 5.8.0-20.21 -proposed tracker (LP: #1896668)

  * Lenovo ThinkBook 14-IML Touchpad not showing up in /proc/bus/input/devices
    (LP: #1853277)
    - i2c: core: Call i2c_acpi_install_space_handler() before
      i2c_acpi_register_devices()

  * Enable LTR for endpoints behind VMD (LP: #1896598)
    - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD

  * Remove duplicated code in ip_defrag.sh of kselftests/net (LP: #1894062)
    - Revert "UBUNTU: SAUCE: selftests: net: ip_defrag: modprobe missing
      nf_defrag_ipv6 support"

  * [SRU] [Focal/OEM-5.6/Groovy]Fix AMD usb host controller lost after stress S3
    (LP: #1893914)
    - SAUCE: xhci: workaround for S3 issue on AMD SNPS 3.0 xHC

  * debian/rules editconfigs does not work on s390x to change s390x only configs
    (LP: #1863116)
    - [Packaging] kernelconfig -- only update/edit configurations on 
architectures
      we have compiler support

  * [Ubuntu 20.10] zPCI DMA tables and bitmap leak on hard unplug (PCI Event
    0x0304) (LP: #1896216)
    - s390/pci: fix leak of DMA tables on hard unplug

  * md: improve IO accounting (LP: #1891151)
    - md: improve io stats accounting

  * Groovy update: v5.8.10 upstream stable release (LP: #1896078)
    - ARM: OMAP2+: Fix an IS_ERR() vs NULL check in _get_pwrdm()
    - ARM: dts: logicpd-torpedo-baseboard: Fix broken audio
    - ARM: dts: logicpd-som-lv-baseboard: Fix broken audio
    - ARM: dts: logicpd-som-lv-baseboard: Fix missing video
    - regulator: push allocation in regulator_ena_gpio_request() out of lock
    - regulator: remove superfluous lock in regulator_resolve_coupling()
    - ARM: dts: socfpga: fix register entry for timer3 on Arria10
    - ARM: dts: omap5: Fix DSI base address and clocks
    - ARM: dts: ls1021a: fix QuadSPI-memory reg range
    - ARM: dts: imx7ulp: Correct gpio ranges
    - arm64: dts: imx: Add missing imx8mm-beacon-kit.dtb to build
    - ARM: dts: imx7d-zii-rmu2: fix rgmii phy-mode for ksz9031 phy
    - RDMA/rtrs-srv: Replace device_register with device_initialize and 
device_add
    - RDMA/rxe: Fix memleak in rxe_mem_init_user
    - RDMA/rxe: Drop pointless checks in rxe_init_ports
    - RDMA/rxe: Fix panic when calling kmem_cache_create()
    - RDMA/bnxt_re: Do not report transparent vlan from QP1
    - RDMA/bnxt_re: Fix the qp table indexing
    - RDMA/bnxt_re: Static NQ depth allocation
    - RDMA/bnxt_re: Fix driver crash on unaligned PSN entry address
    - RDMA/bnxt_re: Remove the qp from list only if the qp destroy succeeds
    - drm/sun4i: add missing put_device() call in sun8i_r40_tcon_tv_set_mux()
    - arm64: dts: imx8mq: Fix TMU interrupt property
    - drm/sun4i: Fix dsi dcs long write function
    - scsi: qla2xxx: Fix regression on sparc64
    - scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA
    - drm/virtio: fix unblank
    - RDMA/core: Fix unsafe linked list traversal after failing to allocate CQ
    - RDMA/core: Fix reported speed and width
    - scsi: megaraid_sas: Don't call disable_irq from process IRQ poll
    - scsi: mpt3sas: Don't call disable_irq from IRQ poll handler
    - soundwire: fix double free of dangling pointer
    - Revert "kbuild: use -flive-patching when CONFIG_LIVEPATCH is enabled"
    - interconnect: qcom: Fix small BW votes being truncated to zero
    - padata: fix possible padata_works_lock deadlock
    - drm/sun4i: Fix DE2 YVU handling
    - drm/sun4i: backend: Support alpha property on lowest plane
    - drm/sun4i: backend: Disable alpha on the lowest plane on the A20
    - KVM: arm64: Update page shift if stage 2 block mapping not supported
    - ARM: dts: imx6sx: fix the pad QSPI1B_SCLK mux mode for uart3
    - mmc: sdhci-acpi: Clear amd_sdhci_host on reset
    - mmc: sdhci-msm: Add retries when all tuning phases are found valid
    - spi: stm32: Rate-limit the 'Communication suspended' message
    - btrfs: fix NULL pointer dereference after failure to create snapshot
    - i2c: npcm7xx: Fix timeout calculation
    - block: restore a specific error code in bdev_del_partition
    - seccomp: don't leak memory when filter install races
    - nvme-fabrics: allow to queue requests for live queues
    - spi: stm32: fix pm_runtime_get_sync() error checking
    - block: Set same_page to false in __bio_try_merge_page if ret is false
    - RDMA/rtrs-srv: Set .release function for rtrs srv device during device 
init
    - IB/isert: Fix unaligned immediate-data handling
    - ARM: dts: bcm: HR2: Fixed QSPI compatible string
    - ARM: dts: NSP: Fixed QSPI compatible string
    - ARM: dts: BCM5301X: Fixed QSPI compatible string
    - arm64: dts: ns2: Fixed QSPI compatible string
    - KVM: nVMX: Fix the update value of nested load IA32_PERF_GLOBAL_CTRL 
control
    - KVM: x86: always allow writing '0' to MSR_KVM_ASYNC_PF_EN
    - ARC: HSDK: wireup perf irq
    - dmaengine: acpi: Put the CSRT table after using it
    - MIPS: Loongson64: Do not override watch and ejtag feature
    - netfilter: conntrack: allow sctp hearbeat after connection re-use
    - netfilter: nft_set_rbtree: Detect partial overlap with start endpoint 
match
    - drivers/net/wan/lapbether: Added needed_tailroom
    - NFC: st95hf: Fix memleak in st95hf_in_send_cmd
    - firestream: Fix memleak in fs_open
    - scsi: qedf: Fix null ptr reference in qedf_stag_change_work
    - ALSA: hda: Fix 2 channel swapping for Tegra
    - ALSA: hda/tegra: Program WAKEEN register for Tegra
    - drivers/dma/dma-jz4780: Fix race condition between probe and irq handler
    - net: hns3: Fix for geneve tx checksum bug
    - xfs: fix off-by-one in inode alloc block reservation calculation
    - drivers/net/wan/lapbether: Set network_header before transmitting
    - wireless: fix wrong 160/80+80 MHz setting
    - mac80211: reduce packet loss event false positives
    - cfg80211: Adjust 6 GHz frequency to channel conversion
    - xfs: initialize the shortform attr header padding entry
    - ARC: show_regs: fix r12 printing and simplify
    - irqchip/eznps: Fix build error for !ARC700 builds
    - media: gpio-ir-tx: spinlock is not needed to disable interrupts
    - nvmet-tcp: Fix NULL dereference when a connect data comes in h2cdata pdu
    - nvme-fabrics: don't check state NVME_CTRL_NEW for request acceptance
    - nvme: have nvme_wait_freeze_timeout return if it timed out
    - nvme-tcp: serialize controller teardown sequences
    - nvme-tcp: fix timeout handler
    - nvme-tcp: fix reset hang if controller died in the middle of a reset
    - nvme-rdma: serialize controller teardown sequences
    - nvme-rdma: fix timeout handler
    - nvme-rdma: fix reset hang if controller died in the middle of a reset
    - nvme-pci: cancel nvme device request before disabling
    - HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 devices
    - HID: microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller
    - drivers/net/wan/hdlc_cisco: Add hard_header_len
    - HID: elan: Fix memleak in elan_input_configured
    - ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id
    - cpufreq: intel_pstate: Refuse to turn off with HWP enabled
    - cpufreq: intel_pstate: Fix intel_pstate_get_hwp_max() for turbo disabled
    - arm64/module: set trampoline section flags regardless of
      CONFIG_DYNAMIC_FTRACE
    - ALSA: hda: hdmi - add Rocketlake support
    - ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled
    - ALSA: hda: use consistent HDAudio spelling in comments/docs
    - drivers/net/wan/hdlc: Change the default of hard_header_len to 0
    - drm/amdgpu: Fix bug in reporting voltage for CIK
    - iommu/amd: Do not force direct mapping when SME is active
    - iommu/amd: Do not use IOMMUv2 functionality when SME is active
    - gcov: Disable gcov build with GCC 10
    - iio: adc: mcp3422: fix locking scope
    - iio: adc: mcp3422: fix locking on error path
    - iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set
    - iio: cros_ec: Set Gyroscope default frequency to 25Hz
    - iio:light:ltr501 Fix timestamp alignment issue.
    - iio:proximity:mb1232: Fix timestamp alignment and prevent data leak.
    - iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak.
    - iio:adc:ti-adc084s021 Fix alignment and data leak issues.
    - iio:adc:ina2xx Fix timestamp alignment issue.
    - iio:adc:max1118 Fix alignment of timestamp and data leak issues
    - iio:adc:ti-adc081c Fix alignment and data leak issues
    - iio:magnetometer:ak8975 Fix alignment and data leak issues.
    - iio:light:max44000 Fix timestamp alignment and prevent data leak.
    - iio:chemical:ccs811: Fix timestamp alignment and prevent data leak.
    - iio: accel: kxsd9: Fix alignment of local buffer.
    - iio:accel:mma7455: Fix timestamp alignment and prevent data leak.
    - iio:accel:mma8452: Fix timestamp alignment and prevent data leak.
    - staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb()
    - btrfs: require only sector size alignment for parent eb bytenr
    - btrfs: fix lockdep splat in add_missing_dev
    - btrfs: free data reloc tree on failed mount
    - btrfs: fix wrong address when faulting in pages in the search ioctl
    - thunderbolt: Disable ports that are not implemented
    - kobject: Restore old behaviour of kobject_del(NULL)
    - regulator: push allocation in regulator_init_coupling() outside of lock
    - regulator: push allocations in create_regulator() outside of lock
    - regulator: push allocation in set_consumer_device_supply() out of lock
    - regulator: plug of_node leak in regulator_register()'s error path
    - regulator: core: Fix slab-out-of-bounds in regulator_unlock_recursive()
    - misc: eeprom: at24: register nvmem only after eeprom is ready to use
    - scsi: target: iscsi: Fix data digest calculation
    - scsi: lpfc: Fix setting IRQ affinity with an empty CPU mask
    - scsi: target: iscsi: Fix hang in iscsit_access_np() when getting
      tpg->np_login_sem
    - drm/tve200: Stabilize enable/disable
    - drm/msm: Split the a5xx preemption record
    - drm/msm: Disable preemption on all 5xx targets
    - drm/msm: Disable the RPTR shadow
    - mmc: sdio: Use mmc_pre_req() / mmc_post_req()
    - mmc: sdhci-of-esdhc: Don't walk device-tree on every interrupt
    - nvme: Revert: Fix controller creation races with teardown flow
    - rbd: require global CAP_SYS_ADMIN for mapping and unmapping
    - RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars
    - RDMA/mlx4: Read pkey table length instead of hardcoded value
    - fbcon: remove soft scrollback code
    - fbcon: remove now unusued 'softback_lines' cursor() argument
    - vgacon: remove software scrollback support
    - KVM: VMX: Don't freeze guest when event delivery causes an APIC-access 
exit
    - KVM: arm64: Do not try to map PUDs when they are folded into PMD
    - kvm x86/mmu: use KVM_REQ_MMU_SYNC to sync when needed
    - KVM: fix memory leak in kvm_io_bus_unregister_dev()
    - Revert "usb: dwc3: meson-g12a: fix shared reset control use"
    - debugfs: Fix module state check condition
    - test_firmware: Test platform fw loading on non-EFI systems
    - arm64: dts: imx8mp: correct sdma1 clk setting
    - ARM: dts: vfxxx: Add syscon compatible with OCOTP
    - video: fbdev: fix OOB read in vga_8planes_imageblit()
    - staging: greybus: audio: fix uninitialized value issue
    - phy: qcom-qmp: Use correct values for ipq8074 PCIe Gen2 PHY init
    - usb: core: fix slab-out-of-bounds Read in read_descriptors
    - USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter
    - USB: serial: option: support dynamic Quectel USB compositions
    - USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules
    - usb: Fix out of sync data toggle if a configured device is reconfigured
    - usb: typec: ucsi: acpi: Check the _DEP dependencies
    - usb: typec: intel_pmc_mux: Un-register the USB role switch
    - usb: typec: intel_pmc_mux: Do not configure Altmode HPD High
    - usb: typec: intel_pmc_mux: Do not configure SBU and HSL Orientation in
      Alternate modes
    - drm/msm/gpu: make ringbuffer readonly
    - gcov: add support for GCC 10.1
    - Linux 5.8.10
    - [Config] GCC version update
    - [Config] updateconfigs following v5.8.10 import

  * Wakeup the system by touching the touchpad (LP: #1888331)
    - HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle

  * Fix non-working NVMe after S3 (LP: #1895718)
    - SAUCE: PCI: Enable ACS quirk on CML root port

  * Thunderbolt3 daisy chain sometimes doesn't work (LP: #1895606)
    - thunderbolt: Retry DROM read once if parsing fails

  * Groovy update: v5.8.9 upstream stable release (LP: #1895634)
    - io_uring: fix cancel of deferred reqs with ->files
    - io_uring: fix linked deferred ->files cancellation
    - RDMA/cma: Simplify DEVICE_REMOVAL for internal_id
    - RDMA/cma: Using the standard locking pattern when delivering the removal
      event
    - RDMA/cma: Remove unneeded locking for req paths
    - RDMA/cma: Execute rdma_cm destruction from a handler properly
    - ipv4: Silence suspicious RCU usage warning
    - ipv6: Fix sysctl max for fib_multipath_hash_policy
    - netlabel: fix problems with mapping removal
    - net: usb: dm9601: Add USB ID of Keenetic Plus DSL
    - sctp: not disable bh in the whole sctp_get_port_local()
    - taprio: Fix using wrong queues in gate mask
    - tipc: fix shutdown() of connectionless socket
    - tipc: fix using smp_processor_id() in preemptible
    - net: disable netpoll on fresh napis
    - mptcp: free acked data before waiting for more memory
    - Linux 5.8.9

  * Miscellaneous Ubuntu changes
    - SAUCE: Revert "selftests/bpf: Fix btf_dump test cases on 32-bit arches"
    - [Config] annotations: remove VGACON_SOFT_SCROLLBACK
    - packaging: arm64: add a 64KB mem pages flavour called 'generic-64k'
    - packaging: arm64: generic-64k: skip ABI, modules and retpoline checks

  * Miscellaneous upstream changes
    - tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup()

linux (5.8.0-19.20) groovy; urgency=medium

  * groovy/linux: 5.8.0-19.20 -proposed tracker (LP: #1895120)

  * Please switch default, hwe, oem kernel flavours governor to
    CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y , such that advanced userspace
    utilities such as game-mode can be later used to rev-up to to performance,
    or rev-down to powersave. (LP: #1885730)
    - [Config] Set the default CPU governor to ONDEMAND

  * Packaging resync (LP: #1786013)
    - update dkms package versions
    - [Packaging] update variants

  * [WD19TB] external DP failed with DRM error message (LP: #1886165)
    - drm/i915/tgl+: Use the correct DP_TP_* register instances in MST encoders
    - drm/i915/tgl+: Fix TBT DPLL fractional divider for 38.4MHz ref clock

  * Groovy update: v5.8.8 upstream stable release (LP: #1895097)
    - hwmon: (pmbus/isl68137) remove READ_TEMPERATURE_1 telemetry for RAA228228
    - HID: quirks: Always poll three more Lenovo PixArt mice
    - drm/msm/dpu: Fix reservation failures in modeset
    - drm/msm/dpu: Fix scale params in plane validation
    - drm/msm/dpu: fix unitialized variable error
    - tty: serial: qcom_geni_serial: Drop __init from qcom_geni_console_setup
    - drm/msm: add shutdown support for display platform_driver
    - hwmon: (applesmc) check status earlier.
    - nvmet: Disable keep-alive timer when kato is cleared to 0h
    - drm/msm: enable vblank during atomic commits
    - habanalabs: unmap PCI bars upon iATU failure
    - habanalabs: validate packet id during CB parse
    - habanalabs: set clock gating according to mask
    - habanalabs: proper handling of alloc size in coresight
    - habanalabs: set max power according to card type
    - habanalabs: validate FW file size
    - habanalabs: check correct vmalloc return code
    - drm/msm/a6xx: fix gmu start on newer firmware
    - gfs2: add some much needed cleanup for log flushes that fail
    - hv_utils: return error if host timesysnc update is stale
    - hv_utils: drain the timesync packets on onchannelcallback
    - ceph: don't allow setlease on cephfs
    - i2c: iproc: Fix shifting 31 bits
    - drm/omap: fix incorrect lock state
    - irqchip/ingenic: Leave parent IRQ unmasked on suspend
    - cpuidle: Fixup IRQ state
    - nbd: restore default timeout when setting it to zero
    - s390: don't trace preemption in percpu macros
    - drm/amd/display: should check error using DC_OK
    - drm/amd/display: Reject overlay plane configurations in multi-display
      scenarios
    - drivers: gpu: amd: Initialize amdgpu_dm_backlight_caps object to 0 in
      amdgpu_dm_update_backlight_caps
    - drm/amd/display: Revert HDCP disable sequence change
    - drm/amd/display: Fix passive dongle mistaken as active dongle in EDID
      emulation
    - drm/amd/display: Keep current gain when ABM disable immediately
    - drm/amd/display: Retry AUX write when fail occurs
    - drm/amd/display: Fix memleak in amdgpu_dm_mode_config_init
    - xen/xenbus: Fix granting of vmalloc'd memory
    - fsldma: fix very broken 32-bit ppc ioread64 functionality
    - dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling
    - batman-adv: Avoid uninitialized chaddr when handling DHCP
    - batman-adv: Fix own OGM check in aggregated OGMs
    - batman-adv: bla: use netif_rx_ni when not in interrupt context
    - dmaengine: at_hdmac: check return value of of_find_device_by_node() in
      at_dma_xlate()
    - dmaengine: at_hdmac: add missing put_device() call in at_dma_xlate()
    - dmaengine: at_hdmac: add missing kfree() call in at_dma_xlate()
    - rxrpc: Keep the ACK serial in a var in rxrpc_input_ack()
    - rxrpc: Fix loss of RTT samples due to interposed ACK
    - rxrpc: Make rxrpc_kernel_get_srtt() indicate validity
    - MIPS: mm: BMIPS5000 has inclusive physical caches
    - MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores
    - mmc: sdhci-acpi: Fix HS400 tuning for AMDI0040
    - perf sched timehist: Fix use of CPU list with summary option
    - perf top: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set
    - netfilter: nf_tables: add NFTA_SET_USERDATA if not null
    - netfilter: nf_tables: incorrect enum nft_list_attributes definition
    - netfilter: nf_tables: fix destination register zeroing
    - net: hns: Fix memleak in hns_nic_dev_probe
    - net: systemport: Fix memleak in bcm_sysport_probe
    - ravb: Fixed to be able to unload modules
    - net: arc_emac: Fix memleak in arc_mdio_probe
    - bpf: Fix a buffer out-of-bound access when filling raw_tp link_info
    - dmaengine: pl330: Fix burst length if burst size is smaller than bus width
    - dmaengine: ti: k3-udma: Fix the TR initialization for prep_slave_sg
    - gtp: add GTPA_LINK info to msg sent to userspace
    - net: ethernet: ti: cpsw: fix clean up of vlan mc entries for host port
    - net: ethernet: ti: cpsw_new: fix clean up of vlan mc entries for host port
    - bnxt_en: Don't query FW when netif_running() is false.
    - bnxt_en: Check for zero dir entries in NVRAM.
    - bnxt_en: Fix ethtool -S statitics with XDP or TCs enabled.
    - bnxt_en: Fix PCI AER error recovery flow
    - bnxt_en: Fix possible crash in bnxt_fw_reset_task().
    - bnxt_en: fix HWRM error when querying VF temperature
    - xfs: finish dfops on every insert range shift iteration
    - xfs: fix boundary test in xfs_attr_shortform_verify
    - bnxt: don't enable NAPI until rings are ready
    - media: vicodec: add missing v4l2_ctrl_request_hdl_put()
    - media: cedrus: Add missing v4l2_ctrl_request_hdl_put()
    - net: ethernet: ti: cpsw_new: fix error handling in
      cpsw_ndo_vlan_rx_kill_vid()
    - media: i2c: imx214: select V4L2_FWNODE
    - selftests/bpf: Fix massive output from test_maps
    - net: dsa: mt7530: fix advertising unsupported 1000baseT_Half
    - netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of 
ENOBUFS
    - nvmet-fc: Fix a missed _irqsave version of spin_lock in
      'nvmet_fc_fod_op_done()'
    - nvme: fix controller instance leak
    - netfilter: conntrack: do not auto-delete clash entries on reply
    - opp: Don't drop reference for an OPP table that was never parsed
    - cxgb4: fix thermal zone device registration
    - net: ethernet: ti: am65-cpsw: fix rmii 100Mbit link mode
    - MIPS: perf: Fix wrong check condition of Loongson event IDs
    - block: fix locking in bdev_del_partition
    - perf top/report: Fix infinite loop in the TUI for grouped events
    - perf cs-etm: Fix corrupt data after perf inject from
    - perf intel-pt: Fix corrupt data after perf inject from
    - perf tools: Correct SNOOPX field offset
    - net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init()
    - fix regression in "epoll: Keep a reference on files added to the check 
list"
    - net: bcmgenet: fix mask check in bcmgenet_validate_flow()
    - net: gemini: Fix another missing clk_disable_unprepare() in probe
    - nfp: flower: fix ABI mismatch between driver and firmware
    - net: dp83867: Fix WoL SecureOn password
    - MIPS: add missing MSACSR and upper MSA initialization
    - MIPS: SNI: Fix SCSI interrupt
    - xfs: fix xfs_bmap_validate_extent_raw when checking attr fork of rt files
    - perf jevents: Fix suspicious code in fixregex()
    - perf stat: Turn off summary for interval mode by default
    - perf bench: The do_run_multi_threaded() function must use
      IS_ERR(perf_session__new())
    - tg3: Fix soft lockup when tg3_reset_task() fails.
    - x86, fakenuma: Fix invalid starting node ID
    - iommu/vt-d: Serialize IOMMU GCMD register modifications
    - thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430
    - thermal: qcom-spmi-temp-alarm: Don't suppress negative temp
    - iommu/amd: Restore IRTE.RemapEn bit after programming IRTE
    - iommu/amd: Use cmpxchg_double() when updating 128-bit IRTE
    - include/linux/log2.h: add missing () around n in roundup_pow_of_two()
    - iommu/vt-d: Handle 36bit addressing for x86-32
    - tracing/kprobes, x86/ptrace: Fix regs argument order for i386
    - x86/entry: Fix AC assertion
    - x86/debug: Allow a single level of #DB recursion
    - ext2: don't update mtime on COW faults
    - xfs: don't update mtime on COW faults
    - ARC: perf: don't bail setup if pct irq missing in device-tree
    - arc: fix memory initialization for systems with two memory banks
    - btrfs: drop path before adding new uuid tree entry
    - btrfs: fix potential deadlock in the search ioctl
    - btrfs: allocate scrub workqueues outside of locks
    - btrfs: set the correct lockdep class for new nodes
    - btrfs: set the lockdep class for log tree extent buffers
    - btrfs: block-group: fix free-space bitmap threshold
    - btrfs: tree-checker: fix the error message for transid error
    - Bluetooth: Return NOTIFY_DONE for hci_suspend_notifier
    - x86/mm/32: Bring back vmalloc faulting on x86_32
    - Revert "ALSA: hda: Add support for Loongson 7A1000 controller"
    - ALSA: ca0106: fix error code handling
    - ALSA: usb-audio: Add basic capture support for Pioneer DJ DJM-250MK2
    - ALSA: usb-audio: Add implicit feedback quirk for UR22C
    - ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check
    - ALSA: hda/hdmi: always check pin power status in i915 pin fixup
    - ALSA: firewire-digi00x: exclude Avid Adrenaline from detection
    - ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO
    - ALSA; firewire-tascam: exclude Tascam FE-8 from detection
    - ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion NT950XCJ-X716A
    - ALSA: hda/realtek - Improved routing for Thinkpad X1 7th/8th Gen
    - arm64: dts: mt7622: add reset node for mmc device
    - mmc: mediatek: add optional module reset property
    - mmc: dt-bindings: Add resets/reset-names for Mediatek MMC bindings
    - mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based
      controllers
    - media: rc: do not access device via sysfs after rc_unregister_device()
    - media: rc: uevent sysfs file races with rc_unregister_device()
    - affs: fix basic permission bits to actually work
    - block: allow for_each_bvec to support zero len bvec
    - block: ensure bdi->io_pages is always initialized
    - io_uring: set table->files[i] to NULL when io_sqe_file_register failed
    - io_uring: fix removing the wrong file in __io_sqe_files_update()
    - s390: fix GENERIC_LOCKBREAK dependency typo in Kconfig
    - libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks
    - mips/oprofile: Fix fallthrough placement
    - blk-iocost: ioc_pd_free() shouldn't assume irq disabled
    - blk-stat: make q->stats->lock irqsafe
    - dmaengine: dw-edma: Fix scatter-gather address calculation
    - drm/i915: Fix sha_text population code
    - drm/amd/pm: avoid false alarm due to confusing softwareshutdowntemp 
setting
    - drm/amdgpu: Specify get_argument function for ci_smu_funcs
    - dm writecache: handle DAX to partitions on persistent memory correctly
    - dm mpath: fix racey management of PG initialization
    - dm integrity: fix error reporting in bitmap mode after creation
    - dm crypt: Initialize crypto wait structures
    - dm cache metadata: Avoid returning cmd->bm wild pointer on error
    - dm thin metadata: Avoid returning cmd->bm wild pointer on error
    - dm thin metadata: Fix use-after-free in dm_bm_set_read_only
    - mm: slub: fix conversion of freelist_corrupted()
    - mm: track page table modifications in __apply_to_page_range()
    - mm: madvise: fix vma user-after-free
    - mm/rmap: fixup copying of soft dirty and uffd ptes
    - io_uring: no read/write-retry on -EAGAIN error and O_NONBLOCK marked file
    - perf record: Correct the help info of option "--no-bpf-event"
    - kconfig: streamline_config.pl: check defined(ENV variable) before using it
    - sdhci: tegra: Add missing TMCLK for data timeout
    - checkpatch: fix the usage of capture group ( ... )
    - mm/migrate: fixup setting UFFD_WP flag
    - mm/hugetlb: try preferred node first when alloc gigantic page from cma
    - mm/hugetlb: fix a race between hugetlb sysctl handlers
    - mm/khugepaged.c: fix khugepaged's request size in collapse_file
    - cfg80211: regulatory: reject invalid hints
    - net: usb: Fix uninit-was-stored issue in asix_read_phy_addr()
    - Linux 5.8.8

  * Groovy update: v5.8.7 upstream stable release (LP: #1894959)
    - HID: core: Correctly handle ReportSize being zero
    - HID: core: Sanitize event code and type when mapping input
    - netfilter: nft_set_rbtree: Handle outcomes of tree rotations in overlap
      detection
    - mm: fix pin vs. gup mismatch with gate pages
    - selftests/x86/test_vsyscall: Improve the process_vm_readv() test
    - perf record/stat: Explicitly call out event modifiers in the documentation
    - media: media/v4l2-core: Fix kernel-infoleak in video_put_user()
    - KVM: arm64: Add kvm_extable for vaxorcism code
    - KVM: arm64: Survive synchronous exceptions caused by AT instructions
    - dt-bindings: mmc: tegra: Add tmclk for Tegra210 and later
    - arm64: tegra: Add missing timeout clock to Tegra194 SDMMC nodes
    - arm64: tegra: Add missing timeout clock to Tegra186 SDMMC nodes
    - arm64: tegra: Add missing timeout clock to Tegra210 SDMMC
    - sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra210
    - sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra186
    - nl80211: fix NL80211_ATTR_HE_6GHZ_CAPABILITY usage
    - scsi: target: tcmu: Optimize use of flush_dcache_page
    - Linux 5.8.7

  * Groovy update: v5.8.6 upstream stable release (LP: #1894956)
    - Revert "UBUNTU: SAUCE: Revert "ARM64: vdso32: Install vdso32 from
      vdso_install""
    - khugepaged: khugepaged_test_exit() check mmget_still_valid()
    - ASoC: intel/skl/hda - fix probe regression on systems without i915
    - ALSA: pci: delete repeated words in comments
    - drm/amdgpu: fix RAS memory leak in error case
    - EDAC/mc: Call edac_inc_ue_error() before panic
    - ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt
    - ASoC: img-parallel-out: Fix a reference count leak
    - ASoC: tegra: Fix reference count leaks.
    - mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs
    - arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep
    - powerpc/xive: Ignore kmemleak false positives
    - media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA
      value in debiirq()
    - gcc-plugins/stackleak: Don't instrument itself
    - blktrace: ensure our debugfs dir exists
    - staging: rts5208: fix memleaks on error handling paths in probe
    - scsi: target: tcmu: Fix crash on ARM during cmd completion
    - mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs
    - iommu/iova: Don't BUG on invalid PFNs
    - platform/chrome: cros_ec_sensorhub: Fix EC timestamp overflow
    - drm/amdkfd: Fix reference count leaks.
    - drm/radeon: fix multiple reference count leak
    - drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms
    - drm/amd/display: fix ref count leak in amdgpu_drm_ioctl
    - drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
    - drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails
    - drm/amdgpu/fence: fix ref count leak when pm_runtime_get_sync fails
    - drm/amdkfd: fix ref count leak when pm_runtime_get_sync fails
    - drm/amdgpu/pm: fix ref count leak when pm_runtime_get_sync fails
    - scsi: lpfc: Fix shost refcount mismatch when deleting vport
    - xfs: Don't allow logging of XFS_ISTALE inodes
    - scsi: target: Fix xcopy sess release leak
    - selftests/powerpc: Purge extra count_pmc() calls of ebb selftests
    - f2fs: remove write attribute of main_blkaddr sysfs node
    - f2fs: fix error path in do_recover_data()
    - MIPS: KVM: Limit Trap-and-Emulate to MIPS32R2 only
    - omapfb: fix multiple reference count leaks due to pm_runtime_get_sync
    - PCI: Fix pci_create_slot() reference count leak
    - ARM: dts: ls1021a: output PPS signal on FIPER2
    - rtlwifi: rtl8192cu: Prevent leaking urb
    - mips/vdso: Fix resource leaks in genvdso.c
    - ALSA: hda: Add support for Loongson 7A1000 controller
    - gpu: host1x: Put gather's BO on pinning error
    - cec-api: prevent leaking memory through hole in structure
    - ASoC: Intel: sof_sdw_rt711: remove properties in card remove
    - HID: quirks: add NOGET quirk for Logitech GROUP
    - f2fs: fix use-after-free issue
    - drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open
    - drm/nouveau: fix reference count leak in nv50_disp_atomic_commit
    - drm/nouveau: Fix reference count leak in nouveau_connector_detect
    - locking/lockdep: Fix overflow in presentation of average lock-time
    - btrfs: file: reserve qgroup space after the hole punch range is locked
    - btrfs: make btrfs_qgroup_check_reserved_leak take btrfs_inode
    - scsi: iscsi: Do not put host in iscsi_set_flashnode_param()
    - netfilter: nf_tables: report EEXIST on overlaps
    - ceph: fix potential mdsc use-after-free crash
    - ceph: do not access the kiocb after aio requests
    - scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del()
    - i2c: i801: Add support for Intel Tiger Lake PCH-H
    - EDAC/ie31200: Fallback if host bridge device is already initialized
    - hugetlbfs: prevent filesystem stacking of hugetlbfs
    - media: davinci: vpif_capture: fix potential double free
    - media: i2c: imx290: fix reset GPIO pin handling
    - drm/amd/display: change global buffer to local buffer
    - drm/amd/display: fix compilation error on allmodconfig
    - KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe
    - powerpc/spufs: add CONFIG_COREDUMP dependency
    - dmaengine: idxd: fix PCI_MSI build errors
    - USB: sisusbvga: Fix a potential UB casued by left shifting a negative 
value
    - mmc: sdhci-of-arasan: fix timings allocation code
    - brcmfmac: Set timeout value when configuring power save
    - pinctrl: mediatek: avoid virtual gpio trying to set reg
    - pinctrl: mediatek: fix build for tristate changes
    - efi: provide empty efi_enter_virtual_mode implementation
    - arm64: Fix __cpu_logical_map undefined issue
    - net: openvswitch: introduce common code for flushing flows
    - PCI: qcom: Add missing ipq806x clocks in PCIe driver
    - PCI: qcom: Change duplicate PCI reset to phy reset
    - PCI: qcom: Add missing reset for ipq806x
    - PM / devfreq: Fix the wrong end with semicolon
    - cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode
    - ALSA: usb-audio: Add capture support for Saffire 6 (USB 1.1)
    - nfsd: fix oops on mixed NFSv4/NFSv3 client access
    - block: respect queue limit of max discard segment
    - block: virtio_blk: fix handling single range discard request
    - drm/msm/adreno: fix updating ring fence
    - block: Fix page_is_mergeable() for compound pages
    - bfq: fix blkio cgroup leakage v4
    - hwmon: (nct7904) Correct divide by 0
    - blk-mq: insert request not through ->queue_rq into sw/scheduler queue
    - blkcg: fix memleak for iolatency
    - nvmet: fix a memory leak
    - nvme-fc: Fix wrong return value in __nvme_fc_init_request()
    - nvme: multipath: round-robin: fix single non-optimized path case
    - null_blk: fix passing of REQ_FUA flag in null_handle_rq
    - habanalabs: Fix memory corruption in debugfs
    - drm/etnaviv: always start/stop scheduler in timeout processing
    - i2c: core: Don't fail PRP0001 enumeration when no ID table exist
    - i2c: rcar: in slave mode, clear NACK earlier
    - vdpa: ifcvf: return err when fail to request config irq
    - vdpa: ifcvf: free config irq in ifcvf_free_irq()
    - usb: gadget: f_tcm: Fix some resource leaks in some error paths
    - video: fbdev: controlfb: Fix build for COMPILE_TEST=y && PPC_PMAC=n
    - spi: stm32: clear only asserted irq flags on interrupt
    - jbd2: make sure jh have b_transaction set in refile/unfile_buffer
    - ext4: don't BUG on inconsistent journal feature
    - ext4: handle read only external journal device
    - ext4: skip non-loaded groups at cr=0/1 when scanning for good groups
    - drm/virtio: fix memory leak in virtio_gpu_cleanup_object()
    - ext4: abort the filesystem if failed to async write metadata buffer
    - jbd2: abort journal if free a async write error metadata buffer
    - ext4: handle option set by mount flags correctly
    - ext4: handle error of ext4_setup_system_zone() on remount
    - ext4: correctly restore system zone info when remount fails
    - fs: prevent BUG_ON in submit_bh_wbc()
    - spi: stm32h7: fix race condition at end of transfer
    - spi: stm32: fix fifo threshold level in case of short transfer
    - spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate
    - spi: stm32: always perform registers configuration prior to transfer
    - drm/amd/powerplay: correct Vega20 cached smu feature state
    - drm/amd/powerplay: correct UVD/VCE PG state on custom pptable uploading
    - drm/amd/display: Fix LFC multiplier changing erratically
    - drm/amd/display: Switch to immediate mode for updating infopackets
    - selftests/bpf: Fix segmentation fault in test_progs
    - netfilter: avoid ipv6 -> nf_defrag_ipv6 module dependency
    - libbpf: Prevent overriding errno when logging errors
    - tools/bpftool: Fix compilation warnings in 32-bit mode
    - selftest/bpf: Fix compilation warnings in 32-bit mode
    - selftests/bpf: Fix btf_dump test cases on 32-bit arches
    - selftests/bpf: Correct various core_reloc 64-bit assumptions
    - can: j1939: transport: j1939_xtp_rx_dat_one(): compare own packets to 
detect
      corruptions
    - dma-pool: fix coherent pool allocations for IOMMU mappings
    - dma-pool: Only allocate from CMA when in same memory zone
    - drivers/net/wan/hdlc_x25: Added needed_headroom and a skb->len check
    - ALSA: hda/realtek: Add model alc298-samsung-headphone
    - s390/cio: add cond_resched() in the slow_eval_known_fn() loop
    - ASoC: wm8994: Avoid attempts to read unreadable registers
    - ALSA: usb-audio: ignore broken processing/extension unit
    - selftests: disable rp_filter for icmp_redirect.sh
    - scsi: fcoe: Fix I/O path allocation
    - scsi: ufs: Fix possible infinite loop in ufshcd_hold
    - scsi: ufs: Improve interrupt handling for shared interrupts
    - scsi: ufs: Clean up completed request without interrupt notification
    - scsi: scsi_debug: Fix scp is NULL errors
    - scsi: qla2xxx: Flush all sessions on zone disable
    - scsi: qla2xxx: Flush I/O on zone disable
    - scsi: qla2xxx: Indicate correct supported speeds for Mezz card
    - scsi: qla2xxx: Fix login timeout
    - scsi: qla2xxx: Check if FW supports MQ before enabling
    - scsi: qla2xxx: Fix null pointer access during disconnect from subsystem
    - Revert "scsi: qla2xxx: Fix crash on qla2x00_mailbox_command"
    - macvlan: validate setting of multiple remote source MAC addresses
    - net: gianfar: Add of_node_put() before goto statement
    - drm/amdgpu: fix NULL pointer access issue when unloading driver
    - drm/amdkfd: fix the wrong sdma instance query for renoir
    - bpf: Fix a rcu_sched stall issue with bpf task/task_file iterator
    - bpf: Avoid visit same object multiple times
    - ext4: limit the length of per-inode prealloc list
    - powerpc/perf: Fix soft lockups due to missed interrupt accounting
    - libbpf: Fix map index used in error message
    - bpf: selftests: global_funcs: Check err_str before strstr
    - arm64: Move handling of erratum 1418040 into C code
    - arm64: Allow booting of late CPUs affected by erratum 1418040
    - hwmon: (gsc-hwmon) Scale temperature to millidegrees
    - block: fix get_max_io_size()
    - block: loop: set discard granularity and alignment for block device backed
      loop
    - blk-mq: order adding requests to hctx->dispatch and checking SCHED_RESTART
    - btrfs: reset compression level for lzo on remount
    - btrfs: check the right error variable in btrfs_del_dir_entries_in_log
    - btrfs: fix space cache memory leak after transaction abort
    - btrfs: detect nocow for swap after snapshot delete
    - fbcon: prevent user font height or width change from causing potential 
out-
      of-bounds access
    - USB: lvtest: return proper error code in probe
    - vt: defer kfree() of vc_screenbuf in vc_do_resize()
    - vt_ioctl: change VT_RESIZEX ioctl to check for error return from 
vc_resize()
    - serial: samsung: Removes the IRQ not found warning
    - serial: pl011: Fix oops on -EPROBE_DEFER
    - serial: pl011: Don't leak amba_ports entry on driver register error
    - serial: stm32: avoid kernel warning on absence of optional IRQ
    - serial: 8250_exar: Fix number of ports for Commtech PCIe cards
    - serial: 8250: change lock order in serial8250_do_startup()
    - io_uring: clear req->result on IOPOLL re-issue
    - writeback: Protect inode->i_io_list with inode->i_lock
    - writeback: Avoid skipping inode writeback
    - writeback: Fix sync livelock due to b_dirty_time processing
    - XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt 
XEN
      data pointer which contains XEN specific information.
    - usb: renesas-xhci: remove version check
    - usb: host: xhci-tegra: otg usb2/usb3 port init
    - usb: host: xhci-tegra: fix tegra_xusb_get_phy()
    - usb: host: xhci: fix ep context print mismatch in debugfs
    - xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed
    - io-wq: fix hang after cancelling pending hashed work
    - KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception
    - arm64: vdso32: make vdso32 install conditional
    - PM: sleep: core: Fix the handling of pending runtime resume requests
    - powerpc/32s: Disable VMAP stack which CONFIG_ADB_PMU
    - powerpc/perf: Fix crashes with generic_compat_pmu & BHRB
    - device property: Fix the secondary firmware node handling in
      set_primary_fwnode()
    - crypto: af_alg - Work around empty control messages without MSG_MORE
    - usbip: Implement a match function to fix usbip
    - genirq/matrix: Deal with the sillyness of for_each_cpu() on UP
    - irqchip/stm32-exti: Avoid losing interrupts due to clearing pending bits 
by
      mistake
    - x86/irq: Unbreak interrupt affinity setting
    - x86/hotplug: Silence APIC only after all interrupts are migrated
    - drm/i915: Fix cmd parser desc matching with masks
    - drm/etnaviv: fix external abort seen on GC600 rev 0x19
    - drm/dp_mst: Don't return error code when crtc is null
    - drm/modeset-lock: Take the modeset BKL for legacy drivers
    - drm/amdgpu: Fix buffer overflow in INFO ioctl
    - drm/amd/display: use correct scale for actual_brightness
    - drm/amdgpu/gfx10: refine mgcg setting
    - drm/amd/powerplay: Fix hardmins not being sent to SMU for RV
    - drm/amd/pm: correct Vega10 swctf limit setting
    - drm/amd/pm: correct Vega12 swctf limit setting
    - drm/amd/pm: correct Vega20 swctf limit setting
    - drm/amd/pm: correct the thermal alert temperature limit settings
    - USB: yurex: Fix bad gfp argument
    - usb: uas: Add quirk for PNY Pro Elite
    - USB: quirks: Ignore duplicate endpoint on Sound Devices MixPre-D
    - USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge
    - usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe()
    - USB: gadget: u_f: add overflow checks to VLA macros
    - USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
    - USB: gadget: u_f: Unbreak offset calculation in VLAs
    - usb: dwc3: gadget: Don't setup more than requested
    - usb: dwc3: gadget: Fix handling ZLP
    - usb: dwc3: gadget: Handle ZLP for sg requests
    - USB: cdc-acm: rework notification_buffer resizing
    - usb: storage: Add unusual_uas entry for Sony PSZ drives
    - USB: Also match device drivers using the ->match vfunc
    - USB: Fix device driver race
    - usb: typec: ucsi: Fix AB BA lock inversion
    - usb: typec: ucsi: Fix 2 unlocked ucsi_run_command calls
    - usb: typec: ucsi: Rework ppm_lock handling
    - usb: typec: ucsi: Hold con->lock for the entire duration of
      ucsi_register_port()
    - usb: typec: tcpm: Fix Fix source hard reset response for TDA 2.3.1.1 and 
TDA
      2.3.1.2 failures
    - io_uring: don't recurse on tsk->sighand->siglock with signalfd
    - io_uring: don't use poll handler if file can't be nonblocking read/written
    - io_uring: make offset == -1 consistent with preadv2/pwritev2
    - drm/atomic-helper: reset vblank on crtc reset
    - fbmem: pull fbcon_update_vcs() out of fb_set_var()
    - mm/page_counter: fix various data races at memsw
    - HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage()
    - drm/vmwgfx/stdu: Use drm_mode_config_reset
    - drm/vmwgfx/sou: Use drm_mode_config_reset
    - drm/vmwgfx/ldu: Use drm_mode_config_reset
    - dma-pool: Fix an uninitialized variable bug in atomic_pool_expand()
    - ALSA: usb-audio: Update documentation comment for MS2109 quirk
    - Linux 5.8.6
    - [Config] GCC version update

  * DELL LATITUDE 5491 touchscreen doesn't work (LP: #1889446) // Groovy update:
    v5.8.6 upstream stable release (LP: #1894956)
    - USB: quirks: Add no-lpm quirk for another Raydium touchscreen

  * [NUC8CCHK][HDA-Intel - HDA Intel PCH, playback] No sound at all
    (LP: #1875199) // Groovy update: v5.8.6 upstream stable release
    (LP: #1894956)
    - ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged

  * CVE-2020-14386
    - net/packet: fix overflow in tpacket_rcv

  * dkms-build: downloads fail in private PPAs (LP: #1883874)
    - dkms-build: apt-cache policy elides username:password information

  * Groovy update: v5.8.5 upstream stable release (LP: #1893237)
    - gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY
    - net: Fix potential wrong skb->protocol in skb_vlan_untag()
    - net: nexthop: don't allow empty NHA_GROUP
    - net: qrtr: fix usage of idr in port assignment to socket
    - net/sched: act_ct: Fix skb double-free in tcf_ct_handle_fragments() error
      flow
    - net: sctp: Fix negotiation of the number of data streams.
    - net/smc: Prevent kernel-infoleak in __smc_diag_dump()
    - tipc: call rcu_read_lock() in tipc_aead_encrypt_done()
    - tipc: fix uninit skb->data in tipc_nl_compat_dumpit()
    - net: ena: Make missed_tx stat incremental
    - ethtool: Fix preserving of wanted feature bits in netlink interface
    - ethtool: Account for hw_features in netlink interface
    - ethtool: Don't omit the netlink reply if no features were changed
    - netlink: fix state reallocation in policy export
    - io_uring: fix missing ->mm on exit
    - binfmt_flat: revert "binfmt_flat: don't offset the data start"
    - Linux 5.8.5

  * Miscellaneous Ubuntu changes
    - [Config] Re-enable UEFI signing for arm64
    - SAUCE: Revert "UBUNTU: SAUCE: export __get_vm_area_caller() and
      map_kernel_range()"

 -- Seth Forshee <seth.fors...@canonical.com>  Tue, 22 Sep 2020 15:13:52
-0500

** Changed in: linux (Ubuntu Groovy)
       Status: In Progress => Fix Released

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2020-14386

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

Title:
  [Ubuntu 20.10] zPCI DMA tables and bitmap leak on hard unplug (PCI
  Event 0x0304)

Status in Ubuntu on IBM z Systems:
  In Progress
Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Focal:
  In Progress
Status in linux source package in Groovy:
  Fix Released

Bug description:
  SRU Justification:
  ==================

  [Impact]

  * Since zpci_dma_exit_device() is never called on a zPCI device there
  is a potential leaking in DMA tables and bitmaps.

  * This is because commit "s390/pci: adapt events for zbus" removed the
  zpci_disable_device() call for a zPCI event with PEC 0x0304 (means on
  hot unplug).

  * It is only not called on hot unplug with event type PEC 0x0304 - this is 
the one where Linux is informed the device is
  gone instead of being asked to deconfigure it.

  * It should also always leak them with that event type on an enabled
  device.

  [Fix]

  * afdf9550e54627fcf4dd609bdc1153059378cdf5 afdf9550e546 "s390/pci: fix
  leak of DMA tables on hard unplug"

  [Test Case]

  * Have an IBM Z LPAR, that has PCIe devices (like RoCE adapters)
  assigned and Ubuntu Server 20.04 installed.

  * Disable and re-enable one (or more) of the assigned PCIe cards
  (using hotplug) - on LPAR this can be triggered using the 'Reassign
  I/O Path' function at the HMC/SE.

  * Monitor DMA tables and bitmaps for any kind of leaking.

  * Since these tables are vmalloc-ed memory, it's sufficient to monitor
  via /proc/meminfo and see that reassigning back and forth of a device
  will have the memory usage grow continuously.

  * The test and verification needs to be conducted by IBM.

  [Regression Potential]

  * There regression risk can be considered as moderate, because:

  * only a call of zpci_disable_device(zdev) got reintroduced (and some
  comment lines).

  * Since __zpci_event_availability gets modified, the zPCI event
  handling could be scrud up,

  * which could cause issues regarding the availability of zPCI devices

  * and in worst case make zPCI devices unusable.

  * But only one switch case of the function is modified and all cases
  break, so only PEC 0x0304 should be affected.

  * And the code changes themselves are minimal, and the zPCI code is
  limited to the s390x architecture.

  * On top test kernels were built and shared for further testing.

  [Other]

  * Since this commit needs to land in groovy too, but groovy is still
  in development (hence the SRU process does not apply for groovy yet),
  I've sent a separate Patch request for groovy.

  __________

  Commit "s390/pci: adapt events for zbus" removed the
  zpci_disable_device() call for a zPCI event with PEC 0x0304 (hot
  unplug) because the device is already deconfigured by the platform.

  This however skips the Linux side of the disable in particular it leads
  to leaking the DMA tables and bitmaps because zpci_dma_exit_device() is
  never called on the device.

  This has been fixed in the following commit (currently in linux-next)

  afdf9550e54627fcf4dd609bdc1153059378cdf5 s390/pci: fix leak of DMA
  tables on hard unplug

  The commit re-introduces the zpci_disable_device() call as it was before the 
zbus introduction, for good measure I also added a comment to 
zpci_disable_device()
  to call out the fact that it may be called with the device disabled
  already.

  As the commit was introduced with the multi-function support
  this of course should go into both 20.10 and 20.04.

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