Linux Kernel 5.4.102 Release
Posted on In Linux, Linux KernelThis post summarizes Linux Kernel new features, bugfixes and changes in Linux 5.4.102 Release. Linux 5.4.102 Release contains 338 changes, patches or new features.
In total, there are 160,715 lines of Linux source code changed/added in Linux 5.4.102 release compared to Linux 5.4 release. To view the source code of Linux 5.4.102 kernel release online, please check the linux-stable tree for Linux 5.4.102. If you would like to download the release package for Linux 5.4.102, please click: Linux 5.4.102. To download the patchset for Linux 5.4.102 release, please click: Linux 5.4.102 patch.
All changes in this Linux release are as follows.
- Linux 5.4.102
- ARM: dts: aspeed: Add LCLK to lpc-snoop
- net: qrtr: Fix memory leak in qrtr_tun_open
- dm era: Update in-core bitset after committing the metadata
- net: sched: fix police ext initialization
- net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending
- ipv6: silence compilation warning for non-IPV6 builds
- ipv6: icmp6: avoid indirect call for icmpv6_send()
- xfrm: interface: use icmp_ndo_send helper
- sunvnet: use icmp_ndo_send helper
- gtp: use icmp_ndo_send helper
- icmp: allow icmpv6_ndo_send to work with CONFIG_IPV6=n
- icmp: introduce helper for nat’d source address in network device context
- drm/i915: Reject 446-480MHz HDMI clock on GLK
- dm era: only resize metadata in preresume
- dm era: Reinitialize bitset cache before digesting a new writeset
- dm era: Use correct value size in equality function of writeset tree
- dm era: Fix bitset memory leaks
- dm era: Verify the data block size hasn’t changed
- dm era: Recover committed writeset after crash
- dm writecache: fix writing beyond end of underlying device when shrinking
- dm: fix deadlock when swapping to encrypted device
- gfs2: Recursive gfs2_quota_hold in gfs2_iomap_end
- gfs2: Don’t skip dlm unlock if glock has an lvb
- spi: spi-synquacer: fix set_cs handling
- sparc32: fix a user-triggerable oops in clear_user()
- f2fs: fix out-of-repair __setattr_copy()
- um: mm: check more comprehensively for stub changes
- virtio/s390: implement virtio-ccw revision 2 correctly
- s390/vtime: fix inline assembly clobber list
- cpufreq: intel_pstate: Get per-CPU max freq via MSR_HWP_CAPABILITIES if available
- printk: fix deadlock when kernel panic
- gpio: pcf857x: Fix missing first interrupt
- spmi: spmi-pmic-arb: Fix hw_irq overflow
- powerpc/32s: Add missing call to kuep_lock on syscall entry
- mmc: sdhci-esdhc-imx: fix kernel panic when remove module
- module: Ignore _GLOBAL_OFFSETTABLE when warning for undefined symbols
- media: smipcie: fix interrupt handling and IR timeout
- arm64: Extend workaround for erratum 1024718 to all versions of Cortex-A55
- hugetlb: fix copy_huge_page_from_user contig page struct assumption
- hugetlb: fix update_and_free_page contig page struct assumption
- x86: fix seq_file iteration for pat/memtype.c
- seq_file: document how per-entry resources are managed.
- fs/affs: release old buffer head on error path
- mtd: spi-nor: hisi-sfc: Put child node np on error path
- mtd: spi-nor: core: Add erase size check for erase command initialization
- mtd: spi-nor: core: Fix erase type discovery for overlaid region
- mtd: spi-nor: sfdp: Fix wrong erase type bitmask for overlaid region
- mtd: spi-nor: sfdp: Fix last erase region marking
- watchdog: mei_wdt: request stop on unregister
- watchdog: qcom: Remove incorrect usage of QCOM_WDT_ENABLE_IRQ
- arm64: uprobe: Return EOPNOTSUPP for AARCH32 instruction probing
- arm64: kexec_file: fix memory leakage in create_dtb() when fdt_open_into() fails
- floppy: reintroduce O_NDELAY fix
- rcu/nocb: Perform deferred wake up before last idle’s need_resched() check
- rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers
- powerpc/prom: Fix “ibm,arch-vec-5-platform-support” scan
- x86/reboot: Force all cpus to exit VMX root if VMX is supported
- x86/virt: Eat faults on VMXOFF in reboot flows
- media: ipu3-cio2: Fix mbus_code processing in cio2_subdev_set_fmt()
- staging: rtl8188eu: Add Edimax EW-7811UN V2 to device table
- staging: gdm724x: Fix DMA from stack
- staging/mt7621-dma: mtk-hsdma.c->hsdma-mt7621.c
- dts64: mt7622: fix slow sd card access
- pstore: Fix typo in compression option name
- drivers/misc/vmw_vmci: restrict too big queue size in qp_host_alloc_queue
- misc: rtsx: init of rts522a add OCP power off when no card is present
- seccomp: Add missing return in non-void function
- crypto: sun4i-ss – initialize need_fallback
- crypto: sun4i-ss – handle BigEndian for cipher
- crypto: sun4i-ss – checking sg length is not sufficient
- crypto: aesni – prevent misaligned buffers on the stack
- crypto: arm64/sha – add missing module aliases
- btrfs: fix extent buffer leak on failure to copy root
- btrfs: splice remaining dirty_bg’s onto the transaction dirty bg list
- btrfs: fix reloc root leak with 0 ref reloc roots on recovery
- btrfs: abort the transaction if we fail to inc ref in btrfs_copy_root
- KEYS: trusted: Fix migratable=1 failing
- tpm_tis: Clean up locality release
- tpm_tis: Fix check_locality for correct locality acquisition
- erofs: initialized fields can only be observed after bit is set
- drm/sched: Cancel and flush all outstanding jobs before finish.
- drm/nouveau/kms: handle mDP connectors
- drm/amdgpu: Set reference clock to 100Mhz on Renoir (v2)
- drm/amd/display: Add vupdate_no_lock interrupts for DCN2.1
- bcache: Move journal work to new flush wq
- bcache: Give btree_io_wq correct semantics again
- Revert “bcache: Kill btree_io_wq”
- ALSA: hda/realtek: modify EAPD in the ALC886
- ALSA: hda: Add another CometLake-H PCI ID
- USB: serial: mos7720: fix error code in mos7720_write()
- USB: serial: mos7840: fix error code in mos7840_write()
- USB: serial: ftdi_sio: fix FTX sub-integer prescaler
- usb: dwc3: gadget: Fix dep->interval for fullspeed interrupt
- usb: dwc3: gadget: Fix setting of DEPCFG.bInterval_m1
- usb: musb: Fix runtime PM race in musb_queue_resume_work
- USB: serial: option: update interface mapping for ZTE P685M
- media: mceusb: Fix potential out-of-bounds shift
- Input: i8042 – add ASUS Zenbook Flip to noselftest list
- Input: joydev – prevent potential read overflow in ioctl
- Input: xpad – add support for PowerA Enhanced Wired Controller for Xbox Series X|S
- Input: raydium_ts_i2c – do not send zero length
- HID: wacom: Ignore attempts to overwrite the touch_max value from HID
- HID: logitech-dj: add support for keyboard events in eQUAD step 4 Gaming
- ACPI: configfs: add missing check after configfs_register_default_group()
- ACPI: property: Fix fwnode string properties matching
- blk-settings: align max_sectors on “logical_block_size” boundary
- scsi: bnx2fc: Fix Kconfig warning & CNIC build errors
- mm/rmap: fix potential pte_unmap on an not mapped pte
- i2c: brcmstb: Fix brcmstd_send_i2c_cmd condition
- arm64: Add missing ISB after invalidating TLB in __primary_switch
- r8169: fix jumbo packet handling on RTL8168e
- mm/compaction: fix misbehaviors of fast_find_migrateblock()
- mm/hugetlb: fix potential double free in hugetlb_register_node() error path
- mm/memory.c: fix potential pte_unmap_unlock pte error
- ocfs2: fix a use after free on error
- vxlan: move debug check after netdev unregister
- net/mlx4_core: Add missed mlx4_free_cmd_mailbox()
- vfio/type1: Use follow_pte()
- i40e: Fix add TC filter for IPv6
- i40e: Fix VFs not created
- i40e: Fix addition of RX filters after enabling FW LLDP agent
- i40e: Fix overwriting flow control settings during driver loading
- i40e: Add zero-initialization of AQ command structures
- i40e: Fix flow for IPv6 next header (extension header)
- regmap: sdw: use _no_pm functions in regmap_read/write
- nvmem: core: skip child nodes not matching binding
- nvmem: core: Fix a resource leak on error in nvmem_add_cells_from_of()
- ext4: fix potential htree index checksum corruption
- vfio/iommu_type1: Fix some sanity checks in detach group
- drm/msm/mdp5: Fix wait-for-commit for cmd panels
- drm/msm/dsi: Correct io_start for MSM8994 (20nm PHY)
- mei: hbm: call mei_set_devstate() on hbm stop response
- PCI: Align checking of syscall user config accessors
- VMCI: Use set_page_dirty_lock() when unregistering guest memory
- pwm: rockchip: rockchip_pwm_probe(): Remove superfluous clk_unprepare()
- soundwire: cadence: fix ACK/NAK handling
- misc: eeprom_93xx46: Add module alias to avoid breaking support for non device tree users
- phy: rockchip-emmc: emmc_phy_init() always return 0
- misc: eeprom_93xx46: Fix module alias to enable module autoprobe
- sparc64: only select COMPAT_BINFMT_ELF if BINFMT_ELF is set
- Input: elo – fix an error code in elo_connect()
- perf test: Fix unaligned access in sample parsing test
- perf intel-pt: Fix premature IPC
- perf intel-pt: Fix missing CYC processing in PSB
- Input: sur40 – fix an error code in sur40_probe()
- RDMA/hns: Fixes missing error code of CMDQ
- nfsd: register pernet ops last, unregister first
- clk: aspeed: Fix APLL calculate formula from ast2600-A2
- regulator: qcom-rpmh: fix pm8009 ldo7
- spi: pxa2xx: Fix the controller numbering for Wildcat Point
- RDMA/hns: Fix type of sq_signal_bits
- RDMA/siw: Fix calculation of tx_valid_cpus size
- RDMA/hns: Fixed wrong judgments in the goto branch
- clk: qcom: gcc-msm8998: Fix Alpha PLL type for all GPLLs
- powerpc/8xx: Fix software emulation interrupt
- powerpc/pseries/dlpar: handle ibm, configure-connector delay status
- mfd: wm831x-auxadc: Prevent use after free in wm831x_auxadc_read_irq()
- spi: stm32: properly handle 0 byte transfer
- RDMA/rxe: Correct skb on loopback path
- RDMA/rxe: Fix coding error in rxe_rcv_mcast_pkt
- RDMA/rxe: Fix coding error in rxe_recv.c
- perf vendor events arm64: Fix Ampere eMag event typo
- perf tools: Fix DSO filtering when not finding a map for a sampled address
- tracepoint: Do not fail unregistering a probe due to memory failure
- IB/cm: Avoid a loop when device has 255 ports
- IB/mlx5: Return appropriate error code instead of ENOMEM
- amba: Fix resource leak for drivers without .remove
- i2c: qcom-geni: Store DMA mapping data in geni_i2c_dev struct
- ARM: 9046/1: decompressor: Do not clear SCTLR.nTLSMD for ARMv7+ cores
- mmc: renesas_sdhi_internal_dmac: Fix DMA buffer alignment from 8 to 128-bytes
- mmc: usdhi6rol0: Fix a resource leak in the error handling path of the probe
- mmc: sdhci-sprd: Fix some resource leaks in the remove function
- powerpc/47x: Disable 256k page size
- KVM: PPC: Make the VMX instruction emulation routines static
- IB/umad: Return EPOLLERR in case of when device disassociated
- IB/umad: Return EIO in case of when device disassociated
- objtool: Fix “.cold” section suffix check for newer versions of GCC
- objtool: Fix error handling for STD/CLD warnings
- auxdisplay: ht16k33: Fix refresh rate handling
- isofs: release buffer head before return
- regulator: core: Avoid debugfs: Directory … already present! error
- regulator: s5m8767: Drop regulators OF node reference
- spi: atmel: Put allocated master before return
- regulator: s5m8767: Fix reference count leak
- certs: Fix blacklist flag type confusion
- regulator: axp20x: Fix reference cout leak
- clk: sunxi-ng: h6: Fix clock divider range on some clocks
- RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation
- clocksource/drivers/mxs_timer: Add missing semicolon when DEBUG is defined
- clocksource/drivers/ixp4xx: Select TIMER_OF when needed
- rtc: s5m: select REGMAP_I2C
- power: reset: at91-sama5d2_shdwc: fix wkupdbc mask
- of/fdt: Make sure no-map does not remove already reserved regions
- fdt: Properly handle “no-map” field in the memory region
- mfd: bd9571mwv: Use devm_mfd_add_devices()
- dmaengine: hsu: disable spurious interrupt
- dmaengine: owl-dma: Fix a resource leak in the remove function
- dmaengine: fsldma: Fix a resource leak in an error handling path of the probe function
- dmaengine: fsldma: Fix a resource leak in the remove function
- RDMA/siw: Fix handling of zero-sized Read and Receive Queues.
- HID: core: detect and skip invalid inputs to snto32()
- clk: sunxi-ng: h6: Fix CEC clock
- spi: cadence-quadspi: Abort read if dummy cycles required are too many
- i2c: iproc: handle master read request
- i2c: iproc: update slave isr mask (ISR_MASK_SLAVE)
- i2c: iproc: handle only slave interrupts which are enabled
- quota: Fix memory leak when handling corrupted quota file
- selftests/powerpc: Make the test check in eeh-basic.sh posix compliant
- clk: meson: clk-pll: propagate the error from meson_clk_pll_set_rate()
- clk: meson: clk-pll: make “ret” a signed integer
- clk: meson: clk-pll: fix initializing the old rate (fallback) for a PLL
- HSI: Fix PM usage counter unbalance in ssi_hw_init
- capabilities: Don’t allow writing ambiguous v3 file capabilities
- ubifs: Fix error return code in alloc_wbufs()
- ubifs: Fix memleak in ubifs_init_authentication
- jffs2: fix use after free in jffs2_sum_write_data()
- fs/jfs: fix potential integer overflow on shift of a int
- ASoC: simple-card-utils: Fix device module clock
- ima: Free IMA measurement buffer after kexec syscall
- ima: Free IMA measurement buffer on error
- crypto: ecdh_helper – Ensure ‘len >= secret.len’ in decode_key()
- hwrng: timeriomem – Fix cooldown period calculation
- btrfs: clarify error returns values in __load_free_space_cache
- ASoC: SOF: debug: Fix a potential issue on string buffer termination
- Drivers: hv: vmbus: Avoid use-after-free in vmbus_onoffer_rescind()
- f2fs: fix a wrong condition in __submit_bio
- drm/amdgpu: Prevent shift wrapping in amdgpu_read_mask()
- f2fs: fix to avoid inconsistent quota data
- mtd: parsers: afs: Fix freeing the part name memory in failure
- ASoC: cpcap: fix microphone timeslot mask
- ata: ahci_brcm: Add back regulators management
- drm/nouveau: bail out of nouveau_channel_new if channel init fails
- crypto: talitos – Work around SEC6 ERRATA (AES-CTR mode data size error)
- mtd: parser: imagetag: fix error codes in bcm963xx_parse_imagetag_partitions()
- sched/eas: Don’t update misfit status if the task is pinned
- media: uvcvideo: Accept invalid bFormatIndex and bFrameIndex values
- media: pxa_camera: declare variable when DEBUG is defined
- media: cx25821: Fix a bug when reallocating some dma memory
- media: qm1d1c0042: fix error return code in qm1d1c0042_init()
- media: lmedm04: Fix misuse of comma
- media: software_node: Fix refcounts in software_node_get_next_child()
- drm/amd/display: Fix HDMI deep color output for DCE 6-11.
- drm/amd/display: Fix 10/12 bpc setup in DCE output bit depth reduction.
- bsg: free the request before return error code
- MIPS: properly stop .eh_frame generation
- drm/sun4i: tcon: fix inverted DCLK polarity
- crypto: bcm – Rename struct device_private to bcm_device_private
- evm: Fix memleak in init_desc
- ASoC: cs42l56: fix up error handling in probe
- media: aspeed: fix error return code in aspeed_video_setup_video()
- media: tm6000: Fix memleak in tm6000_start_stream
- media: media/pci: Fix memleak in empress_init
- media: em28xx: Fix use-after-free in em28xx_alloc_urbs
- media: vsp1: Fix an error handling path in the probe function
- media: camss: missing error code in msm_video_register()
- media: imx: Fix csc/scaler unregister
- media: imx: Unregister csc/scaler only if registered
- media: i2c: ov5670: Fix PIXEL_RATE minimum value
- MIPS: lantiq: Explicitly compare LTQ_EBU_PCC_ISTAT against 0
- MIPS: c-r4k: Fix section mismatch for loongson2_sc_init
- drm/amdgpu: Fix macro name _AMDGPU_TRACEH in preprocessor if condition
- crypto: arm64/aes-ce – really hide slower algos when faster ones are enabled
- crypto: sun4i-ss – fix kmap usage
- crypto: sun4i-ss – linearize buffers content must be kept
- drm/fb-helper: Add missed unlocks in setcmap_legacy()
- gma500: clean up error handling in init
- drm/gma500: Fix error return code in psb_driver_load()
- fbdev: aty: SPARC64 requires FB_ATY_CT
- net: mvneta: Remove per-cpu queue mapping for Armada 3700
- net: amd-xgbe: Fix network fluctuations when using 1G BELFUSE SFP
- net: amd-xgbe: Reset link when the link never comes back
- net: amd-xgbe: Fix NETDEV WATCHDOG transmit queue timeout warning
- net: amd-xgbe: Reset the PHY rx data path when mailbox command timeout
- ibmvnic: skip send_request_unmap for timeout reset
- ibmvnic: add memory barrier to protect long term buffer
- b43: N-PHY: Fix the update of coef for the PHY revision >= 3case
- cxgb4/chtls/cxgbit: Keeping the max ofld immediate data size same in cxgb4 and ulds
- net: axienet: Handle deferred probe on clock properly
- tcp: fix SO_RCVLOWAT related hangs under mem pressure
- bpf: Fix bpf_fib_lookup helper MTU check for SKB ctx
- mac80211: fix potential overflow when multiplying to u32 integers
- xen/netback: fix spurious event detection for common event case
- bnxt_en: reverse order of TX disable and carrier off
- ibmvnic: Set to CLOSED state even on error
- ath9k: fix data bus crash when setting nf_override via debugfs
- bpf_lru_list: Read double-checked variable once without lock
- soc: aspeed: snoop: Add clock control logic
- ARM: s3c: fix fiq for clang IAS
- arm64: dts: msm8916: Fix reserved and rfsa nodes unit address
- Bluetooth: btusb: Fix memory leak in btusb_mtk_wmt_recv
- arm64: dts: armada-3720-turris-mox: rename u-boot mtd partition to a53-firmware
- ARM: dts: armada388-helios4: assign pinctrl to each fan
- ARM: dts: armada388-helios4: assign pinctrl to LEDs
- staging: rtl8723bs: wifi_regd.c: Fix incorrect number of regulatory rules
- usb: dwc2: Make “trimming xfer length” a debug message
- usb: dwc2: Abort transaction after errors with unknown reason
- usb: dwc2: Do not update data length if it is 0 on inbound transfers
- ARM: dts: Configure missing thermal interrupt for 4430
- memory: ti-aemif: Drop child node when jumping out loop
- Bluetooth: Put HCI device if inquiry procedure interrupts
- Bluetooth: drop HCI device reference before return
- usb: gadget: u_audio: Free requests only after callback
- ACPICA: Fix exception code class checks
- cpufreq: brcmstb-avs-cpufreq: Fix resource leaks in ->remove()
- cpufreq: brcmstb-avs-cpufreq: Free resources in error path
- arm64: dts: allwinner: A64: Limit MMC2 bus frequency to 150 MHz
- arm64: dts: allwinner: H6: Allow up to 150 MHz MMC bus frequency
- arm64: dts: allwinner: Drop non-removable from SoPine/LTS SD card
- arm64: dts: allwinner: H6: properly connect USB PHY to port 0
- arm64: dts: allwinner: A64: properly connect USB PHY to port 0
- bpf: Avoid warning when re-casting bpf_call_base into bpf_call_base_args
- bpf: Add bpf_patch_call_args prototype to include/linux/bpf.h
- memory: mtk-smi: Fix PM usage counter unbalance in mtk_smi ops
- arm64: dts: exynos: correct PMIC interrupt trigger level on Espresso
- arm64: dts: exynos: correct PMIC interrupt trigger level on TM2
- ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid XU3 family
- ARM: dts: exynos: correct PMIC interrupt trigger level on Arndale Octa
- ARM: dts: exynos: correct PMIC interrupt trigger level on Spring
- ARM: dts: exynos: correct PMIC interrupt trigger level on Rinato
- ARM: dts: exynos: correct PMIC interrupt trigger level on Monk
- ARM: dts: exynos: correct PMIC interrupt trigger level on Artik 5
- Bluetooth: Fix initializing response id after clearing struct
- Bluetooth: hci_uart: Fix a race for write_work scheduling
- Bluetooth: btqcomsmd: Fix a resource leak in error handling paths in the probe function
- ath10k: Fix error handling in case of CE pipe init failure
- random: fix the RNDRESEEDCRNG ioctl
- MIPS: vmlinux.lds.S: add missing PAGE_ALIGNED_DATA() section
- ALSA: usb-audio: Fix PCM buffer allocation in non-vmalloc mode
- bfq: Avoid false bfq queue merging
- virt: vbox: Do not use wait_event_interruptible when called from kernel context
- PCI: Decline to resize resources if boot config must be preserved
- PCI: qcom: Use PHY_REFCLK_USE_PAD only for ipq8064
- kdb: Make memory allocations more robust
- debugfs: do not attempt to create a new file before the filesystem is initalized
- debugfs: be more robust at handling improper input in debugfs_lookup()
- kvm: x86: replace kvm_spec_ctrl_test_value with runtime test on the host
- vmlinux.lds.h: add DWARF v5 sections