* refs/heads/tmp-75c93eb:
Revert one chunk from 37432a83fa commit
Revert "rpmsg: glink: Use complete_all for open states"
ANDROID: Incremental fs: Fix selinux issues
ANDROID: Incremental fs: Set credentials before reading/writing
ANDROID: Incremental fs: Fix memory leak on closing file
ANDROID: GKI: update Sony KMI symbol list
ANDROID: ABI updates for db845c (enabling wifi)
ANDROID: db845c_gki.fragment: Enable wifi on db845c w/ android-5.4
UPSTREAM: arm64: dts: qcom: sdm845: Add APSS watchdog node
UPSTREAM: arm64: dts: qcom: db845c: Move remoteproc firmware to sdm845
UPSTREAM: ath10k: qmi: Sleep for a while before assigning MSA memory
UPSTREAM: soc: qcom: qmi: Return EPROBE_DEFER if no address family
ANDROID: ABI: Update allowed list for QCOM
ANDROID: GKI: update Sony symbol list for texfat
ANDROID: GKI: update KMI for db845c with idr_alloc_u32 added
ANDROID: ABI: Update allowed list for QCOM
ANDROID: ABI: update allowed list for QCOM
Revert "media: v4l2-fwnode: Return -EINVAL for invalid bus-type"
Revert "seq_buf: Avoid type mismatch for seq_buf_init"
Linux 5.4.86
x86/CPU/AMD: Save AMD NodeId as cpu_die_id
Revert: "ring-buffer: Remove HAVE_64BIT_ALIGNED_ACCESS"
rtc: ep93xx: Fix NULL pointer dereference in ep93xx_rtc_read_time
regulator: axp20x: Fix DLDO2 voltage control register mask for AXP22x
PCI: Fix pci_slot_release() NULL pointer dereference
platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12
libnvdimm/namespace: Fix reaping of invalidated block-window-namespace labels
xenbus/xenbus_backend: Disallow pending watch messages
xen/xenbus: Count pending messages for each watch
xen/xenbus/xen_bus_type: Support will_handle watch callback
xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path()
xen/xenbus: Allow watches discard events before queueing
xen-blkback: set ring->xenblkd to NULL after kthread_stop()
dma-buf/dma-resv: Respect num_fences when initializing the shared fence list.
device-dax/core: Fix memory leak when rmmod dax.ko
clk: tegra: Do not return 0 on failure
clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
clk: ingenic: Fix divider calculation with div tables
pinctrl: sunxi: Always call chained_irq_{enter, exit} in sunxi_pinctrl_irq_handler
md/cluster: fix deadlock when node is doing resync job
md/cluster: block reshape with remote resync job
iio:adc:ti-ads124s08: Fix alignment and data leak issues.
iio:adc:ti-ads124s08: Fix buffer being too long.
iio:imu:bmi160: Fix too large a buffer.
iio:pressure:mpl3115: Force alignment of buffer
iio:magnetometer:mag3110: Fix alignment and data leak issues.
iio:light:st_uvis25: Fix timestamp alignment and prevent data leak.
iio:light:rpr0521: Fix timestamp alignment and prevent data leak.
iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
iio: buffer: Fix demux update
scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free()
scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc()
scsi: qla2xxx: Fix crash during driver load on big endian machines
mtd: rawnand: meson: fix meson_nfc_dma_buffer_release() arguments
mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read
mtd: parser: cmdline: Fix parsing of part-names with colons
mtd: spinand: Fix OOB read
soc: qcom: smp2p: Safely acquire spinlock without IRQs
spi: atmel-quadspi: Fix AHB memory accesses
spi: atmel-quadspi: Disable clock in probe error path
spi: mt7621: Don't leak SPI master in probe error path
spi: mt7621: Disable clock in probe error path
spi: synquacer: Disable clock in probe error path
spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path
spi: sc18is602: Don't leak SPI master in probe error path
spi: rb4xx: Don't leak SPI master in probe error path
spi: pic32: Don't leak DMA channels in probe error path
spi: mxic: Don't leak SPI master in probe error path
spi: gpio: Don't leak SPI master in probe error path
spi: fsl: fix use of spisel_boot signal on MPC8309
spi: davinci: Fix use-after-free on unbind
spi: atmel-quadspi: Fix use-after-free on unbind
spi: spi-sh: Fix use-after-free on unbind
spi: pxa2xx: Fix use-after-free on unbind
drm/i915: Fix mismatch between misplaced vma check and vma insert
drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor()
drm/amd/display: Fix memory leaks in S3 resume
platform/x86: mlx-platform: remove an unused variable
jfs: Fix array index bounds check in dbAdjTree
jffs2: Fix ignoring mounting options problem during remounting
jffs2: Fix GC exit abnormally
ubifs: wbuf: Don't leak kernel memory to flash
SMB3: avoid confusing warning message on mount to Azure
ceph: fix race in concurrent __ceph_remove_cap invocations
um: Remove use of asprinf in umid.c
ima: Don't modify file descriptor mode on the fly
powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently
powerpc/powernv/memtrace: Don't leak kernel memory to user space
powerpc/powernv/npu: Do not attempt NPU2 setup on POWER8NVL NPU
powerpc/mm: Fix verification of MMU_FTR_TYPE_44x
powerpc/8xx: Fix early debug when SMC1 is relocated
powerpc/xmon: Change printk() to pr_cont()
powerpc/feature: Add CPU_FTR_NOEXECUTE to G2_LE
powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter
powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at
xprtrdma: Fix XDRBUF_SPARSE_PAGES support
ARM: dts: at91: sama5d2: fix CAN message ram offset and size
ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES
KVM: arm64: Introduce handling of AArch32 TTBCR2 traps
ext4: fix deadlock with fs freezing and EA inodes
ext4: fix a memory leak of ext4_free_data
btrfs: trim: fix underflow in trim length to prevent access beyond device boundary
btrfs: do not shorten unpin len for caching block groups
USB: serial: keyspan_pda: fix write unthrottling
USB: serial: keyspan_pda: fix tx-unthrottle use-after-free
USB: serial: keyspan_pda: fix write-wakeup use-after-free
USB: serial: keyspan_pda: fix stalled writes
USB: serial: keyspan_pda: fix write deadlock
USB: serial: keyspan_pda: fix dropped unthrottle interrupts
USB: serial: digi_acceleport: fix write-wakeup deadlocks
USB: serial: mos7720: fix parallel-port state restore
cpuset: fix race between hotplug work and later CPU offline
EDAC/amd64: Fix PCI component registration
EDAC/i10nm: Use readl() to access MMIO registers
crypto: arm/aes-ce - work around Cortex-A57/A72 silion errata
crypto: ecdh - avoid unaligned accesses in ecdh_set_secret()
powerpc/perf: Exclude kernel samples while counting events in user space.
perf/x86/intel: Fix rtm_abort_event encoding on Ice Lake
perf/x86/intel: Add event constraint for CYCLE_ACTIVITY.STALLS_MEM_ANY
staging: comedi: mf6x4: Fix AI end-of-conversion detection
ASoC: cx2072x: Fix doubly definitions of Playback and Capture streams
binder: add flag to clear buffer on txn complete
s390/dasd: fix list corruption of lcu list
s390/dasd: fix list corruption of pavgroup group list
s390/dasd: prevent inconsistent LCU device data
s390/dasd: fix hanging device offline processing
s390/kexec_file: fix diag308 subcode when loading crash kernel
s390/smp: perform initial CPU reset also for SMT siblings
ALSA: core: memalloc: add page alignment for iram
ALSA: usb-audio: Disable sample read check if firmware doesn't give back
ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices
ALSA: hda/realtek: Apply jack fixup for Quanta NL3
ALSA: hda/realtek: Add quirk for MSI-GP73
ALSA/hda: apply jack fixup for the Acer Veriton N4640G/N6640G/N2510G
ALSA: pcm: oss: Fix a few more UBSAN fixes
ALSA: hda/realtek - Add supported for more Lenovo ALC285 Headset Button
ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255
ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256
ALSA: hda/realtek: make bass spk volume adjustable on a yoga laptop
ALSA: hda/ca0132 - Fix AE-5 rear headphone pincfg.
ALSA: hda: Fix regressions on clear and reconfig sysfs
ACPI: PNP: compare the string length in the matching_id()
Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks"
PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup()
ALSA: hda/ca0132 - Change Input Source enum strings.
Input: cyapa_gen6 - fix out-of-bounds stack access
media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE
media: ipu3-cio2: Validate mbus format in setting subdev format
media: ipu3-cio2: Serialise access to pad format
media: ipu3-cio2: Return actual subdev format
media: ipu3-cio2: Remove traces of returned buffers
media: netup_unidvb: Don't leak SPI master in probe error path
media: sunxi-cir: ensure IR is handled when it is continuous
media: gspca: Fix memory leak in probe
vfio/pci/nvlink2: Do not attempt NPU2 setup on POWER8NVL NPU
Input: goodix - add upside-down quirk for Teclast X98 Pro tablet
initramfs: fix clang build failure
Input: cros_ec_keyb - send 'scancodes' in addition to key events
drm/amdkfd: Fix leak in dmabuf import
drm/amd/display: Prevent bandwidth overflow
lwt: Disable BH too in run_lwt_bpf()
fix namespaced fscaps when !CONFIG_SECURITY
cfg80211: initialize rekey_data
ARM: sunxi: Add machine match for the Allwinner V3 SoC
perf probe: Fix memory leak when synthesizing SDT probes
kconfig: fix return value of do_error_if()
clk: sunxi-ng: Make sure divider tables have sentinel
clk: s2mps11: Fix a resource leak in error handling paths in the probe function
clk: at91: sam9x60: remove atmel,osc-bypass support
virtio_ring: Fix two use after free bugs
virtio_net: Fix error code in probe()
virtio_ring: Cut and paste bugs in vring_create_virtqueue_packed()
qlcnic: Fix error code in probe
perf record: Fix memory leak when using '--user-regs=?' to list registers
pwm: lp3943: Dynamically allocate PWM chip base
pwm: zx: Add missing cleanup in error path
clk: ti: Fix memleak in ti_fapll_synth_setup
watchdog: coh901327: add COMMON_CLK dependency
watchdog: qcom: Avoid context switch in restart handler
libnvdimm/label: Return -ENXIO for no slot in __blk_label_update
net: korina: fix return value
net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function
net: bcmgenet: Fix a resource leak in an error handling path in the probe functin
lan743x: fix rx_napi_poll/interrupt ping-pong
checkpatch: fix unescaped left brace
mm: don't wake kswapd prematurely when watermark boosting is disabled
sparc: fix handling of page table constructor failure
powerpc/ps3: use dma_mapping_error()
nfc: s3fwrn5: Release the nfc firmware
RDMA/cma: Don't overwrite sgid_attr after device is released
sunrpc: fix xs_read_xdr_buf for partial pages receive
um: chan_xterm: Fix fd leak
um: tty: Fix handling of close in tty lines
um: Monitor error events in IRQ controller
ubifs: Fix error return code in ubifs_init_authentication()
watchdog: Fix potential dereferencing of null pointer
watchdog: sprd: check busy bit before new loading rather than after that
watchdog: sprd: remove watchdog disable from resume fail path
watchdog: sirfsoc: Add missing dependency on HAS_IOMEM
watchdog: armada_37xx: Add missing dependency on HAS_IOMEM
irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control()
mac80211: don't set set TDLS STA bandwidth wider than possible
crypto: atmel-i2c - select CONFIG_BITREVERSE
extcon: max77693: Fix modalias string
mtd: rawnand: gpmi: Fix the random DMA timeout issue
mtd: rawnand: meson: Fix a resource leak in init
mtd: rawnand: gpmi: fix reference count leak in gpmi ops
clk: tegra: Fix duplicated SE clock entry
remoteproc: qcom: Fix potential NULL dereference in adsp_init_mmio()
remoteproc: qcom: fix reference leak in adsp_start
remoteproc: q6v5-mss: fix error handling in q6v5_pds_enable
RDMA/core: Do not indicate device ready when device enablement fails
can: m_can: m_can_config_endisable(): remove double clearing of clock stop request bit
erofs: avoid using generic_block_bmap
iwlwifi: mvm: hook up missing RX handlers
s390/cio: fix use-after-free in ccw_device_destroy_console
bus: fsl-mc: fix error return code in fsl_mc_object_allocate()
platform/chrome: cros_ec_spi: Don't overwrite spi::mode
x86/kprobes: Restore BTF if the single-stepping is cancelled
nfs_common: need lock during iterate through the list
nfsd: Fix message level for normal termination
speakup: fix uninitialized flush_lock
usb: oxu210hp-hcd: Fix memory leak in oxu_create
usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe
powerpc/mm: sanity_check_fault() should work for all, not only BOOK3S
ASoC: amd: change clk_get() to devm_clk_get() and add missed checks
drm/mediatek: avoid dereferencing a null hdmi_phy on an error message
powerpc/pseries/hibernation: remove redundant cacheinfo update
powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops
platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx systems
scsi: fnic: Fix error return code in fnic_probe()
seq_buf: Avoid type mismatch for seq_buf_init
scsi: pm80xx: Fix error return in pm8001_pci_probe()
scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe
arm64: dts: meson: g12a: x96-max: fix PHY deassert timing requirements
ARM: dts: meson: fix PHY deassert timing requirements
arm64: dts: meson: fix PHY deassert timing requirements
Bluetooth: btmtksdio: Add the missed release_firmware() in mtk_setup_firmware()
Bluetooth: btusb: Add the missed release_firmware() in btusb_mtk_setup_firmware()
cpufreq: scpi: Add missing MODULE_ALIAS
cpufreq: loongson1: Add missing MODULE_ALIAS
cpufreq: sun50i: Add missing MODULE_DEVICE_TABLE
cpufreq: st: Add missing MODULE_DEVICE_TABLE
cpufreq: qcom: Add missing MODULE_DEVICE_TABLE
cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE
cpufreq: highbank: Add missing MODULE_DEVICE_TABLE
cpufreq: ap806: Add missing MODULE_DEVICE_TABLE
clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI
clocksource/drivers/arm_arch_timer: Use stable count reader in erratum sne
phy: renesas: rcar-gen3-usb2: disable runtime pm in case of failure
dm ioctl: fix error return code in target_message
ASoC: jz4740-i2s: add missed checks for clk_get()
net/mlx5: Properly convey driver version to firmware
MIPS: Don't round up kernel sections size for memblock_add()
memstick: r592: Fix error return in r592_probe()
arm64: dts: rockchip: Fix UART pull-ups on rk3328
pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe()
bpf: Fix bpf_put_raw_tracepoint()'s use of __module_address()
ARM: dts: at91: sama5d2: map securam as device
iio: hrtimer-trigger: Mark hrtimer to expire in hard interrupt context
clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent()
clocksource/drivers/orion: Add missing clk_disable_unprepare() on error path
powerpc/64: Fix an EMIT_BUG_ENTRY in head_64.S
powerpc/perf: Fix crash with is_sier_available when pmu is not set
media: saa7146: fix array overflow in vidioc_s_audio()
hwmon: (ina3221) Fix PM usage counter unbalance in ina3221_write_enable
vfio-pci: Use io_remap_pfn_range() for PCI IO memory
selftests/seccomp: Update kernel config
NFS: switch nfsiod to be an UNBOUND workqueue.
lockd: don't use interval-based rebinding over TCP
net: sunrpc: Fix 'snprintf' return value check in 'do_xprt_debugfs'
NFSv4: Fix the alignment of page data in the getdeviceinfo reply
SUNRPC: xprt_load_transport() needs to support the netid "rdma6"
NFSv4.2: condition READDIR's mask for security label based on LSM state
SUNRPC: rpc_wake_up() should wake up tasks in the correct order
ath10k: Release some resources in an error handling path
ath10k: Fix an error handling path
ath10k: Fix the parsing error in service available event
platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init
ARM: dts: at91: at91sam9rl: fix ADC triggers
soc: amlogic: canvas: add missing put_device() call in meson_canvas_get()
arm64: dts: meson-sm1: fix typo in opp table
arm64: dts: meson: fix spi-max-frequency on Khadas VIM2
PCI: iproc: Fix out-of-bound array accesses
PCI: Fix overflow in command-line resource alignment requests
PCI: Bounds-check command-line resource alignment requests
arm64: dts: qcom: c630: Polish i2c-hid devices
arm64: dts: ls1028a: fix ENETC PTP clock input
genirq/irqdomain: Don't try to free an interrupt that has no mapping
power: supply: bq24190_charger: fix reference leak
power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching
arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc
arm64: dts: armada-3720-turris-mox: update ethernet-phy handle name
ARM: dts: Remove non-existent i2c1 from 98dx3236
HSI: omap_ssi: Don't jump to free ID in ssi_add_controller()
slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI
media: max2175: fix max2175_set_csm_mode() error code
mips: cdmm: fix use-after-free in mips_cdmm_bus_discover
media: imx214: Fix stop streaming
samples: bpf: Fix lwt_len_hist reusing previous BPF map
platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration
platform/x86: mlx-platform: Remove PSU EEPROM from default platform configuration
media: siano: fix memory leak of debugfs members in smsdvb_hotplug
arm64: tegra: Fix DT binding for IO High Voltage entry
dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe()
cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
rsi: fix error return code in rsi_reset_card()
qtnfmac: fix error return code in qtnf_pcie_probe()
orinoco: Move context allocation after processing the skb
mmc: pxamci: Fix error return code in pxamci_probe
ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host
ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host
memstick: fix a double-free bug in memstick_check
RDMA/cxgb4: Validate the number of CQEs
clk: meson: Kconfig: fix dependency for G12A
Input: omap4-keypad - fix runtime PM error handling
drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe
soc: ti: Fix reference imbalance in knav_dma_probe
soc: ti: knav_qmss: fix reference leak in knav_queue_probe
spi: fix resource leak for drivers without .remove callback
crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe
crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd
EDAC/mce_amd: Use struct cpuinfo_x86.cpu_die_id for AMD NodeId
powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32
powerpc: Avoid broken GCC __attribute__((optimize))
selftests/bpf: Fix broken riscv build
spi: mxs: fix reference leak in mxs_spi_probe
usb/max3421: fix return error code in max3421_probe()
Input: ads7846 - fix unaligned access on 7845
Input: ads7846 - fix integer overflow on Rt calculation
Input: ads7846 - fix race that causes missing releases
drm/omap: dmm_tiler: fix return error code in omap_dmm_probe()
video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init()
media: solo6x10: fix missing snd_card_free in error handling case
scsi: core: Fix VPD LUN ID designator priorities
ASoC: meson: fix COMPILE_TEST error
media: v4l2-fwnode: Return -EINVAL for invalid bus-type
media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_enc_pm()
media: mtk-vcodec: add missing put_device() call in mtk_vcodec_release_dec_pm()
media: mtk-vcodec: add missing put_device() call in mtk_vcodec_init_dec_pm()
media: tm6000: Fix sizeof() mismatches
staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c
staging: greybus: codecs: Fix reference counter leak in error handling
crypto: qat - fix status check in qat_hal_put_rel_rd_xfer()
MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA
RDMa/mthca: Work around -Wenum-conversion warning
ASoC: arizona: Fix a wrong free in wm8997_probe
spi: sprd: fix reference leak in sprd_spi_remove
ASoC: wm8998: Fix PM disable depth imbalance on error
selftest/bpf: Add missed ip6ip6 test back
mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure
spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in bcm63xx_hsspi_resume
spi: tegra114: fix reference leak in tegra spi ops
spi: tegra20-sflash: fix reference leak in tegra_sflash_resume
spi: tegra20-slink: fix reference leak in slink ops of tegra20
spi: mt7621: fix missing clk_disable_unprepare() on error in mt7621_spi_probe
spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
Bluetooth: hci_h5: fix memory leak in h5_close
Bluetooth: Fix null pointer dereference in hci_event_packet()
arm64: dts: exynos: Correct psci compatible used on Exynos7
arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7
brcmfmac: Fix memory leak for unpaired brcmf_{alloc/free}
spi: stm32: fix reference leak in stm32_spi_resume
selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling
ASoC: pcm: DRAIN support reactivation
spi: spi-mem: fix reference leak in spi_mem_access_start
drm/msm/dsi_pll_10nm: restore VCO rate during restore_state
f2fs: call f2fs_get_meta_page_retry for nat page
spi: img-spfi: fix reference leak in img_spfi_resume
powerpc/64: Set up a kernel stack for secondaries before cpu_restore()
drm/amdgpu: fix build_coefficients() argument
ARM: dts: aspeed: tiogapass: Remove vuart
ASoC: sun4i-i2s: Fix lrck_period computation for I2S justified mode
crypto: inside-secure - Fix sizeof() mismatch
crypto: talitos - Fix return type of current_desc_hdr()
crypto: talitos - Endianess in current_desc_hdr()
drm/amdgpu: fix incorrect enum type
sched: Reenable interrupts in do_sched_yield()
sched/deadline: Fix sched_dl_global_validate()
x86/apic: Fix x2apic enablement without interrupt remapping
ARM: p2v: fix handling of LPAE translation in BE mode
x86/mm/ident_map: Check for errors from ident_pud_init()
RDMA/rxe: Compute PSN windows correctly
ARM: dts: aspeed: s2600wf: Fix VGA memory region location
selinux: fix error initialization in inode_doinit_with_dentry()
rtc: pcf2127: fix pcf2127_nvmem_read/write() returns
RDMA/bnxt_re: Set queue pair state when being queried
Revert "i2c: i2c-qcom-geni: Fix DMA transfer race"
soc: qcom: geni: More properly switch to DMA mode
soc: mediatek: Check if power domains can be powered on at boot time
soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains()
arm64: dts: renesas: cat875: Remove rxc-skew-ps from ethernet-phy node
arm64: dts: renesas: hihope-rzg2-ex: Drop rxc-skew-ps from ethernet-phy node
drm/tve200: Fix handling of platform_get_irq() error
drm/mcde: Fix handling of platform_get_irq() error
drm/aspeed: Fix Kconfig warning & subsequent build errors
drm/gma500: fix double free of gma_connector
md: fix a warning caused by a race between concurrent md_ioctl()s
crypto: af_alg - avoid undefined behavior accessing salg_name
media: msi2500: assign SPI bus number dynamically
quota: Sanity-check quota file headers on load
Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt()
serial_core: Check for port state when tty is in error state
HID: i2c-hid: add Vero K147 to descriptor override
scsi: megaraid_sas: Check user-provided offsets
coresight: etb10: Fix possible NULL ptr dereference in etb_enable_perf()
coresight: tmc-etr: Fix barrier packet insertion for perf buffer
coresight: tmc-etr: Check if page is valid before dma_map_page()
coresight: tmc-etf: Fix NULL ptr dereference in tmc_enable_etf_sink_perf()
ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU
ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410
ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU
usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul
USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
USB: gadget: f_midi: setup SuperSpeed Plus descriptors
USB: gadget: f_acm: add support for SuperSpeed Plus
USB: serial: option: add interface-number sanity check to flag handling
usb: mtu3: fix memory corruption in mtu3_debugfs_regset()
soc/tegra: fuse: Fix index bug in get_process_id
kbuild: avoid split lines in .mod files
perf/x86/intel: Check PEBS status correctly
drm/amd/display: Init clock value by current vbios CLKs
iwlwifi: pcie: add one missing entry for AX210
dm table: Remove BUG_ON(in_interrupt())
scsi: mpt3sas: Increase IOCInit request timeout to 30s
vxlan: Copy needed_tailroom from lowerdev
vxlan: Add needed_headroom for lower device
arm64: syscall: exit userspace before unmasking exceptions
habanalabs: put devices before driver removal
drm/tegra: sor: Disable clocks on error in tegra_sor_init()
kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling
drm/tegra: replace idr_init() by idr_init_base()
net: mvpp2: add mvpp2_phylink_to_port() helper
selftests: fix poll error in udpgro.sh
ixgbe: avoid premature Rx buffer reuse
i40e: avoid premature Rx buffer reuse
i40e: optimise prefetch page refcount
i40e: Refactor rx_bi accesses
RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait
selftests/bpf/test_offload.py: Reset ethtool features after failed setting
netfilter: nft_ct: Remove confirmation check for NFT_CT_ID
gpio: eic-sprd: break loop when getting NULL device resource
Revert "gpio: eic-sprd: Use devm_platform_ioremap_resource()"
afs: Fix memory leak when mounting with multiple source parameters
netfilter: nft_dynset: fix timeouts later than 23 days
netfilter: nft_compat: make sure xtables destructors have run
netfilter: x_tables: Switch synchronization to RCU
pinctrl: aspeed: Fix GPIO requests on pass-through banks
blk-mq: In blk_mq_dispatch_rq_list() "no budget" is a reason to kick
block: factor out requeue handling from dispatch code
block: Simplify REQ_OP_ZONE_RESET_ALL handling
clk: renesas: r9a06g032: Drop __packed for portability
can: softing: softing_netdev_open(): fix error handling
xsk: Replace datagram_poll by sock_poll_wait
xsk: Fix xsk_poll()'s return type
scsi: bnx2i: Requires MMU
gpio: mvebu: fix potential user-after-free on probe
gpio: zynq: fix reference leak in zynq_gpio functions
PM: runtime: Add pm_runtime_resume_and_get to deal with usage counter
ARM: dts: imx6qdl-kontron-samx6i: fix I2C_PM scl pin
ARM: dts: imx6qdl-wandboard-revd1: Remove PAD_GPIO_6 from enetgrp
ARM: dts: sun7i: pcduino3-nano: enable RGMII RX/TX delay on PHY
ARM: dts: sun8i: v3s: fix GIC node memory range
pinctrl: baytrail: Avoid clearing debounce value when turning it off
pinctrl: merrifield: Set default bias in case no particular value given
ARM: dts: sun8i: v40: bananapi-m2-berry: Fix ethernet node
ARM: dts: sun8i: r40: bananapi-m2-berry: Fix dcdc1 regulator
ARM: dts: sun7i: bananapi: Enable RGMII RX/TX delay on Ethernet PHY
Linux 5.4.85
x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled
x86/resctrl: Remove unused struct mbm_state::chunks_bw
membarrier: Explicitly sync remote cores when SYNC_CORE is requested
Revert "selftests/ftrace: check for do_sys_openat2 in user-memory test"
KVM: mmu: Fix SPTE encoding of MMIO generation upper half
serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access
ALSA: pcm: oss: Fix potential out-of-bounds shift
USB: sisusbvga: Make console support depend on BROKEN
USB: UAS: introduce a quirk to set no_write_same
xhci-pci: Allow host runtime PM as default for Intel Alpine Ridge LP
xhci: Give USB2 ports time to enter U3 in bus suspend
ALSA: usb-audio: Fix control 'access overflow' errors from chmap
ALSA: usb-audio: Fix potential out-of-bounds shift
USB: add RESET_RESUME quirk for Snapscan 1212
USB: dummy-hcd: Fix uninitialized array use in init()
ktest.pl: If size of log is too big to email, email error message
net: stmmac: delete the eee_ctrl_timer after napi disabled
net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux
net: ll_temac: Fix potential NULL dereference in temac_probe()
net/mlx4_en: Handle TX error CQE
lan743x: fix for potential NULL pointer dereference with bare card
net/mlx4_en: Avoid scheduling restart task if it is already running
tcp: fix cwnd-limited bug for TSO deferral where we send nothing
tcp: select sane initial rcvq_space.space for big MSS
net: stmmac: free tx skb buffer in stmmac_resume()
bridge: Fix a deadlock when enabling multicast snooping
enetc: Fix reporting of h/w packet counters
udp: fix the proto value passed to ip_protocol_deliver_rcu for the segments
net: hns3: remove a misused pragma packed
vrf: packets with lladdr src needs dst at input with orig_iif when needs strict
net: bridge: vlan: fix error return code in __vlan_add()
mac80211: mesh: fix mesh_pathtbl_init() error path
ipv4: fix error return code in rtm_to_fib_config()
ptrace: Prevent kernel-infoleak in ptrace_get_syscall_info()
Linux 5.4.84
compiler.h: fix barrier_data() on clang
mm/zsmalloc.c: drop ZSMALLOC_PGTABLE_MAPPING
x86/apic/vector: Fix ordering in vector assignment
x86/membarrier: Get rid of a dubious optimization
x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP
scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()"
proc: use untagged_addr() for pagemap_read addresses
kbuild: avoid static_assert for genksyms
drm/i915/display/dp: Compute the correct slice count for VDSC on DP
mmc: block: Fixup condition for CMD13 polling for RPMB requests
pinctrl: amd: remove debounce filter setting in IRQ type setting
Input: i8042 - add Acer laptops to the i8042 reset list
Input: cm109 - do not stomp on control URB
ktest.pl: Fix incorrect reboot for grub2bls
can: m_can: m_can_dev_setup(): add support for bosch mcan version 3.3.0
platform/x86: touchscreen_dmi: Add info for the Irbis TW118 tablet
platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC
platform/x86: acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE
platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad Yoga 11e 4th gen
platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e
arm64: tegra: Disable the ACONNECT for Jetson TX2
soc: fsl: dpio: Get the cpumask through cpumask_of(cpu)
spi: spi-nxp-fspi: fix fspi panic by unexpected interrupts
irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend
ibmvnic: skip tx timeout reset while in resetting
interconnect: qcom: qcs404: Remove GPU and display RPM IDs
scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE
ARC: stack unwinding: don't assume non-current task is sleeping
arm64: dts: broadcom: clear the warnings caused by empty dma-ranges
powerpc: Drop -me200 addition to build flags
iwlwifi: mvm: fix kernel panic in case of assert during CSA
iwlwifi: pcie: set LTR to avoid completion timeout
arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.
iwlwifi: pcie: limit memory read spin time
x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S
Kbuild: do not emit debug info for assembly with LLVM_IAS=1
ANDROID: GKI: bring back irq_create_mapping()
Linux 5.4.83
Revert "geneve: pull IP header before ECN decapsulation"
x86/insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes bytes
netfilter: nftables_offload: set address type in control dissector
netfilter: nf_tables: avoid false-postive lockdep splat
Input: i8042 - fix error return code in i8042_setup_aux()
dm writecache: remove BUG() and fail gracefully instead
i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc()
rtw88: debug: Fix uninitialized memory in debugfs code
ASoC: wm_adsp: fix error return code in wm_adsp_load()
tipc: fix a deadlock when flushing scheduled work
netfilter: ipset: prevent uninit-value in hash_ip6_add
gfs2: check for empty rgrp tree in gfs2_ri_update
can: af_can: can_rx_unregister(): remove WARN() statement from list operation sanity check
lib/syscall: fix syscall registers retrieval on 32-bit platforms
tracing: Fix userstacktrace option for instances
iommu/amd: Set DTE[IntTabLen] to represent 512 IRTEs
spi: bcm2835: Release the DMA channel if probe fails after dma_init
i2c: imx: Check for I2SR_IAL after every byte
i2c: imx: Fix reset of I2SR_IAL flag
speakup: Reject setting the speakup line discipline outside of speakup
mm/swapfile: do not sleep with a spin lock held
mm: list_lru: set shrinker map bit when child nr_items is not zero
coredump: fix core_pattern parse error
x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes
dm: remove invalid sparse __acquires and __releases annotations
dm: fix bug with RCU locking in dm_blk_report_zones
powerpc/pseries: Pass MSI affinity to irq_create_mapping()
genirq/irqdomain: Add an irq_create_mapping_affinity() function
powerpc/64s/powernv: Fix memory corruption when saving SLB entries on MCE
dm writecache: fix the maximum number of arguments
scsi: mpt3sas: Fix ioctl timeout
drm/i915/gt: Program mocs:63 for cache eviction on gen9
thunderbolt: Fix use-after-free in remove_unplugged_switch()
i2c: imx: Don't generate STOP condition if arbitration has been lost
cifs: fix potential use-after-free in cifs_echo_request()
cifs: allow syscalls to be restarted in __smb_send_rqst()
ftrace: Fix updating FTRACE_FL_TRAMP
ALSA: hda/generic: Add option to enforce preferred_dacs pairs
ALSA: hda/realtek - Add new codec supported for ALC897
ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294
ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model
ALSA: hda/realtek: Fix bass speaker DAC assignment on Asus Zephyrus G14
tty: Fix ->session locking
tty: Fix ->pgrp locking in tiocspgrp()
USB: serial: option: fix Quectel BG96 matching
USB: serial: option: add support for Thales Cinterion EXS82
USB: serial: option: add Fibocom NL668 variants
USB: serial: ch341: sort device-id entries
USB: serial: ch341: add new Product ID for CH341A
USB: serial: kl5kusb105: fix memleak on open
usb: gadget: f_fs: Use local copy of descriptors for userspace copy
Partially revert bpf: Zero-fill re-used per-cpu map element
pinctrl: baytrail: Fix pin being driven low for a while on gpiod_get(..., GPIOD_OUT_HIGH)
pinctrl: baytrail: Replace WARN with dev_info_once when setting direct-irq pin to output
Linux 5.4.82
RDMA/i40iw: Address an mmap handler exploit in i40iw
tracing: Remove WARN_ON in start_thread()
Input: i8042 - add ByteSpeed touchpad to noloop table
Input: xpad - support Ardwiino Controllers
ALSA: usb-audio: US16x08: fix value count for level meters
net/mlx5: Fix wrong address reclaim when command interface is down
net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering
net/sched: act_mpls: ensure LSE is pullable before reading it
net: openvswitch: ensure LSE is pullable before reading it
net: skbuff: ensure LSE is pullable before decrementing the MPLS ttl
net: mvpp2: Fix error return code in mvpp2_open()
chelsio/chtls: fix a double free in chtls_setkey()
vxlan: fix error return code in __vxlan_dev_create()
net: pasemi: fix error return code in pasemi_mac_open()
cxgb3: fix error return code in t3_sge_alloc_qset()
net/x25: prevent a couple of overflows
net: ip6_gre: set dev->hard_header_len when using header_ops
geneve: pull IP header before ECN decapsulation
inet_ecn: Fix endianness of checksum update when setting ECT(1)
ibmvnic: Fix TX completion error handling
ibmvnic: Ensure that SCRQ entry reads are correctly ordered
chelsio/chtls: fix panic during unload reload chtls
dt-bindings: net: correct interrupt flags in examples
ipv4: Fix tos mask in inet_rtm_getroute()
netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal
sched/fair: Fix unthrottle_cfs_rq() for leaf_cfs_rq list
ima: extend boot_aggregate with kernel measurements
staging/octeon: fix up merge error
bonding: wait for sysfs kobject destruction before freeing struct slave
usbnet: ipheth: fix connectivity with iOS 14
tun: honor IOCB_NOWAIT flag
tcp: Set INET_ECN_xmit configuration in tcp_reinit_congestion_control
sock: set sk_err to ee_errno on dequeue from errq
rose: Fix Null pointer dereference in rose_send_frame()
net/tls: Protect from calling tls_dev_del for TLS RX twice
net/tls: missing received data after fast remote close
net/af_iucv: set correct sk_protocol for child sockets
ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init
devlink: Hold rtnl lock while reading netdev attributes
Linux 5.4.81
ASoC: Intel: Skylake: Automatic DMIC format configuration according to information from NHLT
ASoC: Intel: Multiple I/O PCM format support for pipe
ASoC: Intel: Skylake: Await purge request ack on CNL
ASoC: Intel: Allow for ROM init retry on CNL platforms
ASoC: Intel: Skylake: Shield against no-NHLT configurations
ASoC: Intel: Skylake: Enable codec wakeup during chip init
ASoC: Intel: Skylake: Select hda configuration permissively
ASoC: Intel: Skylake: Remove superfluous chip initialization
USB: core: Fix regression in Hercules audio card
x86/resctrl: Add necessary kernfs_put() calls to prevent refcount leak
x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak
x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb
x86/mce: Do not overwrite no_way_out if mce_end() fails
irqchip/exiu: Fix the index of fwspec for IRQ type
usb: gadget: Fix memleak in gadgetfs_fill_super
USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card
usb: gadget: f_midi: Fix memleak in f_midi_alloc
USB: core: Change %pK for __user pointers to %px
spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe
perf probe: Fix to die_entrypc() returns error correctly
perf stat: Use proper cpu for shadow stats
can: m_can: fix nominal bitiming tseg2 min for version >= 3.1
can: m_can: m_can_open(): remove IRQF_TRIGGER_FALLING from request_threaded_irq()'s flags
RDMA/hns: Bugfix for memory window mtpt configuration
RDMA/hns: Fix retry_cnt and rnr_cnt when querying QP
platform/x86: toshiba_acpi: Fix the wrong variable assignment
platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time
can: gs_usb: fix endianess problem with candleLight firmware
efi: EFI_EARLYCON should depend on EFI
efivarfs: revert "fix memory leak in efivarfs_create()"
arm64: tegra: Wrong AON HSP reg property size
optee: add writeback to valid memory type
ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq
ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues
net: ena: set initial DMA width to avoid intel iommu issue
nfc: s3fwrn5: use signed integer for parsing GPIO numbers
i40e: Fix removing driver while bare-metal VFs pass traffic
IB/mthca: fix return value of error branch in mthca_init_cq()
powerpc/64s: Fix allnoconfig build since uaccess flush
ibmvnic: notify peers when failover and migration happen
ibmvnic: fix call_netdevice_notifiers in do_reset
s390/qeth: fix tear down of async TX buffers
s390/qeth: fix af_iucv notification race
s390/qeth: make af_iucv TX notification call more robust
cxgb4: fix the panic caused by non smac rewrite
bnxt_en: Release PCI regions when DMA mask setup fails during probe.
video: hyperv_fb: Fix the cache type when mapping the VRAM
bnxt_en: fix error return code in bnxt_init_board()
bnxt_en: fix error return code in bnxt_init_one()
scsi: ufs: Fix race between shutdown and runtime resume flow
ARM: dts: dra76x: m_can: fix order of clocks
arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed
batman-adv: set .owner to THIS_MODULE
iwlwifi: mvm: write queue_sync_state only for sync
phy: tegra: xusb: Fix dangling pointer on probe failure
ARM: OMAP2+: Manage MPU state properly for omap_enter_idle_coupled()
bus: ti-sysc: Fix bogus resetdone warning on enable for cpsw
net: dsa: mv88e6xxx: Wait for EEPROM done after HW reset
xtensa: uaccess: Add missing __user to strncpy_from_user() prototype
perf/x86: fix sysfs type mismatches
scsi: target: iscsi: Fix cmd abort fabric stop race
scsi: libiscsi: Fix NOP race condition
dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst size
vhost scsi: fix cmd completion race
nvme: free sq/cq dbbuf pointers when dbbuf set fails
proc: don't allow async path resolution of /proc/self components
HID: Add Logitech Dinovo Edge battery quirk
HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for the Dinovo Edge
x86/xen: don't unbind uninitialized lock_kicker_irq
dmaengine: xilinx_dma: use readl_poll_timeout_atomic variant
HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices
staging: ralink-gdma: fix kconfig dependency bug for DMA_RALINK
HID: hid-sensor-hub: Fix issue with devices with no report ID
Input: i8042 - allow insmod to succeed on devices without an i8042 controller
HID: add support for Sega Saturn
HID: cypress: Support Varmilo Keyboards' media hotkeys
HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses
HID: uclogic: Add ID for Trust Flex Design Tablet
arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect()
arm64: pgtable: Fix pte_accessible()
trace: fix potenial dangerous pointer
KVM: x86: Fix split-irqchip vs interrupt injection window request
KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint
KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace
KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page
cifs: fix a memleak with modefromsid
smb3: Handle error case during offload read path
smb3: Avoid Mid pending list corruption
smb3: Call cifs reconnect from demultiplex thread
wireless: Use linux/stddef.h instead of stddef.h
btrfs: fix lockdep splat when reading qgroup config on mount
btrfs: don't access possibly stale fs_info data for printing duplicate device
btrfs: tree-checker: add missing returns after data_ref alignment checks
btrfs: tree-checker: add missing return after error in root_item
netfilter: clear skb->next in NF_HOOK_LIST()
ipv4: use IS_ENABLED instead of ifdef
spi: bcm2835: Fix use-after-free on unbind
spi: bcm-qspi: Fix use-after-free on unbind
Revert "Exempt multicast addresses from five-second neighbor lifetime"
Linux 5.4.80
sched/fair: Fix overutilized update in enqueue_task_fair()
mm, page_alloc: skip ->waternark_boost for atomic order-0 allocations
mm/userfaultfd: do not access vma->vm_mm after calling handle_userfault()
mm: memcg/slab: fix root memcg vmstats
x86/microcode/intel: Check patch signature before saving microcode for early loading
seccomp: Set PF_SUPERPRIV when checking capability
ptrace: Set PF_SUPERPRIV when checking capability
mmc: sdhci-pci: Prefer SDR25 timing for High Speed mode for BYT-based Intel controllers
drm/i915: Handle max_bpc==16
drm/amd/display: Add missing pflip irq for dcn2.0
Drivers: hv: vmbus: Allow cleanup of VMBUS_CONNECT_CPU if disconnected
s390/dasd: fix null pointer dereference for ERP requests
s390/cpum_sf.c: fix file permission for cpum_sfb_size
mac80211: free sta in sta_info_insert_finish() on errors
mac80211: minstrel: fix tx status processing corner case
mac80211: minstrel: remove deferred sampling code
xtensa: disable preemption around cache alias management calls
xtensa: fix TLBTEMP area placement
regulator: workaround self-referent regulators
regulator: avoid resolve_supply() infinite recursion
regulator: fix memory leak with repeated set_machine_constraints()
regulator: pfuze100: limit pfuze-support-disable-sw to pfuze{100,200}
spi: bcm2835aux: Fix use-after-free on unbind
spi: npcm-fiu: Don't leak SPI master in probe error path
spi: Introduce device-managed SPI controller allocation
spi: lpspi: Fix use-after-free on unbind
iio: adc: mediatek: fix unset field
iio: accel: kxcjk1013: Add support for KIOX010A ACPI DSM for setting tablet-mode
iio: accel: kxcjk1013: Replace is_smo8500_device with an acpi_type enum
ext4: fix bogus warning in ext4_update_dx_flag()
iio: light: fix kconfig dependency bug for VCNL4035
staging: rtl8723bs: Add 024c:0627 to the list of SDIO device-ids
efivarfs: fix memory leak in efivarfs_create()
HID: logitech-dj: Fix an error in mse_bluetooth_descriptor
tty: serial: imx: keep console clocks always on
tty: serial: imx: fix potential deadlock
ALSA: hda/realtek: Add some Clove SSID in the ALC293(ALC1220)
ALSA: hda/realtek - Add supported for Lenovo ThinkPad Headset Button
ALSA: mixart: Fix mutex deadlock
ALSA: ctl: fix error path at adding user-defined element set
ALSA: usb-audio: Add delay quirk for all Logitech USB devices
ALSA: firewire: Clean up a locking issue in copy_resp_to_buf()
speakup: Do not let the line discipline be used several times
HID: logitech-dj: Fix Dinovo Mini when paired with a MX5x00 receiver
HID: logitech-dj: Handle quad/bluetooth keyboards with a builtin trackpad
HID: logitech-hidpp: Add PID for MX Anywhere 2
libfs: fix error cast of negative value in simple_attr_write()
efi/x86: Free efi_pgd with free_pages()
bpf, sockmap: Avoid returning unneeded EAGAIN when redirecting to self
bpf, sockmap: Use truesize with sk_rmem_schedule()
bpf, sockmap: On receive programs try to fast track SK_PASS ingress
bpf, sockmap: Skb verdict SK_PASS to self already checked rmem limits
xfs: revert "xfs: fix rmap key and record comparison functions"
fail_function: Remove a redundant mutex unlock
regulator: ti-abb: Fix array out of bound read access on the first transition
xfs: return corresponding errcode if xfs_initialize_perag() fail
xfs: strengthen rmap record flags checking
xfs: fix the minrecs logic when dealing with inode root child blocks
can: m_can: process interrupt only when not runtime suspended
can: flexcan: flexcan_chip_start(): fix erroneous flexcan_transceiver_enable() during bus-off recovery
iommu/vt-d: Avoid panic if iommu init fails in tboot system
iommu/vt-d: Move intel_iommu_gfx_mapped to Intel IOMMU header
can: kvaser_usb: kvaser_usb_hydra: Fix KCAN bittiming limits
can: kvaser_pciefd: Fix KCAN bittiming limits
bpf, sockmap: Ensure SO_RCVBUF memory is observed on ingress redirect
bpf, sockmap: Fix partial copy_page_to_iter so progress can still be made
net/mlx5: E-Switch, Fail mlx5_esw_modify_vport_rate if qos disabled
drm/sun4i: dw-hdmi: fix error return code in sun8i_dw_hdmi_bind()
MIPS: Alchemy: Fix memleak in alchemy_clk_setup_cpu
selftests/bpf: Fix error return code in run_getsockopt_test()
ASoC: qcom: lpass-platform: Fix memory leak
can: m_can: m_can_stop(): set device to software init mode before closing
can: m_can: m_can_class_free_dev(): introduce new function
can: m_can: m_can_handle_state_change(): fix state change
can: tcan4x5x: tcan4x5x_can_remove(): fix order of deregistration
can: tcan4x5x: tcan4x5x_can_probe(): add missing error checking for devm_regmap_init()
can: tcan4x5x: replace depends on REGMAP_SPI with depends on SPI
can: flexcan: fix failure handling of pm_runtime_get_sync()
can: peak_usb: fix potential integer overflow on shift of a int
can: mcba_usb: mcba_usb_start_xmit(): first fill skb, then pass to can_put_echo_skb()
can: ti_hecc: Fix memleak in ti_hecc_probe
can: dev: can_restart(): post buffer from the right context
can: af_can: prevent potential access of uninitialized member in canfd_rcv()
can: af_can: prevent potential access of uninitialized member in can_rcv()
ip_tunnels: Set tunnel option flag when tunnel metadata is present
tools, bpftool: Add missing close before bpftool net attach exit
perf lock: Don't free "lock_seq_stat" if read_count isn't zero
RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs
RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device()
rfkill: Fix use-after-free in rfkill_resume()
Input: resistive-adc-touch - fix kconfig dependency on IIO_BUFFER
ARM: dts: imx50-evk: Fix the chip select 1 IOMUX
arm64: dts: imx8mm: fix voltage for 1.6GHz CPU operating point
swiotlb: using SIZE_MAX needs limits.h included
arm: dts: imx6qdl-udoo: fix rgmii phy-mode for ksz9031 phy
arm64: dts imx8mn: Remove non-existent USB OTG2
arm64: dts: allwinner: h5: OrangePi Prime: Fix ethernet node
MIPS: export has_transparent_hugepage() for modules
Input: adxl34x - clean up a data type in adxl34x_probe()
arm64: dts: allwinner: a64: bananapi-m64: Enable RGMII RX/TX delay on PHY
ARM: dts: sunxi: bananapi-m2-plus: Enable RGMII RX/TX delay on Ethernet PHY
ARM: dts: sun9i: Enable both RGMII RX/TX delay on Ethernet PHY
ARM: dts: sun8i: a83t: Enable both RGMII RX/TX delay on Ethernet PHY
ARM: dts: sun8i: h3: orangepi-plus2e: Enable RGMII RX/TX delay on Ethernet PHY
ARM: dts: sun7i: bananapi-m1-plus: Enable RGMII RX/TX delay on Ethernet PHY
ARM: dts: sun7i: cubietruck: Enable RGMII RX/TX delay on Ethernet PHY
ARM: dts: sun6i: a31-hummingbird: Enable RGMII RX/TX delay on Ethernet PHY
Revert "arm: sun8i: orangepi-pc-plus: Set EMAC activity LEDs to active high"
ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix ethernet node
arm64: dts: allwinner: h5: OrangePi PC2: Fix ethernet node
arm64: dts: allwinner: a64: Pine64 Plus: Fix ethernet node
arm64: dts: allwinner: a64: OrangePi Win: Fix ethernet node
arm64: dts: allwinner: Pine H64: Enable both RGMII RX/TX delay
arm64: dts: allwinner: beelink-gs1: Enable both RGMII RX/TX delay
hwmon: (pwm-fan) Fix RPM calculation
gfs2: fix possible reference leak in gfs2_check_blk_type
vfs: remove lockdep bogosity in __sb_start_write
arm64: smp: Tell RCU about CPUs that fail to come online
arm64: psci: Avoid printing in cpu_psci_cpu_die()
arm64: errata: Fix handling of 1418040 with late CPU onlining
ACPI: button: Add DMI quirk for Medion Akoya E2228T
selftests: kvm: Fix the segment descriptor layout to match the actual layout
scsi: ufs: Fix unbalanced scsi_block_reqs_cnt caused by ufshcd_hold()
pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irq
net: ftgmac100: Fix crash when removing driver
net/ncsi: Fix netlink registration
net: usb: qmi_wwan: Set DTR quirk for MR400
net/mlx5: Disable QoS when min_rates on all VFs are zero
net/mlx5: Add handling of port type in rule deletion
tcp: only postpone PROBE_RTT if RTT is < current min_rtt estimate
sctp: change to hold/put transport for proto_unreach_timer
qlcnic: fix error return code in qlcnic_83xx_restart_hw()
qed: fix error return code in qed_iwarp_ll2_start()
page_frag: Recover from memory pressure
net: x25: Increase refcnt of "struct x25_neigh" in x25_rx_call_request
net/tls: fix corrupted data in recvmsg
net/smc: fix direct access to ib_gid_addr->ndev in smc_ib_determine_gid()
net: qualcomm: rmnet: Fix incorrect receive packet handling during cleanup
net/mlx4_core: Fix init_hca fields offset
net: lantiq: Wait for the GPHY firmware to be ready
netlabel: fix an uninitialized warning in netlbl_unlabel_staticlist()
netlabel: fix our progress tracking in netlbl_unlabel_staticlist()
net: Have netpoll bring-up DSA management interface
net: ethernet: ti: cpsw: fix error return code in cpsw_probe()
net: dsa: mv88e6xxx: Avoid VTU corruption on 6097
net: bridge: add missing counters to ndo_get_stats64 callback
net: b44: fix error return code in b44_init_one()
mlxsw: core: Use variable timeout for EMAD retries
lan743x: prevent entire kernel HANG on open, for some platforms
lan743x: fix issue causing intermittent kernel log warnings
ipv6: Fix error path to cancel the meseage
inet_diag: Fix error path to cancel the meseage in inet_req_diag_fill()
Exempt multicast addresses from five-second neighbor lifetime
devlink: Add missing genlmsg_cancel() in devlink_nl_sb_port_pool_fill()
bnxt_en: read EEPROM A2h address using page 0
atm: nicstar: Unmap DMA on send error
ah6: fix error return code in ah6_input()
Linux 5.4.79
ACPI: GED: fix -Wformat
KVM: x86: clflushopt should be treated as a no-op by emulation
can: proc: can_remove_proc(): silence remove_proc_entry warning
mac80211: always wind down STA state
Input: sunkbd - avoid use-after-free in teardown paths
net: lantiq: Add locking for TX DMA channel
powerpc/8xx: Always fault when _PAGE_ACCESSED is not set
net/mlx5: Add retry mechanism to the command entry index allocation
net/mlx5: Fix a race when moving command interface to events mode
net/mlx5: poll cmd EQ in case of command timeout
net/mlx5: Use async EQ setup cleanup helpers for multiple EQs
MIPS: PCI: Fix MIPS build
selftests/powerpc: entry flush test
powerpc: Only include kup-radix.h for 64-bit Book3S
powerpc/64s: flush L1D after user accesses
powerpc/64s: flush L1D on kernel entry
selftests/powerpc: rfi_flush: disable entry flush if present
Linux 5.4.78
Convert trailing spaces and periods in path components
net: sch_generic: fix the missing new qdisc assignment bug
perf/core: Fix race in the perf_mmap_close() function
perf scripting python: Avoid declaring function pointers with a visibility attribute
x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always-on STIBP
powerpc/603: Always fault when _PAGE_ACCESSED is not set
drm/i915: Correctly set SFC capability for video engines
r8169: fix potential skb double free in an error path
tipc: fix memory leak in tipc_topsrv_start()
net/x25: Fix null-ptr-deref in x25_connect
net: Update window_clamp if SOCK_RCVBUF is set
net: udp: fix UDP header access on Fast/frag0 UDP GRO
net/af_iucv: fix null pointer dereference on shutdown
IPv6: Set SIT tunnel hard_header_len to zero
swiotlb: fix "x86: Don't panic if can not alloc buffer for swiotlb"
pinctrl: amd: fix incorrect way to disable debounce filter
pinctrl: amd: use higher precision for 512 RtcClk
drm/gma500: Fix out-of-bounds access to struct drm_device.vblank[]
don't dump the threads that had been already exiting when zapped.
mmc: renesas_sdhi_core: Add missing tmio_mmc_host_free() at remove
mmc: sdhci-of-esdhc: Handle pulse width detection erratum for more SoCs
gpio: pcie-idio-24: Enable PEX8311 interrupts
gpio: pcie-idio-24: Fix IRQ Enable Register value
gpio: pcie-idio-24: Fix irq mask when masking
selinux: Fix error return code in sel_ib_pkey_sid_slow()
btrfs: fix potential overflow in cluster_pages_for_defrag on 32bit arch
ocfs2: initialize ip_next_orphan
reboot: fix overflow parsing reboot cpu number
Revert "kernel/reboot.c: convert simple_strtoul to kstrtoint"
mm/slub: fix panic in slab_alloc_node()
jbd2: fix up sparse warnings in checkpoint code
futex: Don't enable IRQs unconditionally in put_pi_state()
mei: protect mei_cl_mtu from null dereference
virtio: virtio_console: fix DMA memory allocation for rproc serial
xhci: hisilicon: fix refercence leak in xhci_histb_probe
usb: cdc-acm: Add DISABLE_ECHO for Renesas USB Download mode
uio: Fix use-after-free in uio_unregister_device()
thunderbolt: Add the missed ida_simple_remove() in ring_request_msix()
thunderbolt: Fix memory leak if ida_simple_get() fails in enumerate_services()
KVM: arm64: Don't hide ID registers from userspace
btrfs: dev-replace: fail mount if we don't have replace item with target device
btrfs: fix min reserved size calculation in merge_reloc_root
btrfs: ref-verify: fix memory leak in btrfs_ref_tree_mod
ext4: unlock xattr_sem properly in ext4_inline_data_truncate()
ext4: correctly report "not supported" for {usr,grp}jquota when !CONFIG_QUOTA
erofs: derive atime instead of leaving it empty
perf: Fix get_recursion_context()
vrf: Fix fast path output packet handling with async Netfilter rules
cosa: Add missing kfree in error path of cosa_write
of/address: Fix of_node memory leak in of_dma_is_coherent
xfs: fix a missing unlock on error in xfs_fs_map_blocks
lan743x: fix "BUG: invalid wait context" when setting rx mode
xfs: fix brainos in the refcount scrubber's rmap fragment processor
xfs: fix rmap key and record comparison functions
xfs: set the unwritten bit in rmap lookup flags in xchk_bmap_get_rmapextents
xfs: fix flags argument to rmap lookup when converting shared file rmaps
igc: Fix returning wrong statistics
nbd: fix a block_device refcount leak in nbd_release
bpf: Zero-fill re-used per-cpu map element
SUNRPC: Fix general protection fault in trace_rpc_xdr_overflow()
net/mlx5: Fix deletion of duplicate rules
pinctrl: aspeed: Fix GPI only function problem.
bpf: Don't rely on GCC __attribute__((optimize)) to disable GCSE
ARM: 9019/1: kprobes: Avoid fortify_panic() when copying optprobe template
pinctrl: intel: Set default bias in case no particular value given
mfd: sprd: Add wakeup capability for PMIC IRQ
tick/common: Touch watchdog in tick_unfreeze() on all CPUs
spi: bcm2835: remove use of uninitialized gpio flags variable
tpm_tis: Disable interrupts on ThinkPad T490s
i2c: sh_mobile: implement atomic transfers
riscv: Set text_offset correctly for M-Mode
selftests: proc: fix warning: _GNU_SOURCE redefined
amd/amdgpu: Disable VCN DPG mode for Picasso
i2c: mediatek: move dma reset before i2c reset
vfio/pci: Bypass IGD init in case of -ENODEV
vfio: platform: fix reference leak in vfio_platform_open
s390/smp: move rcu_cpu_starting() earlier
iommu/amd: Increase interrupt remapping table limit to 512 entries
nvme-tcp: avoid repeated request completion
nvme-rdma: avoid repeated request completion
nvme-tcp: avoid race between time out and tear down
nvme-rdma: avoid race between time out and tear down
nvme: introduce nvme_sync_io_queues
scsi: mpt3sas: Fix timeouts observed while reenabling IRQ
scsi: scsi_dh_alua: Avoid crash during alua_bus_detach()
tracing: Fix the checking of stackidx in __ftrace_trace_stack
cfg80211: regulatory: Fix inconsistent format argument
cfg80211: initialize wdev data earlier
mac80211: fix use of skb payload instead of header
drm/amd/pm: do not use ixFEATURE_STATUS for checking smc running
drm/amd/pm: perform SMC reset on suspend/hibernation
drm/amdgpu: perform srbm soft reset always on SDMA resume
scsi: hpsa: Fix memory leak in hpsa_init_one()
gfs2: check for live vs. read-only file system in gfs2_fitrim
gfs2: Add missing truncate_inode_pages_final for sd_aspace
gfs2: Free rd_bits later in gfs2_clear_rgrpd to fix use-after-free
ALSA: hda: Reinstate runtime_allow() for all hda controllers
ALSA: hda: Separate runtime and system suspend
selftests: pidfd: fix compilation errors due to wait.h
selftests/ftrace: check for do_sys_openat2 in user-memory test
usb: gadget: goku_udc: fix potential crashes in probe
opp: Reduce the size of critical section in _opp_table_kref_release()
usb: dwc3: pci: add support for the Intel Alder Lake-S
ASoC: cs42l51: manage mclk shutdown delay
ASoC: qcom: sdm845: set driver name correctly
ath9k_htc: Use appropriate rs_datalen type
KVM: x86: don't expose MSR_IA32_UMWAIT_CONTROL unconditionally
KVM: arm64: ARM_SMCCC_ARCH_WORKAROUND_1 doesn't return SMCCC_RET_NOT_REQUIRED
random32: make prandom_u32() output unpredictable
tpm: efi: Don't create binary_bios_measurements file for an empty log
xfs: fix scrub flagging rtinherit even if there is no rt device
xfs: flush new eof page on truncate to avoid post-eof corruption
can: flexcan: flexcan_remove(): disable wakeup completely
can: flexcan: remove FLEXCAN_QUIRK_DISABLE_MECR quirk for LS1021A
can: peak_canfd: pucan_handle_can_rx(): fix echo management when loopback is on
can: peak_usb: peak_usb_get_ts_time(): fix timestamp wrapping
can: peak_usb: add range checking in decode operations
can: xilinx_can: handle failure cases of pm_runtime_get_sync
can: ti_hecc: ti_hecc_probe(): add missed clk_disable_unprepare() in error path
can: j1939: j1939_sk_bind(): return failure if netdev is down
can: j1939: swap addr and pgn in the send example
can: can_create_echo_skb(): fix echo skb generation: always use skb_clone()
can: dev: __can_get_echo_skb(): fix real payload length return value for RTR frames
can: dev: can_get_echo_skb(): prevent call to kfree_skb() in hard IRQ context
can: rx-offload: don't call kfree_skb() from IRQ context
afs: Fix warning due to unadvanced marshalling pointer
iommu/vt-d: Fix a bug for PDP check in prq_event_thread
ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link()
perf tools: Add missing swap for ino_generation
perf trace: Fix segfault when trying to trace events by cgroup
powerpc/eeh_cache: Fix a possible debugfs deadlock
netfilter: ipset: Update byte and packet counters regardless of whether they match
netfilter: nf_tables: missing validation from the abort path
netfilter: use actual socket sk rather than skb sk when routing harder
xfs: set xefi_discard when creating a deferred agfl free log intent item
ASoC: codecs: wcd9335: Set digital gain range correctly
net: xfrm: fix a race condition during allocing spi
hv_balloon: disable warning when floor reached
genirq: Let GENERIC_IRQ_IPI select IRQ_DOMAIN_HIERARCHY
ASoC: Intel: kbl_rt5663_max98927: Fix kabylake_ssp_fixup function
btrfs: reschedule when cloning lots of extents
btrfs: sysfs: init devices outside of the chunk_mutex
btrfs: tracepoints: output proper root owner for trace_find_free_extent()
usb: dwc3: gadget: Reclaim extra TRBs after request completion
usb: dwc3: gadget: Continue to process pending requests
PCI: qcom: Make sure PCIe is reset before init for rev 2.1.0
KVM: arm64: Force PTE mapping on fault resulting in a device mapping
nbd: don't update block size after device is started
time: Prevent undefined behaviour in timespec64_to_ns()
drm/i915/gem: Flush coherency domains on first set-domain-ioctl
Linux 5.4.77
powercap: restrict energy meter to root access
Linux 5.4.76
arm64: dts: marvell: espressobin: Add ethernet switch aliases
perf/core: Fix a memory leak in perf_event_parse_addr_filter()
xfs: flush for older, xfs specific ioctls
PM: runtime: Resume the device earlier in __device_release_driver()
PM: runtime: Drop pm_runtime_clean_up_links()
PM: runtime: Drop runtime PM references to supplier on link removal
ARC: stack unwinding: avoid indefinite looping
drm/panfrost: Fix a deadlock between the shrinker and madvise path
usb: mtu3: fix panic in mtu3_gadget_stop()
USB: Add NO_LPM quirk for Kingston flash drive
usb: dwc3: ep0: Fix delay status handling
tty: serial: fsl_lpuart: LS1021A has a FIFO size of 16 words, like LS1028A
tty: serial: fsl_lpuart: add LS1028A support
USB: serial: option: add Telit FN980 composition 0x1055
USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231
USB: serial: option: add Quectel EC200T module support
USB: serial: cyberjack: fix write-URB completion race
serial: txx9: add missing platform_driver_unregister() on error in serial_txx9_init
serial: 8250_mtk: Fix uart_get_baud_rate warning
s390/pkey: fix paes selftest failure with paes and pkey static build
fork: fix copy_process(CLONE_PARENT) race with the exiting ->real_parent
vt: Disable KD_FONT_OP_COPY
Revert "coresight: Make sysfs functional on topologies with per core sink"
arm64/smp: Move rcu_cpu_starting() earlier
drm/nouveau/gem: fix "refcount_t: underflow; use-after-free"
drm/nouveau/nouveau: fix the start/end range for migration
usb: cdns3: gadget: suspicious implicit sign extension
ACPI: NFIT: Fix comparison to '-ENXIO'
drm/vc4: drv: Add error handding for bind
nvmet: fix a NULL pointer dereference when tracing the flush command
nvme-rdma: handle unexpected nvme completion data length
vsock: use ns_capable_noaudit() on socket create
scsi: ibmvscsi: Fix potential race after loss of transport
drm/amdgpu: add DID for navi10 blockchain SKU
scsi: core: Don't start concurrent async scan on same host
blk-cgroup: Pre-allocate tree node on blkg_conf_prep
blk-cgroup: Fix memleak on error path
drm/sun4i: frontend: Fix the scaler phase on A33
drm/sun4i: frontend: Reuse the ch0 phase for RGB formats
drm/sun4i: frontend: Rework a bit the phase data
of: Fix reserved-memory overlap detection
x86/kexec: Use up-to-dated screen_info copy to fill boot params
arm64: dts: meson: add missing g12 rng clock
ARM: dts: sun4i-a10: fix cpu_alert temperature
futex: Handle transient "ownerless" rtmutex state correctly
tracing: Fix out of bounds write in get_trace_buf
spi: bcm2835: fix gpio cs level inversion
regulator: defer probe when trying to get voltage from unresolved supply
ftrace: Handle tracing when switching between context
ftrace: Fix recursion check for NMI test
mtd: spi-nor: Don't copy self-pointing struct around
ring-buffer: Fix recursion protection transitions between interrupt context
gfs2: Wake up when sd_glock_disposal becomes zero
mm: always have io_remap_pfn_range() set pgprot_decrypted()
kthread_worker: prevent queuing delayed work from timer_fn when it is being canceled
lib/crc32test: remove extra local_irq_disable/enable
mm: mempolicy: fix potential pte_unmap_unlock pte error
ALSA: usb-audio: Add implicit feedback quirk for MODX
ALSA: usb-audio: Add implicit feedback quirk for Qu-16
ALSA: usb-audio: add usb vendor id as DSD-capable for Khadas devices
ALSA: usb-audio: Add implicit feedback quirk for Zoom UAC-2
ALSA: hda/realtek - Enable headphone for ASUS TM420
ALSA: hda/realtek - Fixed HP headset Mic can't be detected
Fonts: Replace discarded const qualifier
sfp: Fix error handing in sfp_probe()
sctp: Fix COMM_LOST/CANT_STR_ASSOC err reporting on big-endian platforms
powerpc/vnic: Extend "failover pending" window
net: usb: qmi_wwan: add Telit LE910Cx 0x1230 composition
ip_tunnel: fix over-mtu packet send fail without TUNNEL_DONT_FRAGMENT flags
ionic: check port ptr before use
gianfar: Account for Tx PTP timestamp in the skb headroom
gianfar: Replace skb_realloc_headroom with skb_cow_head for PTP
chelsio/chtls: fix always leaking ctrl_skb
chelsio/chtls: fix memory leaks caused by a race
cadence: force nonlinear buffers to be cloned
ptrace: fix task_join_group_stop() for the case when current is traced
tipc: fix use-after-free in tipc_bcast_get_mode
arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S
arm64: lib: Use modern annotations for assembly functions
arm64: asm: Add new-style position independent function annotations
linkage: Introduce new macros for assembler symbols
ASoC: Intel: Skylake: Add alternative topology binary name
drm/i915: Drop runtime-pm assert from vgpu io accessors
drm/i915/gt: Delay execlist processing for tgl
drm/i915: Break up error capture compression loops with cond_resched()
Linux 5.4.75
staging: octeon: Drop on uncorrectable alignment or FCS error
staging: octeon: repair "fixed-link" support
staging: comedi: cb_pcidas: Allow 2-channel commands for AO subdevice
staging: fieldbus: anybuss: jump to correct label in an error path
KVM: arm64: Fix AArch32 handling of DBGD{CCINT,SCRext} and DBGVCR
device property: Don't clear secondary pointer for shared primary firmware node
device property: Keep secondary firmware node secondary by type
ARM: s3c24xx: fix missing system reset
ARM: samsung: fix PM debug build with DEBUG_LL but !MMU
arm: dts: mt7623: add missing pause for switchport
hil/parisc: Disable HIL driver when it gets stuck
cachefiles: Handle readpage error correctly
arm64: berlin: Select DW_APB_TIMER_OF
tty: make FONTX ioctl use the tty pointer they were actually passed
drm/amd/pm: increase mclk switch threshold to 200 us
mmc: sdhci: Use Auto CMD Auto Select only when v4_mode is true
mmc: sdhci-of-esdhc: set timeout to max before tuning
drm/ttm: fix eviction valuable range check.
ext4: fix invalid inode checksum
ext4: fix error handling code in add_new_gdb
ext4: fix leaking sysfs kobject after failed mount
vringh: fix __vringh_iov() when riov and wiov are different
ring-buffer: Return 0 on success from ring_buffer_resize()
9P: Cast to loff_t before multiplying
libceph: clear con->out_msg on Policy::stateful_server faults
ceph: promote to unsigned long long before shifting
drm/amd/display: Fix kernel panic by dal_gpio_open() error
drm/amd/display: Don't invoke kgdb_breakpoint() unconditionally
drm/amdgpu: increase the reserved VM size to 2MB
drm/amd/display: Avoid MST manager resource leak.
drm/amdkfd: Use same SQ prefetch setting as amdgpu
drm/amdgpu: correct the gpu reset handling for job != NULL case
drm/amd/display: Increase timeout for DP Disable
drm/amdgpu: don't map BO in reserved region
i2c: imx: Fix external abort on interrupt in exit paths
rtc: rx8010: don't modify the global rtc ops
ia64: fix build error with !COREDUMP
ubi: check kthread_should_stop() after the setting of task state
ARC: perf: redo the pct irq missing in device-tree handling
perf python scripting: Fix printable strings in python3 scripts
ubifs: mount_ubifs: Release authentication resource in error handling path
ubifs: Don't parse authentication mount options in remount process
ubifs: Fix a memleak after dumping authentication mount options
ubifs: journal: Make sure to not dirty twice for auth nodes
ubifs: xattr: Fix some potential memory leaks while iterating entries
ubifs: dent: Fix some potential memory leaks while iterating entries
NFSD: Add missing NFSv2 .pc_func methods
NFSv4.2: support EXCHGID4_FLAG_SUPP_FENCE_OPS 4.2 EXCHANGE_ID flag
NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE
powerpc: Fix undetected data corruption with P9N DD2.1 VSX CI load emulation
powerpc/powermac: Fix low_sleep_handler with KUAP and KUEP
powerpc/powernv/elog: Fix race while processing OPAL error log event.
powerpc/memhotplug: Make lmb size 64bit
powerpc: Warn about use of smt_snooze_delay
powerpc/rtas: Restrict RTAS requests from userspace
s390/stp: add locking to sysfs functions
MIPS: DEC: Restore bootmem reservation for firmware working memory area
powerpc/drmem: Make lmb_size 64 bit
iio:gyro:itg3200: Fix timestamp alignment and prevent data leak.
iio:adc:ti-adc12138 Fix alignment issue with timestamp
iio:adc:ti-adc0832 Fix alignment issue with timestamp
iio: adc: gyroadc: fix leak of device node iterator
iio:light:si1145: Fix timestamp alignment and prevent data leak.
dmaengine: dma-jz4780: Fix race in jz4780_dma_tx_status
udf: Fix memory leak when mounting
HID: wacom: Avoid entering wacom_wac_pen_report for pad / battery
vt: keyboard, extend func_buf_lock to readers
vt: keyboard, simplify vt_kdgkbsent
drm/i915: Force VT'd workarounds when running as a guest OS
usb: host: fsl-mph-dr-of: check return of dma_set_mask()
usb: typec: tcpm: reset hard_reset_count for any disconnect
usb: cdc-acm: fix cooldown mechanism
usb: dwc3: gadget: END_TRANSFER before CLEAR_STALL command
usb: dwc3: gadget: Resume pending requests after CLEAR_STALL
usb: dwc3: core: don't trigger runtime pm when remove driver
usb: dwc3: core: add phy cleanup for probe error handling
usb: dwc3: gadget: Check MPS of the request length
usb: dwc3: ep0: Fix ZLP for OUT ep0 requests
usb: dwc3: pci: Allow Elkhart Lake to utilize DSM method for PM functionality
usb: xhci: Workaround for S3 issue on AMD SNPS 3.0 xHC
btrfs: fix readahead hang and use-after-free after removing a device
btrfs: fix use-after-free on readahead extent after failure to create it
btrfs: tree-checker: validate number of chunk stripes and parity
btrfs: cleanup cow block on error
btrfs: tree-checker: fix false alert caused by legacy btrfs root item
btrfs: use kvzalloc() to allocate clone_roots in btrfs_ioctl_send()
btrfs: send, recompute reference path after orphanization of a directory
btrfs: send, orphanize first all conflicting inodes when processing references
btrfs: reschedule if necessary when logging directory items
btrfs: improve device scanning messages
btrfs: qgroup: fix wrong qgroup metadata reserve for delayed inode
PM: runtime: Remove link state checks in rpm_get/put_supplier()
scsi: qla2xxx: Fix crash on session cleanup with unload
scsi: mptfusion: Fix null pointer dereferences in mptscsih_remove()
w1: mxc_w1: Fix timeout resolution problem leading to bus error
acpi-cpufreq: Honor _PSD table setting on new AMD CPUs
ACPI: EC: PM: Drop ec_no_wakeup check from acpi_ec_dispatch_gpe()
ACPI: EC: PM: Flush EC work unconditionally after wakeup
PCI/ACPI: Whitelist hotplug ports for D3 if power managed by ACPI
ACPI: debug: don't allow debugging when ACPI is disabled
ACPI: video: use ACPI backlight for HP 635 Notebook
ACPI / extlog: Check for RDMSR failure
ACPI: button: fix handling lid state changes when input device closed
NFS: fix nfs_path in case of a rename retry
fs: Don't invalidate page buffers in block_write_full_page()
media: uvcvideo: Fix uvc_ctrl_fixup_xu_info() not having any effect
leds: bcm6328, bcm6358: use devres LED registering function
extcon: ptn5150: Fix usage of atomic GPIO with sleeping GPIO chips
spi: sprd: Release DMA channel also on probe deferral
perf/x86/amd/ibs: Fix raw sample data accumulation
perf/x86/amd/ibs: Don't include randomized bits in get_ibs_op_count()
perf/x86/intel: Fix Ice Lake event constraint table
selftests/x86/fsgsbase: Test PTRACE_PEEKUSER for GSBASE with invalid LDT GS
seccomp: Make duplicate listener detection non-racy
mmc: sdhci-acpi: AMDI0040: Set SDHCI_QUIRK2_PRESET_VALUE_BROKEN
mmc: sdhci: Add LTR support for some Intel BYT based controllers
md/raid5: fix oops during stripe resizing
nvme-rdma: fix crash when connect rejected
sgl_alloc_order: fix memory leak
nbd: make the config put is called before the notifying the waiter
ARM: dts: s5pv210: remove dedicated 'audio-subsystem' node
ARM: dts: s5pv210: move PMU node out of clock controller
ARM: dts: s5pv210: move fixed clocks under root node
ARM: dts: s5pv210: remove DMA controller bus node name to fix dtschema warnings
memory: emif: Remove bogus debugfs error handling
ARM: dts: omap4: Fix sgx clock rate for 4430
arm64: dts: renesas: ulcb: add full-pwr-cycle-in-suspend into eMMC nodes
cifs: handle -EINTR in cifs_setattr
gfs2: add validation checks for size of superblock
gfs2: use-after-free in sysfs deregistration
KVM: PPC: Book3S HV: Do not allocate HPT for a nested guest
ext4: Detect already used quota file early
drivers: watchdog: rdc321x_wdt: Fix race condition bugs
net: 9p: initialize sun_server.sun_path to have addr's value only when addr is valid
clk: ti: clockdomain: fix static checker warning
rpmsg: glink: Use complete_all for open states
bnxt_en: Log unknown link speed appropriately.
md/bitmap: md_bitmap_get_counter returns wrong blocks
btrfs: fix replace of seed device
ARC: [dts] fix the errors detected by dtbs_check
drm/amd/display: HDMI remote sink need mode validation for Linux
power: supply: test_power: add missing newlines when printing parameters by sysfs
ACPI: HMAT: Fix handling of changes from ACPI 6.2 to ACPI 6.3
bus/fsl_mc: Do not rely on caller to provide non NULL mc_io
drivers/net/wan/hdlc_fr: Correctly handle special skb->protocol values
brcmfmac: Fix warning message after dongle setup failed
ACPI: Add out of bounds and numa_off protections to pxm_to_node()
xfs: don't free rt blocks when we're doing a REMAP bunmapi call
can: flexcan: disable clocks during stop mode
arm64/mm: return cpu_all_mask when node is NUMA_NO_NODE
SUNRPC: Mitigate cond_resched() in xprt_transmit()
usb: xhci: omit duplicate actions when suspending a runtime suspended host.
coresight: Make sysfs functional on topologies with per core sink
uio: free uio id after uio file node is freed
USB: adutux: fix debugging
cpufreq: sti-cpufreq: add stih418 support
riscv: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO
samples/bpf: Fix possible deadlock in xdpsock
selftests/bpf: Define string const as global for test_sysctl_prog.c
media: uvcvideo: Fix dereference of out-of-bound list iterator
bpf: Permit map_ptr arithmetic with opcode add and offset 0
kgdb: Make "kgdbcon" work properly with "kgdb_earlycon"
ia64: kprobes: Use generic kretprobe trampoline handler
printk: reduce LOG_BUF_SHIFT range for H8300
arm64: topology: Stop using MPIDR for topology information
drm/bridge/synopsys: dsi: add support for non-continuous HS clock
mmc: via-sdmmc: Fix data race bug
media: imx274: fix frame interval handling
media: tw5864: check status of tw5864_frameinterval_get
usb: typec: tcpm: During PR_SWAP, source caps should be sent only after tSwapSourceStart
media: platform: Improve queue set up flow for bug fixing
media: videodev2.h: RGB BT2020 and HSV are always full range
selftests/x86/fsgsbase: Reap a forgotten child
drm/brige/megachips: Add checking if ge_b850v3_lvds_init() is working correctly
ath10k: fix VHT NSS calculation when STBC is enabled
ath10k: start recovery process when payload length exceeds max htc length for sdio
video: fbdev: pvr2fb: initialize variables
xfs: fix realtime bitmap/summary file truncation when growing rt volume
power: supply: bq27xxx: report "not charging" on all types
NFS4: Fix oops when copy_file_range is attempted with NFS4.0 source
ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses
f2fs: handle errors of f2fs_get_meta_page_nofail
um: change sigio_spinlock to a mutex
s390/startup: avoid save_area_sync overflow
f2fs: fix to check segment boundary during SIT page readahead
f2fs: fix uninit-value in f2fs_lookup
f2fs: add trace exit in exception path
sparc64: remove mm_cpumask clearing to fix kthread_use_mm race
powerpc: select ARCH_WANT_IRQS_OFF_ACTIVATE_MM
mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race
powerpc/powernv/smp: Fix spurious DBG() warning
futex: Fix incorrect should_fail_futex() handling
ata: sata_nv: Fix retrieving of active qcs
RDMA/qedr: Fix memory leak in iWARP CM
mlxsw: core: Fix use-after-free in mlxsw_emad_trans_finish()
x86/unwind/orc: Fix inactive tasks with stack pointer in %sp on GCC 10 compiled kernels
firmware: arm_scmi: Add missing Rx size re-initialisation
firmware: arm_scmi: Fix ARCH_COLD_RESET
xen/events: block rogue events for some time
xen/events: defer eoi in case of excessive number of events
xen/events: use a common cpu hotplug hook for event channels
xen/events: switch user event channels to lateeoi model
xen/pciback: use lateeoi irq binding
xen/pvcallsback: use lateeoi irq binding
xen/scsiback: use lateeoi irq binding
xen/netback: use lateeoi irq binding
xen/blkback: use lateeoi irq binding
xen/events: add a new "late EOI" evtchn framework
xen/events: fix race in evtchn_fifo_unmask()
xen/events: add a proper barrier to 2-level uevent unmasking
xen/events: avoid removing an event channel while handling it
ANDROID: GKI: fix up include/linux/pm.h to handle some abi changes
Linux 5.4.74
phy: marvell: comphy: Convert internal SMCC firmware return codes to errno
misc: rtsx: do not setting OC_POWER_DOWN reg in rtsx_pci_init_ocp()
openrisc: Fix issue with get_user for 64-bit values
crypto: x86/crc32c - fix building with clang ias
xen/gntdev.c: Mark pages as dirty
ata: sata_rcar: Fix DMA boundary mask
PM: runtime: Fix timer_expires data type on 32-bit arches
serial: pl011: Fix lockdep splat when handling magic-sysrq interrupt
serial: qcom_geni_serial: To correct QUP Version detection logic
mtd: lpddr: Fix bad logic in print_drs_error
RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel()
cxl: Rework error message for incompatible slots
p54: avoid accessing the data mapped to streaming DMA
evm: Check size of security.evm before using it
bpf: Fix comment for helper bpf_current_task_under_cgroup()
fuse: fix page dereference after free
ata: ahci: mvebu: Make SATA PHY optional for Armada 3720
x86/xen: disable Firmware First mode for correctable memory errors
arch/x86/amd/ibs: Fix re-arming IBS Fetch
erofs: avoid duplicated permission check for "trusted." xattrs
bnxt_en: Invoke cancel_delayed_work_sync() for PFs also.
bnxt_en: Fix regression in workqueue cleanup logic in bnxt_remove_one().
bnxt_en: Re-write PCI BARs after PCI fatal error.
net: hns3: Clear the CMDQ registers before unmapping BAR region
tipc: fix memory leak caused by tipc_buf_append()
tcp: Prevent low rmem stalls with SO_RCVLOWAT.
ravb: Fix bit fields checking in ravb_hwtstamp_get()
r8169: fix issue with forced threading in combination with shared interrupts
net/sched: act_mpls: Add softdep on mpls_gso.ko
netem: fix zero division in tabledist
mlxsw: core: Fix memory leak on module removal
ibmvnic: fix ibmvnic_set_mac
gtp: fix an use-before-init in gtp_newlink()
cxgb4: set up filter action after rewrites
chelsio/chtls: fix tls record info to user
chelsio/chtls: fix memory leaks in CPL handlers
chelsio/chtls: fix deadlock issue
bnxt_en: Send HWRM_FUNC_RESET fw command unconditionally.
bnxt_en: Check abort error state in bnxt_open_nic().
efivarfs: Replace invalid slashes with exclamation marks in dentries.
x86/PCI: Fix intel_mid_pci.c build error when ACPI is not enabled
arm64: link with -z norelro regardless of CONFIG_RELOCATABLE
arm64: Run ARCH_WORKAROUND_2 enabling code on all CPUs
arm64: Run ARCH_WORKAROUND_1 enabling code on all CPUs
scripts/setlocalversion: make git describe output more reliable
objtool: Support Clang non-section symbols in ORC generation
socket: don't clear SOCK_TSTAMP_NEW when SO_TIMESTAMPNS is disabled
netfilter: nftables_offload: KASAN slab-out-of-bounds Read in nft_flow_rule_create
Revert "PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY"
Revert "vfio/pci: Decouple PCI_COMMAND_MEMORY bit checks from is_virtfn"
Linux 5.4.73
usb: gadget: f_ncm: allow using NCM in SuperSpeed Plus gadgets.
eeprom: at25: set minimum read/write access stride to 1
usb: cdns3: gadget: free interrupt after gadget has deleted
USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync().
usb: cdc-acm: add quirk to blacklist ETAS ES58X devices
tty: serial: fsl_lpuart: fix lpuart32_poll_get_char
tty: serial: lpuart: fix lpuart32_write usage
s390/qeth: don't let HW override the configured port role
net: korina: cast KSEG0 address to pointer in kfree
ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n()
dmaengine: dw: Activate FIFO-mode for memory peripherals only
dmaengine: dw: Add DMA-channels mask cell support
scsi: ufs: ufs-qcom: Fix race conditions caused by ufs_qcom_testbus_config()
usb: core: Solve race condition in anchor cleanup functions
brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach
scsi: smartpqi: Avoid crashing kernel for controller issues
ALSA: hda/ca0132 - Add new quirk ID for SoundBlaster AE-7.
ALSA: hda/ca0132 - Add AE-7 microphone selection commands.
mwifiex: don't call del_timer_sync() on uninitialized timer
reiserfs: Fix memory leak in reiserfs_parse_options()
ipvs: Fix uninit-value in do_ip_vs_set_ctl()
Bluetooth: btusb: Fix memleak in btusb_mtk_submit_wmt_recv_urb
tty: ipwireless: fix error handling
fbmem: add margin check to fb_check_caps()
scsi: qedi: Fix list_del corruption while removing active I/O
scsi: qedi: Protect active command list to avoid list corruption
scsi: qedf: Return SUCCESS if stale rport is encountered
HID: ite: Add USB id match for Acer One S1003 keyboard dock
Fix use after free in get_capset_info callback.
rtl8xxxu: prevent potential memory leak
brcmsmac: fix memory leak in wlc_phy_attach_lcnphy
selftests/bpf: Fix test_sysctl_loop{1, 2} failure due to clang change
scsi: qla2xxx: Warn if done() or free() are called on an already freed srb
scsi: ibmvfc: Fix error return in ibmvfc_probe()
iomap: fix WARN_ON_ONCE() from unprivileged users
drm/msm/a6xx: fix a potential overflow issue
Bluetooth: Only mark socket zapped after unlocking
usb: ohci: Default to per-port over-current protection
xfs: make sure the rt allocator doesn't run off the end
opp: Prevent memory leak in dev_pm_opp_attach_genpd()
reiserfs: only call unlock_new_inode() if I_NEW
misc: rtsx: Fix memory leak in rtsx_pci_probe
bpf: Limit caller's stack depth 256 for subprogs with tailcalls
drm/panfrost: add amlogic reset quirk callback
ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs()
can: flexcan: flexcan_chip_stop(): add error handling and propagate error value
usb: dwc3: simple: add support for Hikey 970
USB: cdc-acm: handle broken union descriptors
rtw88: increse the size of rx buffer size
udf: Avoid accessing uninitialized data on failed inode read
udf: Limit sparing table size
usb: gadget: function: printer: fix use-after-free in __lock_acquire
usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc
misc: vop: add round_up(x,4) for vring_size to avoid kernel panic
mic: vop: copy data to kernel space then write to io memory
scsi: target: core: Add CONTROL field for trace events
scsi: mvumi: Fix error return in mvumi_io_attach()
PM: hibernate: remove the bogus call to get_gendisk() in software_resume()
mac80211: handle lack of sband->bitrates in rates
ip_gre: set dev->hard_header_len and dev->needed_headroom properly
ntfs: add check for mft record size in superblock
media: venus: core: Fix runtime PM imbalance in venus_probe
fs: dlm: fix configfs memory leak
media: venus: fixes for list corruption
media: saa7134: avoid a shift overflow
mmc: sdio: Check for CISTPL_VERS_1 buffer size
media: uvcvideo: Ensure all probed info is returned to v4l2
x86/mce: Make mce_rdmsrl() panic on an inaccessible MSR
media: media/pci: prevent memory leak in bttv_probe
media: bdisp: Fix runtime PM imbalance on error
media: platform: sti: hva: Fix runtime PM imbalance on error
media: platform: s3c-camif: Fix runtime PM imbalance on error
media: vsp1: Fix runtime PM imbalance on error
media: exynos4-is: Fix a reference count leak
media: exynos4-is: Fix a reference count leak due to pm_runtime_get_sync
media: exynos4-is: Fix several reference count leaks due to pm_runtime_get_sync
media: sti: Fix reference count leaks
media: st-delta: Fix reference count leak in delta_run_work
media: ati_remote: sanity check for both endpoints
media: firewire: fix memory leak
x86/mce: Add Skylake quirk for patrol scrub reported errors
x86/asm: Replace __force_order with a memory clobber
crypto: ccp - fix error handling
block: ratelimit handle_bad_sector() message
md/bitmap: fix memory leak of temporary bitmap
i2c: core: Restore acpi_walk_dep_device_list() getting called after registering the ACPI i2c devs
perf: correct SNOOPX field offset
sched/features: Fix !CONFIG_JUMP_LABEL case
NTB: hw: amd: fix an issue about leak system resources
nvmet: fix uninitialized work for zero kato
powerpc/pseries: Avoid using addr_to_pfn in real mode
powerpc/powernv/dump: Fix race while processing OPAL dump
lightnvm: fix out-of-bounds write to array devices->info[]
ARM: dts: meson8: remove two invalid interrupt lines from the GPU node
arm64: dts: zynqmp: Remove additional compatible string for i2c IPs
ARM: OMAP2+: Restore MPU power domain if cpu_cluster_pm_enter() fails
soc: fsl: qbman: Fix return value on success
ARM: dts: owl-s500: Fix incorrect PPI interrupt specifiers
arm64: dts: actions: limit address range for pinctrl node
arm64: dts: renesas: r8a774c0: Fix MSIOF1 DMA channels
arm64: dts: renesas: r8a77990: Fix MSIOF1 DMA channels
arm64: dts: qcom: msm8916: Fix MDP/DSI interrupts
arm64: dts: qcom: pm8916: Remove invalid reg size from wcd_codec
arm64: dts: qcom: msm8916: Remove one more thermal trip point unit name
arm64: dts: imx8mq: Add missing interrupts to GPC
memory: fsl-corenet-cf: Fix handling of platform_get_irq() error
memory: omap-gpmc: Fix build error without CONFIG_OF
memory: omap-gpmc: Fix a couple off by ones
arm64: dts: allwinner: h5: remove Mali GPU PMU module
ARM: dts: sun8i: r40: bananapi-m2-ultra: Fix dcdc1 regulator
ARM: s3c24xx: fix mmc gpio lookup tables
ARM: at91: pm: of_node_put() after its usage
ARM: dts: imx6sl: fix rng node
arm64: dts: meson: vim3: correct led polarity
netfilter: nf_fwd_netdev: clear timestamp in forwarding path
netfilter: ebtables: Fixes dropping of small packets in bridge nat
netfilter: conntrack: connection timeout after re-register
scsi: bfa: Fix error return in bfad_pci_init()
KVM: x86: emulating RDPID failure shall return #UD rather than #GP
Input: sun4i-ps2 - fix handling of platform_get_irq() error
Input: twl4030_keypad - fix handling of platform_get_irq() error
Input: omap4-keypad - fix handling of platform_get_irq() error
Input: ep93xx_keypad - fix handling of platform_get_irq() error
Input: stmfts - fix a & vs && typo
Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()
SUNRPC: fix copying of multiple pages in gss_read_proxy_verf()
clk: imx8mq: Fix usdhc parents order
vfio iommu type1: Fix memory leak in vfio_iommu_type1_pin_pages
vfio/pci: Clear token on bypass registration failure
ext4: limit entries returned when counting fsmap records
svcrdma: fix bounce buffers for unaligned offsets and multiple pages
watchdog: sp5100: Fix definition of EFCH_PM_DECODEEN3
watchdog: Use put_device on error
watchdog: Fix memleak in watchdog_cdev_register
clk: bcm2835: add missing release if devm_clk_hw_register fails
clk: at91: clk-main: update key before writing AT91_CKGR_MOR
module: statically initialize init section freeing data
clk: mediatek: add UART0 clock support
clk: rockchip: Initialize hw to error to avoid undefined behavior
pwm: img: Fix null pointer access in probe
clk: keystone: sci-clk: fix parsing assigned-clock data during probe
clk: qcom: gcc-sdm660: Fix wrong parent_map
vfio/pci: Decouple PCI_COMMAND_MEMORY bit checks from is_virtfn
PCI/IOV: Mark VFs as not implementing PCI_COMMAND_MEMORY
rpmsg: smd: Fix a kobj leak in in qcom_smd_parse_edge()
PCI: iproc: Set affinity mask on MSI interrupts
PCI: aardvark: Check for errors from pci_bridge_emul_init() call
clk: meson: g12a: mark fclk_div2 as critical
i2c: rcar: Auto select RESET_CONTROLLER
mailbox: avoid timer start from callback
rapidio: fix the missed put_device() for rio_mport_add_riodev
rapidio: fix error handling path
ramfs: fix nommu mmap with gaps in the page cache
lib/crc32.c: fix trivial typo in preprocessor condition
mm/page_owner: change split_page_owner to take a count
RDMA/rxe: Handle skb_clone() failure in rxe_recv.c
f2fs: wait for sysfs kobject removal before freeing f2fs_sb_info
selftests/powerpc: Fix eeh-basic.sh exit codes
maiblox: mediatek: Fix handling of platform_get_irq() error
RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt()
IB/rdmavt: Fix sizeof mismatch
cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_reboot_notifier
i3c: master: Fix error return in cdns_i3c_master_probe()
powerpc/perf/hv-gpci: Fix starting index value
powerpc/perf: Exclude pmc5/6 from the irrelevant PMU group constraints
RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces
overflow: Include header file with SIZE_MAX declaration
kdb: Fix pager search for multi-line strings
mtd: spinand: gigadevice: Add QE Bit
mtd: spinand: gigadevice: Only one dummy byte in QUADIO
mtd: rawnand: vf610: disable clk on error handling path in probe
RDMA/hns: Fix missing sq_sig_type when querying QP
RDMA/hns: Fix the wrong value of rnr_retry when querying qp
perf stat: Skip duration_time in setup_system_wide
i40iw: Add support to make destroy QP synchronous
RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work
RDMA/hns: Set the unsupported wr opcode
perf intel-pt: Fix "context_switch event has no tid" error
RDMA/cma: Consolidate the destruction of a cma_multicast in one place
RDMA/cma: Remove dead code for kernel rdmacm multicast
powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm
powerpc/tau: Disable TAU between measurements
powerpc/tau: Check processor type before enabling TAU interrupt
powerpc/tau: Remove duplicated set_thresholds() call
powerpc/tau: Convert from timer to workqueue
powerpc/tau: Use appropriate temperature sample interval
powerpc/book3s64/hash/4k: Support large linear mapping range with 4K
RDMA/qedr: Fix inline size returned for iWARP
RDMA/qedr: Fix return code if accept is called on a destroyed qp
RDMA/qedr: Fix use of uninitialized field
RDMA/qedr: Fix qp structure memory leak
RDMA/umem: Prevent small pages from being returned by ib_umem_find_best_pgsz()
RDMA/umem: Fix ib_umem_find_best_pgsz() for mappings that cross a page boundary
xfs: fix high key handling in the rt allocator's query_range function
xfs: fix deadlock and streamline xfs_getfsmap performance
xfs: limit entries returned when counting fsmap records
ida: Free allocated bitmap in error path
arc: plat-hsdk: fix kconfig dependency warning when !RESET_CONTROLLER
ARM: 9007/1: l2c: fix prefetch bits init in L2X0_AUX_CTRL using DT values
mtd: mtdoops: Don't write panic data twice
RDMA/mlx5: Fix potential race between destroy and CQE poll
pseries/drmem: don't cache node id in drmem_lmb struct
powerpc/pseries: explicitly reschedule during drmem_lmb list traversal
RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz()
RDMA/hns: Add a check for current state before modifying QP
mtd: lpddr: fix excessive stack usage with clang
RDMA/ucma: Add missing locking around rdma_leave_multicast()
RDMA/ucma: Fix locking for ctx->events_reported
powerpc/icp-hv: Fix missing of_node_put() in success path
powerpc/pseries: Fix missing of_node_put() in rng_init()
IB/mlx4: Adjust delayed work when a dup is observed
IB/mlx4: Fix starvation in paravirt mux/demux
i3c: master add i3c_master_attach_boardinfo to preserve boardinfo
selftests/ftrace: Change synthetic event name for inter-event-combined test
fs: fix NULL dereference due to data race in prepend_path()
mm, oom_adj: don't loop through tasks in __set_oom_adj when not necessary
mm/memcg: fix device private memcg accounting
mm/swapfile.c: fix potential memory leak in sys_swapon
netfilter: nf_log: missing vlan offload tag and proto
net: korina: fix kfree of rx/tx descriptor array
ipvs: clear skb->tstamp in forwarding path
mwifiex: fix double free
platform/x86: mlx-platform: Remove PSU EEPROM configuration
ipmi_si: Fix wrong return value in try_smi_init()
scsi: be2iscsi: Fix a theoretical leak in beiscsi_create_eqs()
scsi: target: tcmu: Fix warning: 'page' may be used uninitialized
usb: dwc2: Fix INTR OUT transfers in DDMA mode.
nl80211: fix non-split wiphy information
usb: gadget: u_ether: enable qmult on SuperSpeed Plus as well
usb: gadget: f_ncm: fix ncm_bitrate for SuperSpeed and above.
iwlwifi: mvm: split a print to avoid a WARNING in ROC
mfd: sm501: Fix leaks in probe()
net: enic: Cure the enic api locking trainwreck
iio: adc: stm32-adc: fix runtime autosuspend delay when slow polling
qtnfmac: fix resource leaks on unsupported iftype error return path
ibmvnic: set up 200GBPS speed
coresight: etm: perf: Fix warning caused by etm_setup_aux failure
nl80211: fix OBSS PD min and max offset validation
nvmem: core: fix possibly memleak when use nvmem_cell_info_to_nvmem_cell()
HID: hid-input: fix stylus battery reporting
ASoC: fsl_sai: Instantiate snd_soc_dai_driver
slimbus: qcom-ngd-ctrl: disable ngd in qmi server down callback
slimbus: core: do not enter to clock pause mode in core
slimbus: core: check get_addr before removing laddr ida
quota: clear padding in v2r1_mem2diskdqb()
usb: dwc2: Fix parameter type in function pointer prototype
ALSA: seq: oss: Avoid mutex lock for a long-time ioctl
misc: mic: scif: Fix error handling path
dmaengine: dmatest: Check list for emptiness before access its last entry
ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd()
spi: omap2-mcspi: Improve performance waiting for CHSTAT
net: dsa: rtl8366rb: Support all 4096 VLANs
ASoC: tlv320aic32x4: Fix bdiv clock rate derivation
net: wilc1000: clean up resource in error path of init mon interface
net: dsa: rtl8366: Skip PVID setting if not requested
net: dsa: rtl8366: Refactor VLAN/PVID init
net: dsa: rtl8366: Check validity of passed VLANs
xhci: don't create endpoint debugfs entry before ring buffer is set.
coresight: etm4x: Handle unreachable sink in perf mode
drm: mxsfb: check framebuffer pitch
cpufreq: armada-37xx: Add missing MODULE_DEVICE_TABLE
net: stmmac: use netif_tx_start|stop_all_queues() function
scsi: mpt3sas: Fix sync irqs
net/mlx5: Don't call timecounter cyc2time directly from 1PPS flow
pinctrl: mcp23s08: Fix mcp23x17 precious range
pinctrl: mcp23s08: Fix mcp23x17_regmap initialiser
iomap: Clear page error before beginning a write
drm/panfrost: Ensure GPU quirks are always initialised
drm/msm: Avoid div-by-zero in dpu_crtc_atomic_check()
HID: roccat: add bounds checking in kone_sysfs_write_settings()
ASoC: fsl: imx-es8328: add missing put_device() call in imx_es8328_probe()
video: fbdev: radeon: Fix memleak in radeonfb_pci_register
video: fbdev: sis: fix null ptr dereference
video: fbdev: vga16fb: fix setting of pixclock because a pass-by-value error
drivers/virt/fsl_hypervisor: Fix error handling path
pwm: lpss: Add range limit check for the base_unit register value
pwm: lpss: Fix off by one error in base_unit math in pwm_lpss_prepare()
pty: do tty_flip_buffer_push without port->lock in pty_write
tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup()
tty: serial: earlycon dependency
binder: Remove bogus warning on failed same-process transaction
drm/crc-debugfs: Fix memleak in crc_control_write
drm: panel: Fix bpc for OrtusTech COM43H4M85ULC panel
mm/error_inject: Fix allow_error_inject function signatures.
VMCI: check return value of get_user_pages_fast() for errors
staging: emxx_udc: Fix passing of NULL to dma_alloc_coherent()
backlight: sky81452-backlight: Fix refcount imbalance on error
scsi: csiostor: Fix wrong return value in csio_hw_prep_fw()
scsi: qla2xxx: Fix wrong return value in qla_nvme_register_hba()
scsi: qla2xxx: Fix wrong return value in qlt_chk_unresolv_exchg()
scsi: qla4xxx: Fix an error handling path in 'qla4xxx_get_host_stats()'
drm/gma500: fix error check
staging: rtl8192u: Do not use GFP_KERNEL in atomic context
mwifiex: Do not use GFP_KERNEL in atomic context
brcmfmac: check ndev pointer
ASoC: qcom: lpass-cpu: fix concurrency issue
ASoC: qcom: lpass-platform: fix memory leak
wcn36xx: Fix reported 802.11n rx_highest rate wcn3660/wcn3680
ath10k: Fix the size used in a 'dma_free_coherent()' call in an error handling path
ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb()
ath6kl: prevent potential array overflow in ath6kl_add_new_sta()
drm: panel: Fix bus format for OrtusTech COM43H4M85ULC panel
drm/amd/display: Fix wrong return value in dm_update_plane_state()
Bluetooth: hci_uart: Cancel init work before unregistering
drm/vkms: fix xrgb on compute crc
ath10k: provide survey info as accumulated data
blk-mq: move cancel of hctx->run_work to the front of blk_exit_queue
spi: spi-s3c64xx: Check return values
spi: spi-s3c64xx: swap s3c64xx_spi_set_cs() and s3c64xx_enable_datapath()
pinctrl: bcm: fix kconfig dependency warning when !GPIOLIB
regulator: resolve supply after creating regulator
media: ti-vpe: Fix a missing check and reference count leak
media: stm32-dcmi: Fix a reference count leak
media: s5p-mfc: Fix a reference count leak
media: camss: Fix a reference count leak.
media: platform: fcp: Fix a reference count leak.
media: rockchip/rga: Fix a reference count leak.
media: rcar-vin: Fix a reference count leak.
media: tc358743: cleanup tc358743_cec_isr
media: tc358743: initialize variable
media: mx2_emmaprp: Fix memleak in emmaprp_probe
cypto: mediatek - fix leaks in mtk_desc_ring_alloc
hwmon: (pmbus/max34440) Fix status register reads for MAX344{51,60,61}
crypto: omap-sham - fix digcnt register handling with export/import
media: rcar-csi2: Allocate v4l2_async_subdev dynamically
media: rcar_drif: Allocate v4l2_async_subdev dynamically
media: rcar_drif: Fix fwnode reference leak when parsing DT
media: i2c: ov5640: Enable data pins on poweron for DVP mode
media: i2c: ov5640: Separate out mipi configuration from s_power
media: i2c: ov5640: Remain in power down for DVP mode unless streaming
media: omap3isp: Fix memleak in isp_probe
media: staging/intel-ipu3: css: Correctly reset some memory
media: uvcvideo: Silence shift-out-of-bounds warning
media: uvcvideo: Set media controller entity functions
media: m5mols: Check function pointer in m5mols_sensor_power
media: ov5640: Correct Bit Div register in clock tree diagram
media: Revert "media: exynos4-is: Add missed check for pinctrl_lookup_state()"
media: tuner-simple: fix regression in simple_set_radio_freq
crypto: picoxcell - Fix potential race condition bug
crypto: ixp4xx - Fix the size used in a 'dma_free_coherent()' call
crypto: mediatek - Fix wrong return value in mtk_desc_ring_alloc()
crypto: algif_skcipher - EBUSY on aio should be an error
x86/events/amd/iommu: Fix sizeof mismatch
x86/nmi: Fix nmi_handle() duration miscalculation
perf/x86/intel/uncore: Reduce the number of CBOX counters
perf/x86/intel/uncore: Update Ice Lake uncore units
sched/fair: Fix wrong cpu selecting from isolated domain
drivers/perf: thunderx2_pmu: Fix memory resource error handling
drivers/perf: xgene_pmu: Fix uninitialized resource struct
x86/fpu: Allow multiple bits in clearcpuid= parameter
perf/x86/intel/ds: Fix x86_pmu_stop warning for large PEBS
EDAC/ti: Fix handling of platform_get_irq() error
EDAC/aspeed: Fix handling of platform_get_irq() error
EDAC/i5100: Fix error handling order in i5100_init_one()
crypto: caam/qi - add fallback for XTS with more than 8B IV
crypto: algif_aead - Do not set MAY_BACKLOG on the async path
ima: Don't ignore errors from crypto_shash_update()
KVM: SVM: Initialize prev_ga_tag before use
KVM: x86/mmu: Commit zap of remaining invalid pages when recovering lpages
KVM: nVMX: Reload vmcs01 if getting vmcs12's pages fails
KVM: nVMX: Reset the segment cache when stuffing guest segs
SMB3: Resolve data corruption of TCP server info fields
cifs: Return the error from crypt_message when enc/dec key not found.
cifs: remove bogus debug code
ALSA: hda/realtek: Enable audio jacks of ASUS D700SA with ALC887
ALSA: hda/realtek - Add mute Led support for HP Elitebook 845 G7
ALSA: hda/realtek - set mic to auto detect on a HP AIO machine
ALSA: hda/realtek - The front Mic on a HP machine doesn't work
icmp: randomize the global rate limiter
tcp: fix to update snd_wl1 in bulk receiver fast path
selftests: rtnetlink: load fou module for kci_test_encap_fou() test
selftests: forwarding: Add missing 'rp_filter' configuration
r8169: fix operation under forced interrupt threading
nfc: Ensure presence of NFC_ATTR_FIRMWARE_NAME attribute in nfc_genl_fw_download()
nexthop: Fix performance regression in nexthop deletion
net/sched: act_tunnel_key: fix OOB write in case of IPv6 ERSPAN tunnels
net: Properly typecast int values to set sk_max_pacing_rate
net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling ether_setup
net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device
net: ftgmac100: Fix Aspeed ast2600 TX hang issue
ibmvnic: save changed mac address to adapter->mac_addr
chelsio/chtls: correct function return and return type
chelsio/chtls: correct netdevice for vlan interface
chelsio/chtls: fix socket lock
nvme-pci: disable the write zeros command for Intel 600P/P3100
ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close
ALSA: hda: fix jack detection with Realtek codecs when in D3
ALSA: bebob: potential info leak in hwdep_read()
binder: fix UAF when releasing todo list
cxgb4: handle 4-tuple PEDIT to NAT mode translation
r8169: fix data corruption issue on RTL8402
net_sched: remove a redundant goto chain check
net/ipv4: always honour route mtu during forwarding
net: j1939: j1939_session_fresh_new(): fix missing initialization of skbcnt
can: j1935: j1939_tp_tx_dat_new(): fix missing initialization of skbcnt
can: m_can_platform: don't call m_can_class_suspend in runtime suspend
socket: fix option SO_TIMESTAMPING_NEW
tipc: fix the skb_unshare() in tipc_buf_append()
net: usb: qmi_wwan: add Cellient MPL200 card
net/tls: sendfile fails with ktls offload
net/smc: fix valid DMBE buffer sizes
net: fix pos incrementment in ipv6_route_seq_next
net: fec: Fix PHY init after phy_reset_after_clk_enable()
net: fec: Fix phy_device lookup for phy_reset_after_clk_enable()
mlx4: handle non-napi callers to napi_poll
ipv4: Restore flowi4_oif update before call to xfrm_lookup_route
ibmveth: Identify ingress large send packets.
ibmveth: Switch order of ibmveth_helper calls.
Linux 5.4.72
crypto: qat - check cipher length for aead AES-CBC-HMAC-SHA
crypto: bcm - Verify GCM/CCM key length in setkey
xen/events: don't use chip_data for legacy IRQs
reiserfs: Fix oops during mount
reiserfs: Initialize inode keys properly
USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters
USB: serial: pl2303: add device-id for HP GC device
staging: comedi: check validity of wMaxPacketSize of usb endpoints found
USB: serial: option: Add Telit FT980-KS composition
USB: serial: option: add Cellient MPL200 card
media: usbtv: Fix refcounting mixup
Bluetooth: Disconnect if E0 is used for Level 4
Bluetooth: Fix update of connection state in `hci_encrypt_cfm`
Bluetooth: Consolidate encryption handling in hci_encrypt_cfm
Bluetooth: MGMT: Fix not checking if BT_HS is enabled
Bluetooth: L2CAP: Fix calling sk_filter on non-socket based channel
Bluetooth: A2MP: Fix not initializing all members
ACPI: Always build evged in
ARM: 8939/1: kbuild: use correct nm executable
btrfs: take overcommit into account in inc_block_group_ro
btrfs: don't pass system_chunk into can_overcommit
perf cs-etm: Move definition of 'traceid_list' global variable from header file
Linux 5.4.71
net_sched: commit action insertions together
net_sched: defer tcf_idr_insert() in tcf_action_init_1()
net: usb: rtl8150: set random MAC address when set_ethernet_addr() fails
Input: ati_remote2 - add missing newlines when printing module parameters
net/mlx5e: Fix driver's declaration to support GRE offload
net/tls: race causes kernel panic
net/core: check length before updating Ethertype in skb_mpls_{push,pop}
tcp: fix receive window update in tcp_add_backlog()
mm: khugepaged: recalculate min_free_kbytes after memory hotplug as expected by khugepaged
mmc: core: don't set limits.discard_granularity as 0
perf: Fix task_function_call() error handling
rxrpc: Fix server keyring leak
rxrpc: The server keyring isn't network-namespaced
rxrpc: Fix some missing _bh annotations on locking conn->state_lock
rxrpc: Downgrade the BUG() for unsupported token type in rxrpc_read()
rxrpc: Fix rxkad token xdr encoding
net/mlx5e: Fix VLAN create flow
net/mlx5e: Fix VLAN cleanup flow
net/mlx5e: Add resiliency in Striding RQ mode for packets larger than MTU
net/mlx5: Fix request_irqs error flow
net/mlx5: Avoid possible free of command entry while timeout comp handler
virtio-net: don't disable guest csum when disable LRO
net: usb: ax88179_178a: fix missing stop entry in driver_info
r8169: fix RTL8168f/RTL8411 EPHY config
mlxsw: spectrum_acl: Fix mlxsw_sp_acl_tcam_group_add()'s error path
mdio: fix mdio-thunder.c dependency & build error
bonding: set dev->needed_headroom in bond_setup_by_slave()
net: ethernet: cavium: octeon_mgmt: use phy_start and phy_stop
iavf: Fix incorrect adapter get in iavf_resume
iavf: use generic power management
xfrm: Use correct address family in xfrm_state_find
platform/x86: fix kconfig dependency warning for FUJITSU_LAPTOP
net: stmmac: removed enabling eee in EEE set callback
xfrm: clone whole liftime_cur structure in xfrm_do_migrate
xfrm: clone XFRMA_SEC_CTX in xfrm_do_migrate
xfrm: clone XFRMA_REPLAY_ESN_VAL in xfrm_do_migrate
xfrm: clone XFRMA_SET_MARK in xfrm_do_migrate
iommu/vt-d: Fix lockdep splat in iommu_flush_dev_iotlb()
drm/amdgpu: prevent double kfree ttm->sg
openvswitch: handle DNAT tuple collision
net: team: fix memory leak in __team_options_register
team: set dev->needed_headroom in team_setup_by_port()
sctp: fix sctp_auth_init_hmacs() error path
i2c: owl: Clear NACK and BUS error bits
i2c: meson: fixup rate calculation with filter delay
i2c: meson: fix clock setting overwrite
cifs: Fix incomplete memory allocation on setxattr path
xfrmi: drop ignore_df check before updating pmtu
nvme-tcp: check page by sendpage_ok() before calling kernel_sendpage()
tcp: use sendpage_ok() to detect misused .sendpage
net: introduce helper sendpage_ok() in include/linux/net.h
mm/khugepaged: fix filemap page_to_pgoff(page) != offset
macsec: avoid use-after-free in macsec_handle_frame()
nvme-core: put ctrl ref when module ref get fail
btrfs: allow btrfs_truncate_block() to fallback to nocow for data space reservation
btrfs: fix RWF_NOWAIT write not failling when we need to cow
btrfs: Ensure we trim ranges across block group boundary
btrfs: volumes: Use more straightforward way to calculate map length
Btrfs: send, fix emission of invalid clone operations within the same file
Btrfs: send, allow clone operations within the same file
arm64: dts: stratix10: add status to qspi dts node
i2c: i801: Exclude device from suspend direct complete optimization
perf top: Fix stdio interface input handling with glibc 2.28+
perf test session topology: Fix data path
driver core: Fix probe_count imbalance in really_probe()
platform/x86: thinkpad_acpi: re-initialize ACPI buffer size when reuse
platform/x86: intel-vbtn: Switch to an allow-list for SW_TABLET_MODE reporting
bpf: Prevent .BTF section elimination
bpf: Fix sysfs export of empty BTF section
platform/x86: thinkpad_acpi: initialize tp_nvram_state variable
platform/x86: intel-vbtn: Fix SW_TABLET_MODE always reporting 1 on the HP Pavilion 11 x360
Platform: OLPC: Fix memleak in olpc_ec_probe
usermodehelper: reset umask to default before executing user process
vhost: Use vhost_get_used_size() in vhost_vring_set_addr()
vhost: Don't call access_ok() when using IOTLB
drm/nouveau/mem: guard against NULL pointer access in mem_del
net: wireless: nl80211: fix out-of-bounds access in nl80211_del_key()
io_uring: Fix double list add in io_queue_async_work()
io_uring: Fix remove irrelevant req from the task_list
io_uring: Fix missing smp_mb() in io_cancel_async_work()
io_uring: Fix resource leaking when kill the process
Revert "ravb: Fixed to be able to unload modules"
fbcon: Fix global-out-of-bounds read in fbcon_get_font()
Fonts: Support FONT_EXTRA_WORDS macros for built-in fonts
fbdev, newport_con: Move FONT_EXTRA_WORDS macros into linux/font.h
Linux 5.4.70
netfilter: ctnetlink: add a range check for l3/l4 protonum
ep_create_wakeup_source(): dentry name can change under you...
epoll: EPOLL_CTL_ADD: close the race in decision to take fast path
epoll: replace ->visited/visited_list with generation count
epoll: do not insert into poll queues until all sanity checks are done
nvme: consolidate chunk_sectors settings
nvme: Introduce nvme_lba_to_sect()
nvme: Cleanup and rename nvme_block_nr()
mm: don't rely on system state to detect hot-plug operations
mm: replace memmap_context by meminit_context
block/diskstats: more accurate approximation of io_ticks for slow disks
random32: Restore __latent_entropy attribute on net_rand_state
scripts/dtc: only append to HOST_EXTRACFLAGS instead of overwriting
Input: trackpoint - enable Synaptics trackpoints
i2c: cpm: Fix i2c_ram structure
gpio: aspeed: fix ast2600 bank properties
gpio/aspeed-sgpio: don't enable all interrupts by default
gpio/aspeed-sgpio: enable access to all 80 input & output sgpios
iommu/exynos: add missing put_device() call in exynos_iommu_of_xlate()
clk: samsung: exynos4: mark 'chipid' clock as CLK_IGNORE_UNUSED
clk: tegra: Always program PLL_E when enabled
nfs: Fix security label length not being reset
pinctrl: mvebu: Fix i2c sda definition for 98DX3236
phy: ti: am654: Fix a leak in serdes_am654_probe()
gpio: sprd: Clear interrupt when setting the type as edge
nvme-fc: fail new connections to a deleted host or remote port
nvme-pci: fix NULL req in completion handler
spi: fsl-espi: Only process interrupts for expected events
tools/io_uring: fix compile breakage
tracing: Make the space reserved for the pid wider
mac80211: do not allow bigger VHT MPDUs than the hardware supports
mac80211: Fix radiotap header channel flag for 6GHz band
drivers/net/wan/hdlc: Set skb->protocol before transmitting
drivers/net/wan/lapbether: Make skb->protocol consistent with the header
fuse: fix the ->direct_IO() treatment of iov_iter
nvme-core: get/put ctrl and transport module in nvme_dev_open/release()
rndis_host: increase sleep time in the query-response loop
net: dec: de2104x: Increase receive ring size for Tulip
drm/sun4i: mixer: Extend regmap max_register
drivers/net/wan/hdlc_fr: Add needed_headroom for PVC devices
libbpf: Remove arch-specific include path in Makefile
clocksource/drivers/timer-gx6605s: Fixup counter reload
drm/amdgpu: restore proper ref count in amdgpu_display_crtc_set_config
memstick: Skip allocating card when removing host
ftrace: Move RCU is watching check after recursion check
iio: adc: qcom-spmi-adc5: fix driver name
Input: i8042 - add nopnp quirk for Acer Aspire 5 A515
xfs: trim IO to found COW extent limit
net: virtio_vsock: Enhance connection semantics
vsock/virtio: add transport parameter to the virtio_transport_reset_no_sock()
clk: socfpga: stratix10: fix the divider for the emac_ptp_free_clk
gpio: tc35894: fix up tc35894 interrupt configuration
gpio: mockup: fix resource leak in error path
gpio: siox: explicitly support only threaded irqs
USB: gadget: f_ncm: Fix NDP16 datagram validation
mmc: sdhci: Workaround broken command queuing on Intel GLK based IRBIS models
btrfs: fix filesystem corruption after a device replace
Revert "opp: Replace list_kref with a local counter"
Revert "opp: Increase parsed_static_opps in _of_add_opp_table_v1()"
Revert "mmc: core: Fix size overflow for mmc partitions"
Revert "exec: Add exec_update_mutex to replace cred_guard_mutex"
Revert "exec: Fix a deadlock in strace"
Revert "selftests/ptrace: add test cases for dead-locks"
Revert "kernel/kcmp.c: Use new infrastructure to fix deadlocks in execve"
Revert "proc: Use new infrastructure to fix deadlocks in execve"
Revert "proc: io_accounting: Use new infrastructure to fix deadlocks in execve"
Revert "perf: Use new infrastructure to fix deadlocks in execve"
Linux 5.4.69
ata: sata_mv, avoid trigerrable BUG_ON
ata: make qc_prep return ata_completion_errors
ata: define AC_ERR_OK
kprobes: Fix compiler warning for !CONFIG_KPROBES_ON_FTRACE
dm: fix bio splitting and its bio completion order for regular IO
KVM: arm64: Assume write fault on S1PTW permission fault on instruction fetch
s390/zcrypt: Fix ZCRYPT_PERDEV_REQCNT ioctl
mm/gup: fix gup_fast with dynamic page table folding
mm, THP, swap: fix allocating cluster for swapfile by mistake
dmabuf: fix NULL pointer dereference in dma_buf_release()
btrfs: fix overflow when copying corrupt csums for a message
kprobes: tracing/kprobes: Fix to kill kprobes on initmem after boot
kprobes: Fix to check probe enabled before disarm_kprobe_ftrace()
s390/dasd: Fix zero write for FBA devices
tracing: fix double free
lib/string.c: implement stpcpy
ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation P520
ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged
ALSA: usb-audio: Add delay quirk for H570e USB headsets
scsi: lpfc: Fix initial FLOGI failure due to BBSCN not supported
x86/ioapic: Unbreak check_timer()
arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback
mm: validate pmd after splitting
KVM: SVM: Add a dedicated INVD intercept routine
KVM: x86: Reset MMU context if guest toggles CR4.SMAP or CR4.PKE
regulator: axp20x: fix LDO2/4 description
MIPS: Add the missing 'CPU_1074K' into __get_cpu_type()
regmap: fix page selection for noinc writes
regmap: fix page selection for noinc reads
ALSA: asihpi: fix iounmap in error handler
lib80211: fix unmet direct dependendices config warning when !CRYPTO
bpf: Fix a rcu warning for bpffs map pretty-print
batman-adv: mcast: fix duplicate mcast packets from BLA backbone to mesh
batman-adv: mcast: fix duplicate mcast packets in BLA backbone from mesh
batman-adv: mcast: fix duplicate mcast packets in BLA backbone from LAN
nvme-tcp: fix kconfig dependency warning when !CRYPTO
batman-adv: Add missing include for in_interrupt()
drm/sun4i: sun8i-csc: Secondary CSC register correction
net: qed: RDMA personality shouldn't fail VF load
net: qede: Disable aRFS for NPAR and 100G
net: qed: Disable aRFS for NPAR and 100G
drm/vc4/vc4_hdmi: fill ASoC card owner
bpf: Fix clobbering of r2 in bpf_gen_ld_abs
mac802154: tx: fix use-after-free
netfilter: conntrack: nf_conncount_init is failing with IPv6 disabled
batman-adv: mcast/TT: fix wrongly dropped or rerouted packets
atm: eni: fix the missed pci_disable_device() for eni_init_one()
batman-adv: bla: fix type misuse for backbone_gw hash indexing
mwifiex: Increase AES key storage size to 256 bits
clocksource/drivers/h8300_timer8: Fix wrong return value in h8300_8timer_init()
ieee802154/adf7242: check status of adf7242_read_reg
ieee802154: fix one possible memleak in ca8210_dev_com_init
objtool: Fix noreturn detection for ignored functions
i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()
drm/amdgpu/dc: Require primary plane to be enabled whenever the CRTC is
drm/amd/display: update nv1x stutter latencies
drm/amdkfd: fix a memory leak issue
EDAC/ghes: Check whether the driver is on the safe list correctly
lockdep: fix order in trace_hardirqs_off_caller()
s390/init: add missing __init annotations
i2c: aspeed: Mask IRQ status to relevant bits
RISC-V: Take text_mutex in ftrace_init_nop()
ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN Converter9 2-in-1
ASoC: wm8994: Ensure the device is resumed in wm89xx_mic_detect functions
ASoC: wm8994: Skip setting of the WM8994_MICBIAS register for WM1811
ASoC: pcm3168a: ignore 0 Hz settings
device_cgroup: Fix RCU list debugging warning
nvme: explicitly update mpath disk capacity on revalidation
net: openvswitch: use div_u64() for 64-by-32 divisions
ALSA: hda: Workaround for spurious wakeups on some Intel platforms
ALSA: hda: Always use jackpoll helper for jack update after resume
perf parse-events: Use strcmp() to compare the PMU name
opp: Increase parsed_static_opps in _of_add_opp_table_v1()
mt76: fix LED link time failure
ubi: fastmap: Free unused fastmap anchor peb during detach
scsi: qla2xxx: Retry PLOGI on FC-NVMe PRLI failure
perf tests: Fix test 68 zstd compression for s390
btrfs: qgroup: fix data leak caused by race between writeback and truncate
vfio/pci: fix racy on error and request eventfd ctx
selftests/x86/syscall_nt: Clear weird flags after each test
scsi: libfc: Skip additional kref updating work event
scsi: libfc: Handling of extra kref
mac80211: skip mpath lookup also for control port tx
nvme: fix possible deadlock when I/O is blocked
cifs: Fix double add page to memcg when cifs_readpages
vfio/pci: Clear error and request eventfd ctx after releasing
NFS: nfs_xdr_status should record the procedure name
x86/speculation/mds: Mark mds_user_clear_cpu_buffers() __always_inline
mtd: parser: cmdline: Support MTD names containing one or more colons
rapidio: avoid data race between file operation callbacks and mport_cdev_add().
mm: memcontrol: fix stat-corrupting race in charge moving
mm/swap_state: fix a data race in swapin_nr_pages
ceph: fix potential race in ceph_check_caps
PCI: tegra: Fix runtime PM imbalance on error
mtd: rawnand: omap_elm: Fix runtime PM imbalance on error
mtd: rawnand: gpmi: Fix runtime PM imbalance on error
wlcore: fix runtime pm imbalance in wlcore_regdomain_config
wlcore: fix runtime pm imbalance in wl1271_tx_work
ASoC: img-i2s-out: Fix runtime PM imbalance on error
PCI: tegra194: Fix runtime PM imbalance on error
perf kcore_copy: Fix module map when there are no modules loaded
perf metricgroup: Free metric_events on error
perf util: Fix memory leak of prefix_if_not_in
perf stat: Fix duration_time value for higher intervals
perf trace: Fix the selection for architectures to generate the errno name tables
perf evsel: Fix 2 memory leaks
KVM: PPC: Book3S HV: Close race with page faults around memslot flushes
vfio/pci: fix memory leaks of eventfd ctx
gpio: rcar: Fix runtime PM imbalance on error
btrfs: fix double __endio_write_update_ordered in direct I/O
btrfs: don't force read-only after error in drop snapshot
usb: dwc3: Increase timeout for CmdAct cleared by device controller
printk: handle blank console arguments passed in.
drm/nouveau/dispnv50: fix runtime pm imbalance on error
drm/nouveau: fix runtime pm imbalance on error
drm/nouveau/debugfs: fix runtime pm imbalance on error
e1000: Do not perform reset in reset_task if we are already down
drm/amdkfd: fix restore worker race condition
arm64/cpufeature: Drop TraceFilt feature exposure from ID_DFR0 register
scsi: cxlflash: Fix error return code in cxlflash_probe()
arm64: acpi: Make apei_claim_sea() synchronise with APEI's irq work
coresight: etm4x: Fix use-after-free of per-cpu etm drvdata
USB: EHCI: ehci-mv: fix less than zero comparison of an unsigned int
fuse: update attr_version counter on fuse_notify_inval_inode()
fuse: don't check refcount after stealing page
svcrdma: Fix backchannel return code
powerpc/traps: Make unrecoverable NMIs die instead of panic
ipmi:bt-bmc: Fix error handling and status check
drm/exynos: dsi: Remove bridge node reference in error handling path in probe function
ALSA: hda: Fix potential race in unsol event handler
tty: serial: samsung: Correct clock selection logic
tipc: fix memory leak in service subscripting
KVM: x86: handle wrap around 32-bit address space
USB: EHCI: ehci-mv: fix error handling in mv_ehci_probe()
Bluetooth: Handle Inquiry Cancel error after Inquiry Complete
phy: samsung: s5pv210-usb2: Add delay after reset
power: supply: max17040: Correct voltage reading
i2c: tegra: Restore pinmux on system resume
mm/slub: fix incorrect interpretation of s->offset
perf mem2node: Avoid double free related to realloc
media: venus: vdec: Init registered list unconditionally
atm: fix a memory leak of vcc->user_back
devlink: Fix reporter's recovery condition
dt-bindings: sound: wm8994: Correct required supplies based on actual implementaion
dpaa2-eth: fix error return code in setup_dpni()
sched/fair: Eliminate bandwidth race between throttling and distribution
arm64: cpufeature: Relax checks for AArch32 support at EL[0-2]
sparc64: vcc: Fix error return code in vcc_probe()
staging:r8188eu: avoid skb_clone for amsdu to msdu conversion
scsi: aacraid: Fix error handling paths in aac_probe_one()
net: openvswitch: use u64 for meter bucket
KVM: arm64: vgic-its: Fix memory leak on the error path of vgic_add_lpi()
KVM: arm64: vgic-v3: Retire all pending LPIs on vcpu destroy
drivers: char: tlclk.c: Avoid data race between init and interrupt handler
bdev: Reduce time holding bd_mutex in sync in blkdev_close()
perf stat: Force error in fallback on :k events
KVM: Remove CREATE_IRQCHIP/SET_PIT2 race
btrfs: fix setting last_trans for reloc roots
serial: uartps: Wait for tx_empty in console setup
scsi: qedi: Fix termination timeouts in session logout
ALSA: hda: Skip controller resume if not needed
mm/mmap.c: initialize align_offset explicitly for vm_unmapped_area
drm/amdgpu/sriov add amdgpu_amdkfd_pre_reset in gpu reset
workqueue: Remove the warning in wq_worker_sleeping()
nvmet-rdma: fix double free of rdma queue
SUNRPC: Don't start a timer on an already queued rpc task
mm/vmscan.c: fix data races using kswapd_classzone_idx
mm/swapfile: fix data races in try_to_unuse()
mm/filemap.c: clear page error before actual read
mm/kmemleak.c: use address-of operator on section symbols
powerpc/perf: Implement a global lock to avoid races between trace, core and thread imc events.
drm/amdgpu/vcn2.0: stall DPG when WPTR/RPTR reset
NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests()
PCI: pciehp: Fix MSI interrupt race
ALSA: usb-audio: Fix case when USB MIDI interface has more than one extra endpoint descriptor
ubifs: Fix out-of-bounds memory access caused by abnormal value of node_len
ubifs: ubifs_add_orphan: Fix a memory leak bug
ubifs: ubifs_jnl_write_inode: Fix a memory leak bug
PCI: Use ioremap(), not phys_to_virt() for platform ROM
netfilter: nf_tables: silence a RCU-list warning in nft_table_lookup()
svcrdma: Fix leak of transport addresses
SUNRPC: Fix a potential buffer overflow in 'svc_print_xprts()'
scsi: hpsa: correct race condition in offload enabled
IB/iser: Always check sig MR before putting it to the free pool
RDMA/rxe: Set sys_image_guid to be aligned with HW IB devices
xfs: prohibit fs freezing when using empty transactions
brcmfmac: Fix double freeing in the fmac usb data path
nvme: Fix controller creation races with teardown flow
nvme: Fix ctrl use-after-free during sysfs deletion
nvme-multipath: do not reset on unknown status
perf: Use new infrastructure to fix deadlocks in execve
proc: io_accounting: Use new infrastructure to fix deadlocks in execve
proc: Use new infrastructure to fix deadlocks in execve
kernel/kcmp.c: Use new infrastructure to fix deadlocks in execve
selftests/ptrace: add test cases for dead-locks
exec: Fix a deadlock in strace
exec: Add exec_update_mutex to replace cred_guard_mutex
tools: gpio-hammer: Avoid potential overflow in main
cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_work_fn
net: axienet: Propagate failure of DMA descriptor setup
net: axienet: Convert DMA error handler to a work queue
perf cpumap: Fix snprintf overflow check
serial: 8250: 8250_omap: Terminate DMA before pushing data on RX timeout
serial: 8250_omap: Fix sleeping function called from invalid context during probe
serial: 8250_port: Don't service RX FIFO if throttled
r8169: improve RTL8168b FIFO overflow workaround
btrfs: free the reloc_control in a consistent way
btrfs: do not init a reloc root if we aren't relocating
perf parse-events: Fix 3 use after frees found with clang ASAN
KVM: LAPIC: Mark hrtimer for period or oneshot mode to expire in hard interrupt context
thermal: rcar_thermal: Handle probe error gracefully
tracing: Use address-of operator on section symbols
drm/msm/a5xx: Always set an OPP supported hardware value
drm/msm: fix leaks if initialization fails
KVM: PPC: Book3S HV: Treat TM-related invalid form instructions on P9 like the valid ones
intel_th: Disallow multi mode on devices where it's broken
RDMA/cm: Remove a race freeing timewait_info
nfsd: Don't add locks to closed or closing open stateids
rtc: ds1374: fix possible race condition
rtc: sa1100: fix possible race condition
tpm: ibmvtpm: Wait for buffer to be set before proceeding
ext4: mark block bitmap corrupted when found instead of BUGON
xfs: mark dir corrupt when lookup-by-hash fails
xfs: don't ever return a stale pointer from __xfs_dir3_free_read
tty: sifive: Finish transmission before changing the clock
media: tda10071: fix unsigned sign extension overflow
Bluetooth: L2CAP: handle l2cap config request during open state
scsi: aacraid: Disabling TM path and only processing IOP reset
ath10k: use kzalloc to read for ath10k_sdio_hif_diag_read
perf cs-etm: Correct synthesizing instruction samples
perf cs-etm: Swap packets for instruction samples
s390/irq: replace setup_irq() by request_irq()
cpu-topology: Fix the potential data corruption
clk: imx: Fix division by zero warning on pfdv2
drm/amd/display: Stop if retimer is not available
ARM: OMAP2+: Handle errors for cpu_pm
drm/amdgpu: increase atombios cmd timeout
mm: avoid data corruption on CoW fault into PFN-mapped VMA
perf jevents: Fix leak of mapfile memory
ext4: fix a data race at inode->i_disksize
drm/amd/display: fix image corruption with ODM 2:1 DSC 2 slice
powerpc/book3s64: Fix error handling in mm_iommu_do_alloc()
timekeeping: Prevent 32bit truncation in scale64_check_overflow()
Bluetooth: guard against controllers sending zero'd events
media: go7007: Fix URB type for interrupt handling
ASoC: SOF: ipc: check ipc return value before data copy
bus: hisi_lpc: Fixup IO ports addresses to avoid use-after-free in host removal
random: fix data races at timer_rand_state
firmware: arm_sdei: Use cpus_read_lock() to avoid races with cpuhp
iavf: use tc_cls_can_offload_and_chain0() instead of chain check
drm/omap: dss: Cleanup DSS ports on initialisation failure
drm/amd/display: dal_ddc_i2c_payloads_create can fail causing panic
soundwire: bus: disable pm_runtime in sdw_slave_delete
dmaengine: tegra-apb: Prevent race conditions on channel's freeing
dmaengine: stm32-dma: use vchan_terminate_vdesc() in .terminate_all
bpf: Remove recursion prevention from rcu free callback
x86/pkeys: Add check for pkey "overflow"
media: staging/imx: Missing assignment in imx_media_capture_device_register()
dmaengine: stm32-mdma: use vchan_terminate_vdesc() in .terminate_all
KVM: nVMX: Hold KVM's srcu lock when syncing vmcs12->shadow
KVM: x86: fix incorrect comparison in trace event
RDMA/rxe: Fix configuration of atomic queue pair attributes
perf test: Fix test trace+probe_vfs_getname.sh on s390
ALSA: usb-audio: Don't create a mixer element with bogus volume range
mt76: fix handling full tx queues in mt76_dma_tx_queue_skb_raw
mt76: clear skb pointers from rx aggregation reorder buffer during cleanup
crypto: chelsio - This fixes the kernel panic which occurs during a libkcapi test
clk: stratix10: use do_div() for 64-bit calculation
locking/lockdep: Decrement IRQ context counters when removing lock chain
drm/omap: fix possible object reference leak
scsi: lpfc: Fix coverity errors in fmdi attribute handling
scsi: lpfc: Fix release of hwq to clear the eq relationship
scsi: lpfc: Fix RQ buffer leakage when no IOCBs available
selinux: sel_avc_get_stat_idx should increase position index
audit: CONFIG_CHANGE don't log internal bookkeeping as an event
drm/amd/display: fix workaround for incorrect double buffer register for DLG ADL and TTU
nfsd: Fix a perf warning
skbuff: fix a data race in skb_queue_len()
ALSA: hda: Clear RIRB status before reading WP
KVM: fix overflow of zero page refcount with ksm running
Bluetooth: prefetch channel before killing sock
mm: pagewalk: fix termination condition in walk_pte_range()
mm/swapfile.c: swap_next should increase position index
Bluetooth: Fix refcount use-after-free issue
tools/power/x86/intel_pstate_tracer: changes for python 3 compatibility
selftests/ftrace: fix glob selftest
ceph: ensure we have a new cap before continuing in fill_inode
ar5523: Add USB ID of SMCWUSBT-G2 wireless adapter
ARM: 8948/1: Prevent OOB access in stacktrace
tracing: Set kernel_stack's caller size properly
Bluetooth: btrtl: Use kvmalloc for FW allocations
powerpc/eeh: Only dump stack once if an MMIO loop is detected
nfsd: Fix a soft lockup race in nfsd_file_mark_find_or_create()
s390/cpum_sf: Use kzalloc and minor changes
dmaengine: zynqmp_dma: fix burst length configuration
btrfs: tree-checker: Check leaf chunk item size
i2c: tegra: Prevent interrupt triggering after transfer timeout
drm/amd/display: Initialize DSC PPS variables to 0
scsi: ufs: Fix a race condition in the tracing code
scsi: ufs: Make ufshcd_add_command_trace() easier to read
ACPI: EC: Reference count query handlers under lock
sctp: move trace_sctp_probe_path into sctp_outq_sack
scsi: lpfc: Fix incomplete NVME discovery when target
scsi: qla2xxx: Fix stuck session in GNL
opp: Replace list_kref with a local counter
media: ti-vpe: cal: Restrict DMA to avoid memory corruption
drm/scheduler: Avoid accessing freed bad job.
seqlock: Require WRITE_ONCE surrounding raw_seqcount_barrier
drm/mcde: Handle pending vblank while disabling display
ipv6_route_seq_next should increase position index
rt_cpu_seq_next should increase position index
neigh_stat_seq_next() should increase position index
vcc_seq_next should increase position index
tipc: fix link overflow issue at socket shutdown
ALSA: hda: enable regmap internal locking
xfs: fix log reservation overflows when allocating large rt extents
module: Remove accidental change of module_enable_x()
KVM: arm/arm64: vgic: Fix potential double free dist->spis in __kvm_vgic_destroy()
kernel/sys.c: avoid copying possible padding bytes in copy_to_user
kernel/notifier.c: intercept duplicate registrations to avoid infinite loops
selftests/bpf: De-flake test_tcpbpf
arm64: insn: consistently handle exit text
drm/amdgpu: fix calltrace during kmd unload(v3)
xfs: fix realtime file data space leak
s390: avoid misusing CALL_ON_STACK for task stack setup
xtensa: fix system_call interaction with ptrace
ASoC: max98090: remove msleep in PLL unlocked workaround
f2fs: stop GC when the victim becomes fully valid
CIFS: Properly process SMB3 lease breaks
CIFS: Use common error handling code in smb2_ioctl_query_info()
SUNRPC: Capture completion of all RPC tasks
debugfs: Fix !DEBUG_FS debugfs_create_automount
mt76: add missing locking around ampdu action
mt76: do not use devm API for led classdev
scsi: pm80xx: Cleanup command when a reset times out
gfs2: clean up iopen glock mess in gfs2_create_inode
mmc: core: Fix size overflow for mmc partitions
ubi: Fix producing anchor PEBs
RDMA/iw_cgxb4: Fix an error handling path in 'c4iw_connect()'
xfs: fix attr leaf header freemap.size underflow
fix dget_parent() fastpath race
PCI: Avoid double hpmemsize MMIO window assignment
RDMA/i40iw: Fix potential use after free
RDMA/qedr: Fix potential use after free
x86/kdump: Always reserve the low 1M when the crashkernel option is specified
dmaengine: mediatek: hsdma_probe: fixed a memory leak when devm_request_irq fails
bcache: fix a lost wake-up problem caused by mca_cannibalize_lock
tracing: Adding NULL checks for trace_array descriptor pointer
tracing: Verify if trace array exists before destroying it.
tpm_crb: fix fTPM on AMD Zen+ CPUs
drm/amdgpu/powerplay/smu7: fix AVFS handling with custom powerplay table
mfd: mfd-core: Protect against NULL call-back function pointer
mtd: cfi_cmdset_0002: don't free cfi->cfiq in error path of cfi_amdstd_setup()
ice: Fix to change Rx/Tx ring descriptor size via ethtool with DCBx
drm/amdgpu/powerplay: fix AVFS handling with custom powerplay table
clk/ti/adpll: allocate room for terminating null
f2fs: avoid kernel panic on corruption test
iomap: Fix overflow in iomap_page_mkwrite
dax: Fix alloc_dax_region() compile warning
net: silence data-races on sk_backlog.tail
powerpc/64s: Always disable branch profiling for prom_init.o
scsi: lpfc: Fix kernel crash at lpfc_nvme_info_show during remote port bounce
scsi: fnic: fix use after free
PM / devfreq: tegra30: Fix integer overflow on CPU's freq max out
dm table: do not allow request-based DM to stack on partitions
leds: mlxreg: Fix possible buffer overflow
xfs: properly serialise fallocate against AIO+DIO
drm/amd/display: Free gamma after calculating legacy transfer function
media: smiapp: Fix error handling at NVM reading
soundwire: intel/cadence: fix startup sequence
ASoC: kirkwood: fix IRQ error handling
gma/gma500: fix a memory disclosure bug due to uninitialized bytes
xfs: fix inode fork extent count overflow
m68k: q40: Fix info-leak in rtc_ioctl
scsi: aacraid: fix illegal IO beyond last LBA
mm: fix double page fault on arm64 if PTE_AF is cleared
PCI/IOV: Serialize sysfs sriov_numvfs reads vs writes
ath10k: fix memory leak for tpc_stats_final
ath10k: fix array out-of-bounds access
scsi: qla2xxx: Add error handling for PLOGI ELS passthrough
dma-fence: Serialise signal enabling (dma_fence_enable_sw_signaling)
drm/amdkfd: Fix race in gfx10 context restore handler
drm/amd/display: Do not double-buffer DTO adjustments
media: mc-device.c: fix memleak in media_device_register_entity
selinux: allow labeling before policy is loaded
scsi: mpt3sas: Free diag buffer without any status check
scsi: lpfc: Fix pt2pt discovery on SLI3 HBAs
kernel/sysctl-test: Add null pointer test for sysctl.c:proc_dointvec()
Linux 5.4.68
iommu/amd: Use cmpxchg_double() when updating 128-bit IRTE
mm: memcg: fix memcg reclaim soft lockup
net: add __must_check to skb_put_padto()
net: qrtr: check skb_put_padto() return value
net: phy: Do not warn in phy_stop() on PHY_DOWN
net: phy: Avoid NPD upon phy_detach() when driver is unbound
net: lantiq: Disable IRQs only if NAPI gets scheduled
net: lantiq: Use napi_complete_done()
net: lantiq: use netif_tx_napi_add() for TX NAPI
net: lantiq: Wake TX queue again
bnxt_en: Protect bnxt_set_eee() and bnxt_set_pauseparam() with mutex.
bnxt_en: return proper error codes in bnxt_show_temp
net/mlx5e: TLS, Do not expose FPGA TLS counter if not supported
net/mlx5e: Enable adding peer miss rules only if merged eswitch is supported
tipc: use skb_unshare() instead in tipc_buf_append()
tipc: fix shutdown() of connection oriented socket
tipc: Fix memory leak in tipc_group_create_member()
taprio: Fix allowing too small intervals
nfp: use correct define to return NONE fec
net: sctp: Fix IPv6 ancestor_size calc in sctp_copy_descendant
net: sch_generic: aviod concurrent reset and enqueue op for lockless qdisc
net/mlx5: Fix FTE cleanup
net: ipv6: fix kconfig dependency warning for IPV6_SEG6_HMAC
net: Fix bridge enslavement failure
net: dsa: rtl8366: Properly clear member config
net: DCB: Validate DCB_ATTR_DCB_BUFFER argument
net: bridge: br_vlan_get_pvid_rcu() should dereference the VLAN group under RCU
ipv6: avoid lockdep issue in fib6_del()
ipv4: Update exception handling for multipath routes via same device
ipv4: Initialize flowi4_multipath_hash in data path
ip: fix tos reflection in ack and reset packets
hdlc_ppp: add range checks in ppp_cp_parse_cr()
geneve: add transport ports in route lookup for geneve
cxgb4: Fix offset when clearing filter byte counters
cxgb4: fix memory leak during module unload
bnxt_en: Fix NULL ptr dereference crash in bnxt_fw_reset_task()
bnxt_en: Avoid sending firmware messages when AER error is detected.
act_ife: load meta modules before tcf_idr_check_alloc()
mm/thp: fix __split_huge_pmd_locked() for migration PMD
kprobes: fix kill kprobe which has been marked as gone
ibmvnic: add missing parenthesis in do_reset()
ibmvnic fix NULL tx_pools and rx_tools issue at do_reset
af_key: pfkey_dump needs parameter validation
Revert "ehci-hcd: Move include to keep CRC stable"
Linux 5.4.67
dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX
dm: Call proper helper to determine dax support
mm/memory_hotplug: drain per-cpu pages again during memory offline
dm/dax: Fix table reference counts
selftests/vm: fix display of page size in map_hugetlb
powerpc/dma: Fix dma_map_ops::get_required_mask
ehci-hcd: Move include to keep CRC stable
s390/zcrypt: fix kmalloc 256k failure
x86/boot/compressed: Disable relocation relaxation
serial: 8250_pci: Add Realtek 816a and 816b
Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists
Input: trackpoint - add new trackpoint variant IDs
percpu: fix first chunk size calculation for populated bitmap
ALSA: hda/realtek - The Mic on a RedmiBook doesn't work
ALSA: hda: fixup headset for ASUS GX502 laptop
Revert "ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO"
i2c: i801: Fix resume bug
usb: typec: ucsi: Prevent mode overrun
usblp: fix race between disconnect() and read()
USB: UAS: fix disconnect by unplugging a hub
USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin notebook
drm/i915: Filter wake_flags passed to default_wake_function
riscv: Add sfence.vma after early page table changes
i2c: mxs: use MXS_DMA_CTRL_WAIT4END instead of DMA_CTRL_ACK
iommu/amd: Fix potential @entry null deref
arm64: bpf: Fix branch offset in JIT
drm/mediatek: Add missing put_device() call in mtk_hdmi_dt_parse_pdata()
drm/mediatek: Add exception handing in mtk_drm_probe() if component init fail
MIPS: SNI: Fix spurious interrupts
fbcon: Fix user font detection test at fbcon_resize().
perf test: Free formats for perf pmu parse test
perf parse-event: Fix memory leak in evsel->unit
perf evlist: Fix cpu/thread map leak
MIPS: SNI: Fix MIPS_L1_CACHE_SHIFT
perf test: Fix the "signal" test inline assembly
Drivers: hv: vmbus: Add timeout to vmbus_wait_for_unload
arm64: Allow CPUs unffected by ARM erratum 1418040 to come in late
scsi: libsas: Fix error path in sas_notify_lldd_dev_found()
Drivers: hv: vmbus: hibernation: do not hang forever in vmbus_bus_resume()
ASoC: meson: axg-toddr: fix channel order on g12 platforms
powerpc/book3s64/radix: Fix boot failure with large amount of guest memory
ASoC: qcom: common: Fix refcount imbalance on error
ASoC: qcom: Set card->owner to avoid warnings
clk: rockchip: Fix initialization of mux_pll_src_4plls_p
clk: davinci: Use the correct size when allocating memory
KVM: MIPS: Change the definition of kvm type
spi: Fix memory leak on splited transfers
i2c: algo: pca: Reapply i2c bus settings after reset
f2fs: Return EOF on unaligned end of file DIO read
f2fs: fix indefinite loop scanning for free nid
block: only call sched requeue_request() for scheduled requests
nvme-tcp: cancel async events before freeing event struct
nvme-rdma: cancel async events before freeing event struct
nvme-fc: cancel async events before freeing event struct
openrisc: Fix cache API compile issue when not inlining
cifs: fix DFS mount with cifsacl/modefromsid
rapidio: Replace 'select' DMAENGINES 'with depends on'
SUNRPC: stop printk reading past end of string
NFS: Zero-stateid SETATTR should first return delegation
spi: spi-loopback-test: Fix out-of-bounds read
regulator: pwm: Fix machine constraints application
scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery
scsi: libfc: Fix for double free()
scsi: pm8001: Fix memleak in pm8001_exec_internal_task_abort
NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall
firmware_loader: fix memory leak for paged buffer
hv_netvsc: Remove "unlikely" from netvsc_select_queue
net: handle the return value of pskb_carve_frag_list() correctly
dsa: Allow forwarding of redirected IGMP traffic
e1000e: Add support for Comet Lake
RDMA/bnxt_re: Restrict the max_gids to 256
gfs2: initialize transaction tr_ailX_lists earlier
Revert "netfilter: conntrack: allow sctp hearbeat after connection re-use"
Linux 5.4.66
gcov: add support for GCC 10.1
drm/msm: Disable the RPTR shadow
drm/msm/gpu: make ringbuffer readonly
usb: typec: ucsi: acpi: Check the _DEP dependencies
usb: Fix out of sync data toggle if a configured device is reconfigured
USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules
USB: serial: option: support dynamic Quectel USB compositions
USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter
usb: core: fix slab-out-of-bounds Read in read_descriptors
phy: qcom-qmp: Use correct values for ipq8074 PCIe Gen2 PHY init
staging: greybus: audio: fix uninitialized value issue
video: fbdev: fix OOB read in vga_8planes_imageblit()
ARM: dts: vfxxx: Add syscon compatible with OCOTP
debugfs: Fix module state check condition
KVM: fix memory leak in kvm_io_bus_unregister_dev()
KVM: arm64: Do not try to map PUDs when they are folded into PMD
KVM: VMX: Don't freeze guest when event delivery causes an APIC-access exit
vgacon: remove software scrollback support
fbcon: remove now unusued 'softback_lines' cursor() argument
fbcon: remove soft scrollback code
RDMA/mlx4: Read pkey table length instead of hardcoded value
RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars
rbd: require global CAP_SYS_ADMIN for mapping and unmapping
mmc: sdhci-of-esdhc: Don't walk device-tree on every interrupt
mmc: sdio: Use mmc_pre_req() / mmc_post_req()
drm/msm: Disable preemption on all 5xx targets
drm/tve200: Stabilize enable/disable
drm/i915/gvt: do not check len & max_len for lri
scsi: target: iscsi: Fix hang in iscsit_access_np() when getting tpg->np_login_sem
scsi: target: iscsi: Fix data digest calculation
regulator: core: Fix slab-out-of-bounds in regulator_unlock_recursive()
regulator: plug of_node leak in regulator_register()'s error path
regulator: push allocation in set_consumer_device_supply() out of lock
regulator: push allocations in create_regulator() outside of lock
regulator: push allocation in regulator_init_coupling() outside of lock
kobject: Restore old behaviour of kobject_del(NULL)
btrfs: fix wrong address when faulting in pages in the search ioctl
btrfs: fix lockdep splat in add_missing_dev
btrfs: require only sector size alignment for parent eb bytenr
staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb()
iio:accel:mma8452: Fix timestamp alignment and prevent data leak.
iio:accel:mma7455: Fix timestamp alignment and prevent data leak.
iio: accel: kxsd9: Fix alignment of local buffer.
iio:chemical:ccs811: Fix timestamp alignment and prevent data leak.
iio:light:max44000 Fix timestamp alignment and prevent data leak.
iio:magnetometer:ak8975 Fix alignment and data leak issues.
iio:adc:ti-adc081c Fix alignment and data leak issues
iio:adc:max1118 Fix alignment of timestamp and data leak issues
iio:adc:ina2xx Fix timestamp alignment issue.
iio:adc:ti-adc084s021 Fix alignment and data leak issues.
iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak.
iio:proximity:mb1232: Fix timestamp alignment and prevent data leak.
iio:light:ltr501 Fix timestamp alignment issue.
iio: cros_ec: Set Gyroscope default frequency to 25Hz
iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set
gcov: Disable gcov build with GCC 10
iommu/amd: Do not use IOMMUv2 functionality when SME is active
drm/amdgpu: Fix bug in reporting voltage for CIK
ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled
ALSA: hda: hdmi - add Rocketlake support
arm64/module: set trampoline section flags regardless of CONFIG_DYNAMIC_FTRACE
cpufreq: intel_pstate: Fix intel_pstate_get_hwp_max() for turbo disabled
cpufreq: intel_pstate: Refuse to turn off with HWP enabled
ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id
HID: elan: Fix memleak in elan_input_configured
drivers/net/wan/hdlc_cisco: Add hard_header_len
HID: microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller
HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 devices
nvme-pci: cancel nvme device request before disabling
nvme-rdma: fix reset hang if controller died in the middle of a reset
nvme-rdma: fix timeout handler
nvme-rdma: serialize controller teardown sequences
nvme-tcp: fix reset hang if controller died in the middle of a reset
nvme-tcp: fix timeout handler
nvme-tcp: serialize controller teardown sequences
nvme: have nvme_wait_freeze_timeout return if it timed out
nvme-fabrics: don't check state NVME_CTRL_NEW for request acceptance
nvmet-tcp: Fix NULL dereference when a connect data comes in h2cdata pdu
irqchip/eznps: Fix build error for !ARC700 builds
xfs: initialize the shortform attr header padding entry
cfg80211: Adjust 6 GHz frequency to channel conversion
drivers/net/wan/lapbether: Set network_header before transmitting
xfs: fix off-by-one in inode alloc block reservation calculation
net: hns3: Fix for geneve tx checksum bug
drivers/dma/dma-jz4780: Fix race condition between probe and irq handler
ALSA: hda/tegra: Program WAKEEN register for Tegra
ALSA: hda: Fix 2 channel swapping for Tegra
firestream: Fix memleak in fs_open
NFC: st95hf: Fix memleak in st95hf_in_send_cmd
drivers/net/wan/lapbether: Added needed_tailroom
netfilter: conntrack: allow sctp hearbeat after connection re-use
dmaengine: acpi: Put the CSRT table after using it
ARC: HSDK: wireup perf irq
arm64: dts: ns2: Fixed QSPI compatible string
ARM: dts: BCM5301X: Fixed QSPI compatible string
ARM: dts: NSP: Fixed QSPI compatible string
ARM: dts: bcm: HR2: Fixed QSPI compatible string
IB/isert: Fix unaligned immediate-data handling
block: Set same_page to false in __bio_try_merge_page if ret is false
spi: stm32: fix pm_runtime_get_sync() error checking
nvme-fabrics: allow to queue requests for live queues
spi: stm32: Rate-limit the 'Communication suspended' message
mmc: sdhci-msm: Add retries when all tuning phases are found valid
mmc: sdhci-acpi: Clear amd_sdhci_host on reset
drm/sun4i: backend: Disable alpha on the lowest plane on the A20
drm/sun4i: backend: Support alpha property on lowest plane
soundwire: fix double free of dangling pointer
scsi: mpt3sas: Don't call disable_irq from IRQ poll handler
scsi: megaraid_sas: Don't call disable_irq from process IRQ poll
RDMA/core: Fix reported speed and width
scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA
iio: adc: mcp3422: fix locking scope
iio: adc: mcp3422: fix locking on error path
drm/sun4i: Fix dsi dcs long write function
arm64: dts: imx8mq: Fix TMU interrupt property
drm/sun4i: add missing put_device() call in sun8i_r40_tcon_tv_set_mux()
RDMA/bnxt_re: Do not report transparent vlan from QP1
RDMA/rxe: Fix panic when calling kmem_cache_create()
RDMA/rxe: Drop pointless checks in rxe_init_ports
RDMA/rxe: Fix memleak in rxe_mem_init_user
ARM: dts: imx7ulp: Correct gpio ranges
ARM: dts: ls1021a: fix QuadSPI-memory reg range
selftests/timers: Turn off timeout setting
ARM: dts: socfpga: fix register entry for timer3 on Arria10
regulator: remove superfluous lock in regulator_resolve_coupling()
regulator: push allocation in regulator_ena_gpio_request() out of lock
ARM: dts: logicpd-som-lv-baseboard: Fix missing video
ARM: dts: logicpd-som-lv-baseboard: Fix broken audio
ARM: dts: logicpd-torpedo-baseboard: Fix broken audio
Linux 5.4.65
net: disable netpoll on fresh napis
tipc: fix shutdown() of connectionless socket
taprio: Fix using wrong queues in gate mask
sctp: not disable bh in the whole sctp_get_port_local()
net: usb: dm9601: Add USB ID of Keenetic Plus DSL
netlabel: fix problems with mapping removal
ipv6: Fix sysctl max for fib_multipath_hash_policy
ipv4: Silence suspicious RCU usage warning
Linux 5.4.64
net: usb: Fix uninit-was-stored issue in asix_read_phy_addr()
cfg80211: regulatory: reject invalid hints
mm/khugepaged.c: fix khugepaged's request size in collapse_file
mm/hugetlb: fix a race between hugetlb sysctl handlers
checkpatch: fix the usage of capture group ( ... )
sdhci: tegra: Add missing TMCLK for data timeout
perf record: Correct the help info of option "--no-bpf-event"
vfio/pci: Fix SR-IOV VF handling with MMIO blocking
mm: madvise: fix vma user-after-free
mm: slub: fix conversion of freelist_corrupted()
dm thin metadata: Fix use-after-free in dm_bm_set_read_only
dm thin metadata: Avoid returning cmd->bm wild pointer on error
dm cache metadata: Avoid returning cmd->bm wild pointer on error
dm crypt: Initialize crypto wait structures
dm integrity: fix error reporting in bitmap mode after creation
dm mpath: fix racey management of PG initialization
dm writecache: handle DAX to partitions on persistent memory correctly
drm/amd/pm: avoid false alarm due to confusing softwareshutdowntemp setting
dmaengine: dw-edma: Fix scatter-gather address calculation
blk-iocost: ioc_pd_free() shouldn't assume irq disabled
libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks
block: ensure bdi->io_pages is always initialized
block: allow for_each_bvec to support zero len bvec
affs: fix basic permission bits to actually work
media: rc: uevent sysfs file races with rc_unregister_device()
media: rc: do not access device via sysfs after rc_unregister_device()
mmc: sdhci-pci: Fix SDHCI_RESET_ALL for CQHCI for Intel GLK-based controllers
mmc: cqhci: Add cqhci_deactivate()
mmc: dt-bindings: Add resets/reset-names for Mediatek MMC bindings
mmc: mediatek: add optional module reset property
arm64: dts: mt7622: add reset node for mmc device
ALSA: hda/realtek - Improved routing for Thinkpad X1 7th/8th Gen
ALSA: hda/realtek: Add quirk for Samsung Galaxy Book Ion NT950XCJ-X716A
ALSA; firewire-tascam: exclude Tascam FE-8 from detection
ALSA: hda - Fix silent audio output and corrupted input on MSI X570-A PRO
ALSA: firewire-digi00x: exclude Avid Adrenaline from detection
ALSA: hda/hdmi: always check pin power status in i915 pin fixup
ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check
ALSA: usb-audio: Add implicit feedback quirk for UR22C
ALSA: ca0106: fix error code handling
Revert "ALSA: hda: Add support for Loongson 7A1000 controller"
Revert "net: dsa: microchip: set the correct number of ports"
btrfs: fix potential deadlock in the search ioctl
net: core: use listified Rx for GRO_NORMAL in napi_gro_receive()
btrfs: tree-checker: fix the error message for transid error
btrfs: set the lockdep class for log tree extent buffers
btrfs: set the correct lockdep class for new nodes
btrfs: allocate scrub workqueues outside of locks
btrfs: drop path before adding new uuid tree entry
ARC: perf: don't bail setup if pct irq missing in device-tree
xfs: don't update mtime on COW faults
ext2: don't update mtime on COW faults
tracing/kprobes, x86/ptrace: Fix regs argument order for i386
iommu/vt-d: Handle 36bit addressing for x86-32
vfio-pci: Invalidate mmaps and block MMIO access on disabled memory
vfio-pci: Fault mmaps to enable vma tracking
vfio/type1: Support faulting PFNMAP vmas
include/linux/log2.h: add missing () around n in roundup_pow_of_two()
net/packet: fix overflow in tpacket_rcv
iommu/amd: Restore IRTE.RemapEn bit after programming IRTE
thermal: qcom-spmi-temp-alarm: Don't suppress negative temp
thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430
iommu/vt-d: Serialize IOMMU GCMD register modifications
x86, fakenuma: Fix invalid starting node ID
tg3: Fix soft lockup when tg3_reset_task() fails.
perf jevents: Fix suspicious code in fixregex()
xfs: fix xfs_bmap_validate_extent_raw when checking attr fork of rt files
MIPS: add missing MSACSR and upper MSA initialization
net: gemini: Fix another missing clk_disable_unprepare() in probe
fix regression in "epoll: Keep a reference on files added to the check list"
net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init()
perf tools: Correct SNOOPX field offset
cxgb4: fix thermal zone device registration
nvme: fix controller instance leak
nvmet-fc: Fix a missed _irqsave version of spin_lock in 'nvmet_fc_fod_op_done()'
netfilter: nfnetlink: nfnetlink_unicast() reports EAGAIN instead of ENOBUFS
net: dsa: mt7530: fix advertising unsupported 1000baseT_Half
selftests/bpf: Fix massive output from test_maps
media: cedrus: Add missing v4l2_ctrl_request_hdl_put()
media: vicodec: add missing v4l2_ctrl_request_hdl_put()
bnxt: don't enable NAPI until rings are ready
xfs: fix boundary test in xfs_attr_shortform_verify
bnxt_en: fix HWRM error when querying VF temperature
bnxt_en: Fix possible crash in bnxt_fw_reset_task().
bnxt_en: Fix PCI AER error recovery flow
bnxt_en: Check for zero dir entries in NVRAM.
bnxt_en: Don't query FW when netif_running() is false.
net: ethernet: ti: cpsw: fix clean up of vlan mc entries for host port
gtp: add GTPA_LINK info to msg sent to userspace
dmaengine: pl330: Fix burst length if burst size is smaller than bus width
net: arc_emac: Fix memleak in arc_mdio_probe
ravb: Fixed to be able to unload modules
net: systemport: Fix memleak in bcm_sysport_probe
net: hns: Fix memleak in hns_nic_dev_probe
netfilter: nf_tables: fix destination register zeroing
netfilter: nf_tables: incorrect enum nft_list_attributes definition
netfilter: nf_tables: add NFTA_SET_USERDATA if not null
mmc: sdhci-acpi: Fix HS400 tuning for AMDI0040
MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores
MIPS: mm: BMIPS5000 has inclusive physical caches
rxrpc: Make rxrpc_kernel_get_srtt() indicate validity
rxrpc: Keep the ACK serial in a var in rxrpc_input_ack()
dmaengine: at_hdmac: check return value of of_find_device_by_node() in at_dma_xlate()
batman-adv: bla: use netif_rx_ni when not in interrupt context
batman-adv: Fix own OGM check in aggregated OGMs
batman-adv: Avoid uninitialized chaddr when handling DHCP
dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling
fsldma: fix very broken 32-bit ppc ioread64 functionality
xen/xenbus: Fix granting of vmalloc'd memory
drm/amd/display: Fix memleak in amdgpu_dm_mode_config_init
drm/amd/display: Retry AUX write when fail occurs
drivers: gpu: amd: Initialize amdgpu_dm_backlight_caps object to 0 in amdgpu_dm_update_backlight_caps
drm/amd/display: Reject overlay plane configurations in multi-display scenarios
s390: don't trace preemption in percpu macros
nbd: restore default timeout when setting it to zero
cpuidle: Fixup IRQ state
drm/omap: fix incorrect lock state
ceph: don't allow setlease on cephfs
drm/msm/a6xx: fix gmu start on newer firmware
habanalabs: check correct vmalloc return code
habanalabs: validate FW file size
drm/msm: enable vblank during atomic commits
nvmet: Disable keep-alive timer when kato is cleared to 0h
hwmon: (applesmc) check status earlier.
drm/msm: add shutdown support for display platform_driver
tty: serial: qcom_geni_serial: Drop __init from qcom_geni_console_setup
drm/msm/dpu: Fix scale params in plane validation
HID: quirks: Always poll three more Lenovo PixArt mice
Linux 5.4.63
scsi: target: tcmu: Optimize use of flush_dcache_page
scsi: target: tcmu: Fix size in calls to tcmu_flush_dcache_range
sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra186
sdhci: tegra: Remove SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK for Tegra210
arm64: tegra: Add missing timeout clock to Tegra210 SDMMC
arm64: tegra: Add missing timeout clock to Tegra186 SDMMC nodes
arm64: tegra: Add missing timeout clock to Tegra194 SDMMC nodes
dt-bindings: mmc: tegra: Add tmclk for Tegra210 and later
KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception
KVM: arm64: Survive synchronous exceptions caused by AT instructions
KVM: arm64: Add kvm_extable for vaxorcism code
drm/etnaviv: fix TS cache flushing on GPUs with BLT engine
drm/sched: Fix passing zero to 'PTR_ERR' warning v2
perf record/stat: Explicitly call out event modifiers in the documentation
HID: core: Sanitize event code and type when mapping input
HID: core: Correctly handle ReportSize being zero
Linux 5.4.62
io_uring: Fix NULL pointer dereference in io_sq_wq_submit_work()
ALSA: usb-audio: Update documentation comment for MS2109 quirk
HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage()
kbuild: fix broken builds because of GZIP,BZIP2,LZOP variables
kbuild: add variables for compression tools
kheaders: explain why include/config/autoconf.h is excluded from md5sum
kheaders: remove the last bashism to allow sh to run it
kheaders: optimize header copy for in-tree builds
kheaders: optimize md5sum calculation for in-tree builds
kheaders: remove unneeded 'cat' command piped to 'head' / 'tail'
fbmem: pull fbcon_update_vcs() out of fb_set_var()
usb: dwc3: gadget: Handle ZLP for sg requests
usb: dwc3: gadget: Fix handling ZLP
usb: dwc3: gadget: Don't setup more than requested
drm/i915: Fix cmd parser desc matching with masks
usb: storage: Add unusual_uas entry for Sony PSZ drives
USB: cdc-acm: rework notification_buffer resizing
USB: gadget: u_f: Unbreak offset calculation in VLAs
USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
USB: gadget: u_f: add overflow checks to VLA macros
usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe()
USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge
USB: quirks: Ignore duplicate endpoint on Sound Devices MixPre-D
USB: quirks: Add no-lpm quirk for another Raydium touchscreen
usb: uas: Add quirk for PNY Pro Elite
USB: yurex: Fix bad gfp argument
drm/amd/pm: correct the thermal alert temperature limit settings
drm/amd/pm: correct Vega20 swctf limit setting
drm/amd/pm: correct Vega12 swctf limit setting
drm/amd/pm: correct Vega10 swctf limit setting
drm/amd/powerplay: Fix hardmins not being sent to SMU for RV
drm/amdgpu/gfx10: refine mgcg setting
drm/amdgpu: Fix buffer overflow in INFO ioctl
x86/hotplug: Silence APIC only after all interrupts are migrated
irqchip/stm32-exti: Avoid losing interrupts due to clearing pending bits by mistake
genirq/matrix: Deal with the sillyness of for_each_cpu() on UP
crypto: af_alg - Work around empty control messages without MSG_MORE
device property: Fix the secondary firmware node handling in set_primary_fwnode()
powerpc/perf: Fix crashes with generic_compat_pmu & BHRB
PM: sleep: core: Fix the handling of pending runtime resume requests
arm64: vdso32: make vdso32 install conditional
xhci: Always restore EP_SOFT_CLEAR_TOGGLE even if ep reset failed
xhci: Do warm-reset when both CAS and XDEV_RESUME are set
usb: host: xhci: fix ep context print mismatch in debugfs
XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information.
writeback: Fix sync livelock due to b_dirty_time processing
writeback: Avoid skipping inode writeback
writeback: Protect inode->i_io_list with inode->i_lock
serial: 8250: change lock order in serial8250_do_startup()
serial: 8250_exar: Fix number of ports for Commtech PCIe cards
serial: stm32: avoid kernel warning on absence of optional IRQ
serial: pl011: Don't leak amba_ports entry on driver register error
serial: pl011: Fix oops on -EPROBE_DEFER
serial: samsung: Removes the IRQ not found warning
vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize()
vt: defer kfree() of vc_screenbuf in vc_do_resize()
USB: lvtest: return proper error code in probe
fbcon: prevent user font height or width change from causing potential out-of-bounds access
btrfs: detect nocow for swap after snapshot delete
btrfs: fix space cache memory leak after transaction abort
btrfs: check the right error variable in btrfs_del_dir_entries_in_log
btrfs: reset compression level for lzo on remount
blk-mq: order adding requests to hctx->dispatch and checking SCHED_RESTART
HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands
block: loop: set discard granularity and alignment for block device backed loop
block: fix get_max_io_size()
arm64: Allow booting of late CPUs affected by erratum 1418040
arm64: Move handling of erratum 1418040 into C code
powerpc/perf: Fix soft lockups due to missed interrupt accounting
net: gianfar: Add of_node_put() before goto statement
macvlan: validate setting of multiple remote source MAC addresses
Revert "scsi: qla2xxx: Fix crash on qla2x00_mailbox_command"
scsi: qla2xxx: Fix null pointer access during disconnect from subsystem
scsi: qla2xxx: Check if FW supports MQ before enabling
scsi: qla2xxx: Fix login timeout
scsi: ufs: Clean up completed request without interrupt notification
scsi: ufs: Improve interrupt handling for shared interrupts
scsi: ufs: Fix possible infinite loop in ufshcd_hold
scsi: fcoe: Fix I/O path allocation
selftests: disable rp_filter for icmp_redirect.sh
ASoC: wm8994: Avoid attempts to read unreadable registers
s390/cio: add cond_resched() in the slow_eval_known_fn() loop
ALSA: hda/realtek: Add model alc298-samsung-headphone
can: j1939: transport: j1939_xtp_rx_dat_one(): compare own packets to detect corruptions
netfilter: avoid ipv6 -> nf_defrag_ipv6 module dependency
drm/amd/display: Switch to immediate mode for updating infopackets
drm/amd/powerplay: correct UVD/VCE PG state on custom pptable uploading
drm/amd/powerplay: correct Vega20 cached smu feature state
spi: stm32: always perform registers configuration prior to transfer
spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate
spi: stm32: fix fifo threshold level in case of short transfer
spi: stm32h7: fix race condition at end of transfer
fs: prevent BUG_ON in submit_bh_wbc()
ext4: correctly restore system zone info when remount fails
ext4: handle error of ext4_setup_system_zone() on remount
ext4: handle option set by mount flags correctly
jbd2: abort journal if free a async write error metadata buffer
ext4: handle read only external journal device
ext4: don't BUG on inconsistent journal feature
jbd2: make sure jh have b_transaction set in refile/unfile_buffer
spi: stm32: clear only asserted irq flags on interrupt
usb: gadget: f_tcm: Fix some resource leaks in some error paths
i2c: rcar: in slave mode, clear NACK earlier
i2c: core: Don't fail PRP0001 enumeration when no ID table exist
null_blk: fix passing of REQ_FUA flag in null_handle_rq
nvme: multipath: round-robin: fix single non-optimized path case
nvme-fc: Fix wrong return value in __nvme_fc_init_request()
blkcg: fix memleak for iolatency
blk-mq: insert request not through ->queue_rq into sw/scheduler queue
hwmon: (nct7904) Correct divide by 0
bfq: fix blkio cgroup leakage v4
block: Fix page_is_mergeable() for compound pages
drm/msm/adreno: fix updating ring fence
block: virtio_blk: fix handling single range discard request
block: respect queue limit of max discard segment
media: gpio-ir-tx: improve precision of transmitted signal due to scheduling
ALSA: usb-audio: Add capture support for Saffire 6 (USB 1.1)
cpufreq: intel_pstate: Fix EPP setting via sysfs in active mode
PCI: qcom: Add missing reset for ipq806x
PCI: qcom: Change duplicate PCI reset to phy reset
PCI: qcom: Add missing ipq806x clocks in PCIe driver
EDAC/{i7core,sb,pnd2,skx}: Fix error event severity
EDAC: skx_common: get rid of unused type var
EDAC: sb_edac: get rid of unused vars
mm/vunmap: add cond_resched() in vunmap_pmd_range
drm/amd/display: Fix dmesg warning from setting abm level
drm/amd/display: Add additional config guards for DCN
drm/amd/display: Trigger modesets on MST DSC connectors
drm/ingenic: Fix incorrect assumption about plane->index
gpu/drm: ingenic: Use the plane's src_[x,y] to configure DMA length
cma: don't quit at first error when activating reserved areas
mm/cma.c: switch to bitmap_zalloc() for cma bitmap allocation
mm: fix kthread_use_mm() vs TLB invalidate
mm/shuffle: don't move pages between zones and don't read garbage memmaps
btrfs: only commit delayed items at fsync if we are logging a directory
btrfs: only commit the delayed inode when doing a full fsync
btrfs: factor out inode items copy loop from btrfs_log_inode()
s390/numa: set node distance to LOCAL_DISTANCE
drm/xen-front: Fix misused IS_ERR_OR_NULL checks
drm/xen: fix passing zero to 'PTR_ERR' warning
PM / devfreq: rk3399_dmc: Fix kernel oops when rockchip,pmu is absent
PM / devfreq: rk3399_dmc: Disable devfreq-event device when fails
PM / devfreq: rk3399_dmc: Add missing of_node_put()
usb: cdns3: gadget: always zeroed TRB buffer when enable endpoint
sched/uclamp: Fix a deadlock when enabling uclamp static key
sched/uclamp: Protect uclamp fast path code with static key
Revert "ath10k: fix DMA related firmware crashes on multiple devices"
arm64: Fix __cpu_logical_map undefined issue
efi: provide empty efi_enter_virtual_mode implementation
brcmfmac: Set timeout value when configuring power save
USB: sisusbvga: Fix a potential UB casued by left shifting a negative value
powerpc/spufs: add CONFIG_COREDUMP dependency
KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe
media: davinci: vpif_capture: fix potential double free
hugetlbfs: prevent filesystem stacking of hugetlbfs
EDAC/ie31200: Fallback if host bridge device is already initialized
scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del()
ceph: do not access the kiocb after aio requests
ceph: fix potential mdsc use-after-free crash
scsi: iscsi: Do not put host in iscsi_set_flashnode_param()
btrfs: make btrfs_qgroup_check_reserved_leak take btrfs_inode
btrfs: file: reserve qgroup space after the hole punch range is locked
locking/lockdep: Fix overflow in presentation of average lock-time
drm/nouveau: Fix reference count leak in nouveau_connector_detect
drm/nouveau: fix reference count leak in nv50_disp_atomic_commit
drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open
f2fs: fix use-after-free issue
HID: quirks: add NOGET quirk for Logitech GROUP
cec-api: prevent leaking memory through hole in structure
ALSA: hda: Add support for Loongson 7A1000 controller
mips/vdso: Fix resource leaks in genvdso.c
rtlwifi: rtl8192cu: Prevent leaking urb
ARM: dts: ls1021a: output PPS signal on FIPER2
PCI: Fix pci_create_slot() reference count leak
omapfb: fix multiple reference count leaks due to pm_runtime_get_sync
f2fs: fix error path in do_recover_data()
selftests/powerpc: Purge extra count_pmc() calls of ebb selftests
scsi: target: Fix xcopy sess release leak
xfs: Don't allow logging of XFS_ISTALE inodes
scsi: lpfc: Fix shost refcount mismatch when deleting vport
drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails
drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
drm/amd/display: fix ref count leak in amdgpu_drm_ioctl
drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms
drm/radeon: fix multiple reference count leak
drm/amdkfd: Fix reference count leaks.
iommu/iova: Don't BUG on invalid PFNs
mfd: intel-lpss: Add Intel Tiger Lake PCH-H PCI IDs
scsi: target: tcmu: Fix crash on ARM during cmd completion
blktrace: ensure our debugfs dir exists
media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq()
powerpc/xive: Ignore kmemleak false positives
arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep
mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs
ASoC: tegra: Fix reference count leaks.
ASoC: img-parallel-out: Fix a reference count leak
ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt
ALSA: hda/hdmi: Use force connectivity quirk on another HP desktop
ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged
ALSA: pci: delete repeated words in comments
ALSA: hda/hdmi: Add quirk to force connectivity
ipvlan: fix device features
net/sched: act_ct: Fix skb double-free in tcf_ct_handle_fragments() error flow
net: ena: Make missed_tx stat incremental
tipc: fix uninit skb->data in tipc_nl_compat_dumpit()
net/smc: Prevent kernel-infoleak in __smc_diag_dump()
net: sctp: Fix negotiation of the number of data streams.
net: qrtr: fix usage of idr in port assignment to socket
net: nexthop: don't allow empty NHA_GROUP
net: Fix potential wrong skb->protocol in skb_vlan_untag()
gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY
binfmt_flat: revert "binfmt_flat: don't offset the data start"
powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()
Conflicts:
Documentation/devicetree/bindings
Documentation/devicetree/bindings/gpio/sgpio-aspeed.txt
Documentation/devicetree/bindings/mmc/mtk-sd.txt
Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt
Documentation/devicetree/bindings/net/can/tcan4x5x.txt
Documentation/devicetree/bindings/net/nfc/nxp-nci.txt
Documentation/devicetree/bindings/net/nfc/pn544.txt
Documentation/devicetree/bindings/sound/wm8994.txt
block/bio.c
block/blk-mq-sysfs.c
block/blk-sysfs.c
drivers/hid/hid-quirks.c
drivers/mailbox/mailbox.c
drivers/mmc/host/cqhci.c
drivers/scsi/ufs/ufshcd.c
drivers/soc/qcom/smp2p.c
drivers/usb/dwc3/core.c
drivers/usb/dwc3/core.h
drivers/usb/dwc3/ep0.c
drivers/usb/dwc3/gadget.c
drivers/usb/dwc3/gadget.h
drivers/usb/gadget/function/f_fs.c
drivers/usb/host/xhci.c
kernel/sched/cpufreq_schedutil.c
mm/cma.c
mm/madvise.c
mm/memory.c
mm/page_alloc.c
net/qrtr/qrtr.c
Change-Id: I5d64dc5428045e92d5d1ce73dd55f78b36e83371
Signed-off-by: Srinivasarao P <spathi@codeaurora.org>
With the more strict (but greatly simplified) page reuse logic in
do_wp_page(), we can safely go back to the world where cow is not
enforced with writes.
This essentially reverts commit 17839856fd58 ("gup: document and work
around 'COW can break either way' issue"). There are some context
differences due to some changes later on around it:
2170ecfa7688 ("drm/i915: convert get_user_pages() --> pin_user_pages()", 2020-06-03)
376a34efa4ee ("mm/gup: refactor and de-duplicate gup_fast() code", 2020-06-03)
Some lines moved back and forth with those, but this revert patch should
have striped out and covered all the enforced cow bits anyways.
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: a308c71bf1e6e19cc2e4ced31853ee0fc7cb439a
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
[zhenhuah@codeaurora.org: resolve trivial merge conflict]
Change-Id: I1e72c780c74b324efe6dbeed17ab131657254f16
Signed-off-by: Zhenhua Huang <zhenhuah@codeaurora.org>
commit bfe8cc1db02ab243c62780f17fc57f65bde0afe1 upstream.
Alexander reported a syzkaller / KASAN finding on s390, see below for
complete output.
In do_huge_pmd_anonymous_page(), the pre-allocated pagetable will be
freed in some cases. In the case of userfaultfd_missing(), this will
happen after calling handle_userfault(), which might have released the
mmap_lock. Therefore, the following pte_free(vma->vm_mm, pgtable) will
access an unstable vma->vm_mm, which could have been freed or re-used
already.
For all architectures other than s390 this will go w/o any negative
impact, because pte_free() simply frees the page and ignores the
passed-in mm. The implementation for SPARC32 would also access
mm->page_table_lock for pte_free(), but there is no THP support in
SPARC32, so the buggy code path will not be used there.
For s390, the mm->context.pgtable_list is being used to maintain the 2K
pagetable fragments, and operating on an already freed or even re-used
mm could result in various more or less subtle bugs due to list /
pagetable corruption.
Fix this by calling pte_free() before handle_userfault(), similar to how
it is already done in __do_huge_pmd_anonymous_page() for the WRITE /
non-huge_zero_page case.
Commit 6b251fc96c ("userfaultfd: call handle_userfault() for
userfaultfd_missing() faults") actually introduced both, the
do_huge_pmd_anonymous_page() and also __do_huge_pmd_anonymous_page()
changes wrt to calling handle_userfault(), but only in the latter case
it put the pte_free() before calling handle_userfault().
BUG: KASAN: use-after-free in do_huge_pmd_anonymous_page+0xcda/0xd90 mm/huge_memory.c:744
Read of size 8 at addr 00000000962d6988 by task syz-executor.0/9334
CPU: 1 PID: 9334 Comm: syz-executor.0 Not tainted 5.10.0-rc1-syzkaller-07083-g4c9720875573 #0
Hardware name: IBM 3906 M04 701 (KVM/Linux)
Call Trace:
do_huge_pmd_anonymous_page+0xcda/0xd90 mm/huge_memory.c:744
create_huge_pmd mm/memory.c:4256 [inline]
__handle_mm_fault+0xe6e/0x1068 mm/memory.c:4480
handle_mm_fault+0x288/0x748 mm/memory.c:4607
do_exception+0x394/0xae0 arch/s390/mm/fault.c:479
do_dat_exception+0x34/0x80 arch/s390/mm/fault.c:567
pgm_check_handler+0x1da/0x22c arch/s390/kernel/entry.S:706
copy_from_user_mvcos arch/s390/lib/uaccess.c:111 [inline]
raw_copy_from_user+0x3a/0x88 arch/s390/lib/uaccess.c:174
_copy_from_user+0x48/0xa8 lib/usercopy.c:16
copy_from_user include/linux/uaccess.h:192 [inline]
__do_sys_sigaltstack kernel/signal.c:4064 [inline]
__s390x_sys_sigaltstack+0xc8/0x240 kernel/signal.c:4060
system_call+0xe0/0x28c arch/s390/kernel/entry.S:415
Allocated by task 9334:
slab_alloc_node mm/slub.c:2891 [inline]
slab_alloc mm/slub.c:2899 [inline]
kmem_cache_alloc+0x118/0x348 mm/slub.c:2904
vm_area_dup+0x9c/0x2b8 kernel/fork.c:356
__split_vma+0xba/0x560 mm/mmap.c:2742
split_vma+0xca/0x108 mm/mmap.c:2800
mlock_fixup+0x4ae/0x600 mm/mlock.c:550
apply_vma_lock_flags+0x2c6/0x398 mm/mlock.c:619
do_mlock+0x1aa/0x718 mm/mlock.c:711
__do_sys_mlock2 mm/mlock.c:738 [inline]
__s390x_sys_mlock2+0x86/0xa8 mm/mlock.c:728
system_call+0xe0/0x28c arch/s390/kernel/entry.S:415
Freed by task 9333:
slab_free mm/slub.c:3142 [inline]
kmem_cache_free+0x7c/0x4b8 mm/slub.c:3158
__vma_adjust+0x7b2/0x2508 mm/mmap.c:960
vma_merge+0x87e/0xce0 mm/mmap.c:1209
userfaultfd_release+0x412/0x6b8 fs/userfaultfd.c:868
__fput+0x22c/0x7a8 fs/file_table.c:281
task_work_run+0x200/0x320 kernel/task_work.c:151
tracehook_notify_resume include/linux/tracehook.h:188 [inline]
do_notify_resume+0x100/0x148 arch/s390/kernel/signal.c:538
system_call+0xe6/0x28c arch/s390/kernel/entry.S:416
The buggy address belongs to the object at 00000000962d6948 which belongs to the cache vm_area_struct of size 200
The buggy address is located 64 bytes inside of 200-byte region [00000000962d6948, 00000000962d6a10)
The buggy address belongs to the page: page:00000000313a09fe refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x962d6 flags: 0x3ffff00000000200(slab)
raw: 3ffff00000000200 000040000257e080 0000000c0000000c 000000008020ba00
raw: 0000000000000000 000f001e00000000 ffffffff00000001 0000000096959501
page dumped because: kasan: bad access detected
page->mem_cgroup:0000000096959501
Memory state around the buggy address:
00000000962d6880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000000962d6900: 00 fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb
>00000000962d6980: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
^
00000000962d6a00: fb fb fc fc fc fc fc fc fc fc 00 00 00 00 00 00
00000000962d6a80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================
Fixes: 6b251fc96c ("userfaultfd: call handle_userfault() for userfaultfd_missing() faults")
Reported-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Signed-off-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: <stable@vger.kernel.org> [4.3+]
Link: https://lkml.kernel.org/r/20201110190329.11920-1-gerald.schaefer@linux.ibm.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ Upstream commit 8fb156c9ee2db94f7127c930c89917634a1a9f56 ]
The implementation of split_page_owner() prefers a count rather than the
old order of the page. When we support a variable size THP, we won't
have the order at this point, but we will have the number of pages.
So change the interface to what the caller and callee would prefer.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: SeongJae Park <sjpark@amazon.de>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Huang Ying <ying.huang@intel.com>
Link: https://lkml.kernel.org/r/20200908195539.25896-4-willy@infradead.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit ec0abae6dcdf7ef88607c869bf35a4b63ce1b370 ]
A migrating transparent huge page has to already be unmapped. Otherwise,
the page could be modified while it is being copied to a new page and data
could be lost. The function __split_huge_pmd() checks for a PMD migration
entry before calling __split_huge_pmd_locked() leading one to think that
__split_huge_pmd_locked() can handle splitting a migrating PMD.
However, the code always increments the page->_mapcount and adjusts the
memory control group accounting assuming the page is mapped.
Also, if the PMD entry is a migration PMD entry, the call to
is_huge_zero_pmd(*pmd) is incorrect because it calls pmd_pfn(pmd) instead
of migration_entry_to_pfn(pmd_to_swp_entry(pmd)). Fix these problems by
checking for a PMD migration entry.
Fixes: 84c3fc4e9c ("mm: thp: check pmd migration entry in common path")
Signed-off-by: Ralph Campbell <rcampbell@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Yang Shi <shy828301@gmail.com>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Alistair Popple <apopple@nvidia.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Jason Gunthorpe <jgg@nvidia.com>
Cc: Bharata B Rao <bharata@linux.ibm.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: <stable@vger.kernel.org> [4.14+]
Link: https://lkml.kernel.org/r/20200903183140.19055-1-rcampbell@nvidia.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
* refs/heads/tmp-a200ad5:
Revert "usb: dwc3: gadget: Properly handle ClearFeature(halt)"
Revert "ANDROID: kbuild: merge more sections with LTO"
Revert "FROMLIST: f2fs: fix use-after-free when accessing bio->bi_crypt_context"
Linux 5.4.50
Revert "tty: hvc: Fix data abort due to race in hvc_open"
xfs: add agf freeblocks verify in xfs_agf_verify
dm writecache: add cond_resched to loop in persistent_memory_claim()
dm writecache: correct uncommitted_block when discarding uncommitted entry
xprtrdma: Fix handling of RDMA_ERROR replies
NFSv4 fix CLOSE not waiting for direct IO compeletion
pNFS/flexfiles: Fix list corruption if the mirror count changes
SUNRPC: Properly set the @subbuf parameter of xdr_buf_subsegment()
sunrpc: fixed rollback in rpc_gssd_dummy_populate()
Staging: rtl8723bs: prevent buffer overflow in update_sta_support_rate()
drm/amdgpu: add fw release for sdma v5_0
drm/radeon: fix fb_div check in ni_init_smc_spll_table()
drm: rcar-du: Fix build error
drm/amd: fix potential memleak in err branch
ring-buffer: Zero out time extend if it is nested and not absolute
tracing: Fix event trigger to accept redundant spaces
arm64: dts: imx8mn-ddr4-evk: correct ldo1/ldo2 voltage range
arm64: dts: imx8mm-evk: correct ldo1/ldo2 voltage range
arm64: perf: Report the PC value in REGS_ABI_32 mode
mm/memcontrol.c: add missed css_put()
ocfs2: fix panic on nfs server over ocfs2
ocfs2: fix value of OCFS2_INVALID_SLOT
ocfs2: load global_inode_alloc
ocfs2: avoid inode removal while nfsd is accessing it
mm/slab: use memzero_explicit() in kzfree()
btrfs: fix failure of RWF_NOWAIT write into prealloc extent beyond eof
btrfs: check if a log root exists before locking the log_mutex on unlink
btrfs: fix data block group relocation failure due to concurrent scrub
btrfs: fix bytes_may_use underflow when running balance and scrub in parallel
x86/asm/64: Align start of __clear_user() loop to 16-bytes
x86/cpu: Use pinning mask for CR4 bits needing to be 0
KVM: VMX: Stop context switching MSR_IA32_UMWAIT_CONTROL
KVM: nVMX: Plumb L2 GPA through to PML emulation
KVM: X86: Fix MSR range of APIC registers in X2APIC mode
erofs: fix partially uninitialized misuse in z_erofs_onlinepage_fixup
ACPI: configfs: Disallow loading ACPI tables when locked down
ACPI: sysfs: Fix pm_profile_attr type
ALSA: hda/realtek: Add mute LED and micmute LED support for HP systems
ALSA: hda/realtek - Add quirk for MSI GE63 laptop
ALSA: hda: Add NVIDIA codec IDs 9a & 9d through a0 to patch table
RISC-V: Don't allow write+exec only page mapping request in mmap
block: update hctx map when use multiple maps
blktrace: break out of blktrace setup on concurrent calls
kprobes: Suppress the suspicious RCU warning on kprobes
recordmcount: support >64k sections
kbuild: improve cc-option to clean up all temporary files
arm64: sve: Fix build failure when ARM64_SVE=y and SYSCTL=n
s390/vdso: fix vDSO clock_getres()
s390/vdso: Use $(LD) instead of $(CC) to link vDSO
s390/ptrace: fix setting syscall number
s390/ptrace: pass invalid syscall numbers to tracing
pinctrl: tegra: Use noirq suspend/resume callbacks
pinctrl: qcom: spmi-gpio: fix warning about irq chip reusage
test_objagg: Fix potential memory leak in error handling
net: alx: fix race condition in alx_remove
ibmvnic: Harden device login requests
hwrng: ks-sa - Fix runtime PM imbalance on error
riscv/atomic: Fix sign extension for RV64I
drm/amd/display: Use kfree() to free rgb_user in calculate_user_regamma_ramp()
ata/libata: Fix usage of page address by page_address in ata_scsi_mode_select_xlat function
sata_rcar: handle pm_runtime_get_sync failure cases
sched/core: Fix PI boosting between RT and DEADLINE tasks
sched/deadline: Initialize ->dl_boosted
afs: Fix storage of cell names
i2c: core: check returned size of emulated smbus block read
i2c: fsi: Fix the port number field in status register
clk: sifive: allocate sufficient memory for struct __prci_data
net: bcmgenet: use hardware padding of runt frames
netfilter: ipset: fix unaligned atomic access
nvme: don't protect ns mutation with ns->head->lock
usb: renesas_usbhs: getting residue from callback_result
usb: gadget: udc: Potential Oops in error handling code
scsi: lpfc: Avoid another null dereference in lpfc_sli4_hba_unset()
ARM: imx5: add missing put_device() call in imx_suspend_alloc_ocram()
cxgb4: move handling L2T ARP failures to caller
net: qede: fix use-after-free on recovery and AER handling
net: qede: fix PTP initialization on recovery
net: qed: fix excessive QM ILT lines consumption
net: qed: fix NVMe login fails over VFs
net: qede: stop adding events on an already destroyed workqueue
net: qed: fix async event callbacks unregistering
net: qed: fix left elements count calculation
iommu/vt-d: Update scalable mode paging structure coherency
iommu/vt-d: Enable PCI ACS for platform opt in hint
selftests/net: report etf errors correctly
RDMA/mad: Fix possible memory leak in ib_mad_post_receive_mads()
s390/qeth: fix error handling for isolation mode cmds
ASoC: rockchip: Fix a reference count leak.
RDMA/cma: Protect bind_list and listen_list while finding matching cm id
RDMA/qedr: Fix KASAN: use-after-free in ucma_event_handler+0x532
RDMA/rvt: Fix potential memory leak caused by rvt_alloc_rq
rxrpc: Fix handling of rwind from an ACK packet
ARM: dts: NSP: Correct FA2 mailbox node
bpf: Don't return EINVAL from {get,set}sockopt when optlen > PAGE_SIZE
devmap: Use bpf_map_area_alloc() for allocating hash buckets
regmap: Fix memory leak from regmap_register_patch
x86/resctrl: Fix a NULL vs IS_ERR() static checker warning in rdt_cdp_peer_get()
ARM: dts: Fix duovero smsc interrupt for suspend
ARM: dts: am335x-pocketbeagle: Fix mmc0 Write Protect
bpf, xdp, samples: Fix null pointer dereference in *_user code
samples/bpf: xdp_redirect_cpu: Set MAX_CPUS according to NR_CPUS
ASoC: fsl_ssi: Fix bclk calculation for mono channel
RDMA/siw: Fix pointer-to-int-cast warning in siw_rx_pbl()
regualtor: pfuze100: correct sw1a/sw2 on pfuze3000
ASoC: qcom: common: set correct directions for dailinks
ASoc: q6afe: add support to get port direction
efi/esrt: Fix reference count leak in esre_create_sysfs_entry.
efi/tpm: Verify event log header before parsing
ASoC: q6asm: handle EOS correctly
xfrm: Fix double ESP trailer insertion in IPsec crypto offload.
ARM: OMAP2+: Fix legacy mode dss_reset
bus: ti-sysc: Ignore clockactivity unless specified as a quirk
bus: ti-sysc: Flush posted write on enable and disable
IB/hfi1: Fix module use count flaw due to leftover module put calls
IB/mad: Fix use after free when destroying MAD agent
loop: replace kill_bdev with invalidate_bdev
cdc-acm: Add DISABLE_ECHO quirk for Microchip/SMSC chip
xhci: Return if xHCI doesn't support LPM
xhci: Fix enumeration issue when setting max packet size for FS devices.
xhci: Fix incorrect EP_STATE_MASK
cifs/smb3: Fix data inconsistent when zero file range
cifs/smb3: Fix data inconsistent when punch hole
cifs: Fix cached_fid refcnt leak in open_shroot
scsi: zfcp: Fix panic on ERP timeout for previously dismissed ERP action
scsi: qla2xxx: Keep initiator ports after RSCN
usb: cdns3: ep0: add spinlock for cdns3_check_new_setup
usb: cdns3: ep0: fix the test mode set incorrectly
usb: cdns3: trace: using correct dir value
ALSA: usb-audio: Fix OOB access of mixer element list
ALSA: usb-audio: add quirk for Samsung USBC Headset (AKG)
ALSA: usb-audio: add quirk for Denon DCD-1500RE
ALSA: usb-audio: Add implicit feedback quirk for SSL2+.
usb: typec: tcpci_rt1711h: avoid screaming irq causing boot hangs
usb: host: ehci-exynos: Fix error check in exynos_ehci_probe()
xhci: Poll for U0 after disabling USB2 LPM
usb: host: xhci-mtk: avoid runtime suspend when removing hcd
USB: ehci: reopen solution for Synopsys HC bug
usb: add USB_QUIRK_DELAY_INIT for Logitech C922
usb: dwc2: Postponed gadget registration to the udc class driver
USB: ohci-sm501: Add missed iounmap() in remove
binder: fix null deref of proc->context
ALSA: usb-audio: Fix potential use-after-free of streams
fix a braino in "sparc32: fix register window handling in genregs32_[gs]et()"
net: sched: export __netdev_watchdog_up()
btrfs: fix a block group ref counter leak after failure to remove block group
Revert "i2c: tegra: Fix suspending in active runtime PM state"
tcp_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT
sch_cake: fix a few style nits
sch_cake: don't call diffserv parsing code when it is not needed
sch_cake: don't try to reallocate or unshare skb unconditionally
ip_tunnel: fix use-after-free in ip_tunnel_lookup()
net: phy: Check harder for errors in get_phy_id()
ip6_gre: fix use-after-free in ip6gre_tunnel_lookup()
tg3: driver sleeps indefinitely when EEH errors exceed eeh_max_freezes
tcp: grow window for OOO packets only for SACK flows
tcp: don't ignore ECN CWR on pure ACK
sctp: Don't advertise IPv4 addresses if ipv6only is set on the socket
rxrpc: Fix notification call on completion of discarded calls
rocker: fix incorrect error handling in dma_rings_init
openvswitch: take into account de-fragmentation/gso_size in execute_check_pkt_len
net: usb: ax88179_178a: fix packet alignment padding
net: increment xmit_recursion level in dev_direct_xmit()
net: Fix the arp error in some cases
net: fix memleak in register_netdevice()
net: Do not clear the sock TX queue in sk_set_socket()
net: core: reduce recursion limit value
net: bridge: enfore alignment for ethernet address
mvpp2: ethtool rxtx stats fix
mld: fix memory leak in ipv6_mc_destroy_dev()
ibmveth: Fix max MTU limit
geneve: allow changing DF behavior after creation
enetc: Fix tx rings bitmap iteration range, irq handling
block/bio-integrity: don't free 'buf' if bio_integrity_add_page() failed
ANDROID: GKI: revert part of the ufshcd_* export removals
ANDROID: GKI: update ABI definitions based on recent wifi backports
BACKPORT: cfg80211: Configure PMK lifetime and reauth threshold for PMKSA entries
BACKPORT: nl80211: add no pre-auth attribute and ext. feature flag for ctrl. port
BACKPORT: nl80211: modify TID-config API
BACKPORT: nl80211: Add NL command to support TID speicific configurations
BACKPORT: cfg80211: Support key configuration for Beacon protection (BIGTK)
BACKPORT: cfg80211: More error messages for key addition failures
BACKPORT: cfg80211: Enhance the AKM advertizement to support per interface.
BACKPORT: nl80211: add handling for BSS color
BACKPORT: cfg80211: VLAN offload support for set_key and set_sta_vlan
Revert "ANDROID: fscrypt: add key removal notifier chain"
UPSTREAM: scsi: ufs: Fix imprecise load calculation in devfreq window
UPSTREAM: scsi: ufs: Add trace event for UIC commands
UPSTREAM: scsi: ufs: Add DELAY_BEFORE_LPM quirk for Micron devices
UPSTREAM: scsi: ufs-mediatek: Allow unbound mphy
UPSTREAM: scsi: ufs-mediatek: Fix unbalanced clock on/off
UPSTREAM: scsi: ufs-mediatek: Introduce low-power mode for device power supply
UPSTREAM: scsi: ufs-mediatek: Do not gate clocks if auto-hibern8 is not entered yet
UPSTREAM: scsi: ufs-mediatek: Fix imprecise waiting time for ref-clk control
BACKPORT: scsi: ufs: Disable WriteBooster capability in non-supported UFS device
BACKPORT: scsi: ufs: Fix WriteBooster flush during runtime suspend
BACKPORT: scsi: ufs: Fix index of attributes query for WriteBooster feature
BACKPORT: scsi: ufs: Allow WriteBooster on UFS 2.2 devices
UPSTREAM: scsi: ufs-mediatek: Customize WriteBooster flush policy
UPSTREAM: scsi: ufs: Customize flush threshold for WriteBooster
BACKPORT: scsi: ufs: Introduce ufs_hba_variant_params to group customizable parameters
UPSTREAM: scsi: ufs-mediatek: Make ufs_mtk_fixup_dev_quirks static
UPSTREAM: scsi: ufs: Cleanup WriteBooster feature
UPSTREAM: scsi: ufs-mediatek: Enable WriteBooster capability
BACKPORT: scsi: ufs: Add LU Dedicated buffer mode support for WriteBooster
BACKPORT: scsi: ufs: Add "index" in parameter list of ufshcd_query_flag()
UPSTREAM: scsi: ufs-mediatek: Add fixup_dev_quirks vops
UPSTREAM: scsi: ufs: Export ufs_fixup_device_setup() function
BACKPORT: scsi: ufs: Introduce fixup_dev_quirks vops
UPSTREAM: scsi: ufs-mediatek: add error recovery for suspend and resume
UPSTREAM: scsi: ufs: export ufshcd_link_recovery
UPSTREAM: scsi: ufs-mediatek: customize the delay for enabling host
UPSTREAM: scsi: ufs: make HCE polling more compact to improve initialization latency
BACKPORT: scsi: ufs: allow custom delay prior to host enabling
UPSTREAM: scsi: ufs-mediatek: use common delay function
UPSTREAM: scsi: ufs: introduce common and flexible delay function
UPSTREAM: scsi: ufs: fix uninitialized tx_lanes in ufshcd_disable_tx_lcc()
UPSTREAM: scsi: ufs-mediatek: fix HOST_PA_TACTIVATE quirk for Samsung UFS Devices
BACKPORT: scsi: ufs: Add max_lu_supported in struct ufs_dev_info
ANDROID: GKI: remove ufshcd_* exports from whitelists
ANDROID: GKI: enable CONFIG_SCSI_UFS_DWC_TC_PLATFORM
ANDROID: GKI: enable QCOM and HISI UFS drivers
ANDROID: GKI: enable UFS for x86 gki builds and SCSI_UFSHCD_PCI
UPSTREAM: amba: Retry adding deferred devices at late_initcall
ANDROID: GKI: Enable INTERVAL_TREE
FROMGIT: binder: fix null deref of proc->context
ANDROID: Makefile: append BUILD_NUMBER to version string when defined
ANDROID: GKI: update the abi definitions due to 5.4.49 and padding
ANDROID: GKI: USB: Gadget: add Android ABI padding to struct usb_gadget
ANDROID: GKI: sound/usb/card.h: add Android ABI padding to struct snd_usb_endpoint
ANDROID: ext4: Optimize match for casefolded encrypted dirs
ANDROID: ext4: Handle casefolding with encryption
Linux 5.4.49
net: core: device_rename: Use rwsem instead of a seqcount
sched/rt, net: Use CONFIG_PREEMPTION.patch
pwm: jz4740: Enhance precision in calculation of duty cycle
net: octeon: mgmt: Repair filling of RX ring
e1000e: Do not wake up the system via WOL if device wakeup is disabled
kretprobe: Prevent triggering kretprobe from within kprobe_flush_task
kprobes: Fix to protect kick_kprobe_optimizer() by kprobe_mutex
tracing/probe: Fix memleak in fetch_op_data operations
crypto: algboss - don't wait during notifier callback
crypto: algif_skcipher - Cap recv SG list at ctx->used
Revert "drm/amd/display: disable dcn20 abm feature for bring up"
drm/i915/icl+: Fix hotplug interrupt disabling after storm detection
drm/amd/display: Use kvfree() to free coeff in build_regamma()
drm/connector: notify userspace on hotplug after register complete
drm/i915: Whitelist context-local timestamp in the gen9 cmdparser
drm/i915/gem: Avoid iterating an empty list
drm/msm: Check for powered down HW in the devfreq callbacks
drm/i915: Fix AUX power domain toggling across TypeC mode resets
s390: fix syscall_get_error for compat processes
f2fs: avoid utf8_strncasecmp() with unstable name
f2fs: split f2fs_d_compare() from f2fs_match_name()
net/mlx5: DR, Fix freeing in dr_create_rc_qp()
block: nr_sects_write(): Disable preemption on seqcount write
x86/boot/compressed: Relax sed symbol type regex for LLVM ld.lld
drm/amd/display: Use swap() where appropriate
drm/dp_mst: Increase ACT retry timeout to 3s
ext4: avoid race conditions when remounting with options that change dax
jbd2: clean __jbd2_journal_abort_hard() and __journal_abort_soft()
selinux: fix double free
drm/amdgpu: Replace invalid device ID with a valid device ID
drm/qxl: Use correct notify port address when creating cursor ring
drm/dp_mst: Reformat drm_dp_check_act_status() a bit
ext4: avoid utf8_strncasecmp() with unstable name
ext4: fix partial cluster initialization when splitting extent
drm: encoder_slave: fix refcouting error for modules
libata: Use per port sync for detach
arm64: hw_breakpoint: Don't invoke overflow handler on uaccess watchpoints
mvpp2: remove module bugfix
block: Fix use-after-free in blkdev_get()
scsi: ufs-bsg: Fix runtime PM imbalance on error
bnxt_en: Return from timer if interface is not in open state.
afs: Fix the mapping of the UAEOVERFLOW abort code
afs: Set error flag rather than return error from file status decode
afs: Always include dir in bulk status fetch from afs_do_lookup()
afs: Fix EOF corruption
afs: afs_write_end() should change i_size under the right lock
afs: Fix non-setting of mtime when writing into mmap
powerpc: Fix kernel crash in show_instructions() w/DEBUG_VIRTUAL
bcache: fix potential deadlock problem in btree_gc_coalesce
ext4: stop overwrite the errcode in ext4_setup_super
perf stat: Fix NULL pointer dereference
perf report: Fix NULL pointer dereference in hists__fprintf_nr_sample_events()
usb/ehci-platform: Set PM runtime as active on resume
usb: host: ehci-platform: add a quirk to avoid stuck
usb/xhci-plat: Set PM runtime as active on resume
bpf: Fix memlock accounting for sock_hash
iavf: fix speed reporting over virtchnl
xdp: Fix xsk_generic_xmit errno
nfs: set invalid blocks after NFSv4 writes
nvme-pci: use simple suspend when a HMB is enabled
net/filter: Permit reading NET in load_bytes_relative when MAC not set
x86/idt: Keep spurious entries unset in system_vectors
scsi: acornscsi: Fix an error handling path in acornscsi_probe()
libbpf: Handle GCC noreturn-turned-volatile quirk
drm/sun4i: hdmi ddc clk: Fix size of m divider
tracing/probe: Fix bpf_task_fd_query() for kprobes and uprobes
bpf, sockhash: Synchronize delete from bucket list on map free
bpf/sockmap: Fix kernel panic at __tcp_bpf_recvmsg
ASoC: rt5645: Add platform-data for Asus T101HA
ASoC: Intel: bytcr_rt5640: Add quirk for Toshiba Encore WT10-A tablet
ASoC: SOF: nocodec: conditionally set dpcm_capture/dpcm_playback flags
ASoC: core: only convert non DPCM link to DPCM link
afs: Fix memory leak in afs_put_sysnames()
f2fs: don't return vmalloc() memory from f2fs_kmalloc()
selftests/net: in timestamping, strncpy needs to preserve null byte
drivers/perf: hisi: Fix wrong value for all counters enable
i2c: icy: Fix build with CONFIG_AMIGA_PCMCIA=n
NTB: ntb_test: Fix bug when counting remote files
NTB: perf: Fix race condition when run with ntb_test
NTB: perf: Fix support for hardware that doesn't have port numbers
NTB: perf: Don't require one more memory window than number of peers
NTB: Revert the change to use the NTB device dev for DMA allocations
NTB: ntb_tool: reading the link file should not end in a NULL byte
ntb_tool: pass correct struct device to dma_alloc_coherent
ntb_perf: pass correct struct device to dma_alloc_coherent
net: marvell: Fix OF_MDIO config check
gfs2: fix use-after-free on transaction ail lists
blktrace: fix endianness for blk_log_remap()
blktrace: fix endianness in get_pdu_int()
blktrace: use errno instead of bi_status
selftests/vm/pkeys: fix alloc_random_pkey() to make it really random
include/linux/bitops.h: avoid clang shift-count-overflow warnings
lib/zlib: remove outdated and incorrect pre-increment optimization
geneve: change from tx_error to tx_dropped on missing metadata
crypto: omap-sham - add proper load balancing support for multicore
drm/amd/display: Revalidate bandwidth before commiting DC updates
nfsd: safer handling of corrupted c_type
pinctrl: freescale: imx: Fix an error handling path in 'imx_pinctrl_probe()'
pinctrl: imxl: Fix an error handling path in 'imx1_pinctrl_core_probe()'
scsi: ufs: Don't update urgent bkops level when toggling auto bkops
scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj
gfs2: Allow lock_nolock mount to specify jid=X
nfsd4: make drc_slab global, not per-net
ceph: don't return -ESTALE if there's still an open file
drm/nouveau/disp/gm200-: fix NV_PDISP_SOR_HDMI2_CTRL(n) selection
openrisc: Fix issue with argument clobbering for clone/fork
rxrpc: Adjust /proc/net/rxrpc/calls to display call->debug_id not user_ID
mailbox: zynqmp-ipi: Fix NULL vs IS_ERR() check in zynqmp_ipi_mbox_probe()
rtc: rv3028: Add missed check for devm_regmap_init_i2c()
vfio/mdev: Fix reference count leak in add_mdev_supported_type
ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed
extcon: adc-jack: Fix an error handling path in 'adc_jack_probe()'
powerpc/4xx: Don't unmap NULL mbase
input: i8042 - Remove special PowerPC handling
of: Fix a refcounting bug in __of_attach_node_sysfs()
NFSv4.1 fix rpc_call_done assignment for BIND_CONN_TO_SESSION
net: sunrpc: Fix off-by-one issues in 'rpc_ntop6'
/dev/mem: Revoke mappings when a driver claims the region
misc: xilinx-sdfec: improve get_user_pages_fast() error handling
clk: ast2600: Fix AHB clock divider for A1
clk: sprd: return correct type of value for _sprd_pll_recalc_rate
KVM: PPC: Book3S: Fix some RCU-list locks
KVM: PPC: Book3S HV: Ignore kmemleak false positives
scsi: ufs-qcom: Fix scheduling while atomic issue
clk: bcm2835: Fix return type of bcm2835_register_gate
scsi: target: tcmu: Fix a use after free in tcmu_check_expired_queue_cmd()
ASoC: fix incomplete error-handling in img_i2s_in_probe.
powerpc/32s: Don't warn when mapping RO data ROX.
mfd: stmfx: Disable IRQ in suspend to avoid spurious interrupt
mfd: stmfx: Fix stmfx_irq_init error path
mfd: stmfx: Reset chip on resume as supply was disabled
x86/apic: Make TSC deadline timer detection message visible
RDMA/iw_cxgb4: cleanup device debugfs entries on ULD remove
scripts: headers_install: Exit with error on config leak
usb: gadget: Fix issue with config_ep_by_speed function
usb: gadget: fix potential double-free in m66592_probe.
usb: gadget: lpc32xx_udc: don't dereference ep pointer before null check
USB: gadget: udc: s3c2410_udc: Remove pointless NULL check in s3c2410_udc_nuke
usb: dwc2: gadget: move gadget resume after the core is in L0 state
watchdog: da9062: No need to ping manually before setting timeout
IB/cma: Fix ports memory leak in cma_configfs
PCI: amlogic: meson: Don't use FAST_LINK_MODE to set up link
PCI: dwc: Fix inner MSI IRQ domain registration
PCI/PTM: Inherit Switch Downstream Port PTM settings from Upstream Port
dm zoned: return NULL if dmz_get_zone_for_reclaim() fails to find a zone
powerpc/64s/pgtable: fix an undefined behaviour
arm64: tegra: Fix flag for 64-bit resources in 'ranges' property
arm64: tegra: Fix ethernet phy-mode for Jetson Xavier
fuse: copy_file_range should truncate cache
fuse: fix copy_file_range cache issues
firmware: imx: scu: Fix possible memory leak in imx_scu_probe()
scsi: target: tcmu: Userspace must not complete queued commands
RDMA/hns: Fix cmdq parameter of querying pf timer resource
RDMA/hns: Bugfix for querying qkey
clk: samsung: exynos5433: Add IGNORE_UNUSED flag to sclk_i2s1
fpga: dfl: afu: Corrected error handling levels
tty: n_gsm: Fix bogus i++ in gsm_data_kick
USB: host: ehci-mxc: Add error handling in ehci_mxc_drv_probe()
ASoC: Intel: bytcr_rt5640: Add quirk for Toshiba Encore WT8-A tablet
drm/msm/mdp5: Fix mdp5_init error path for failed mdp5_kms allocation
usb/ohci-platform: Fix a warning when hibernating
vfio-pci: Mask cap zero
powerpc/ps3: Fix kexec shutdown hang
drivers: phy: sr-usb: do not use internal fsm for USB2 phy init
powerpc/pseries/ras: Fix FWNMI_VALID off by one
powerpc/64s/exception: Fix machine check no-loss idle wakeup
ipmi: use vzalloc instead of kmalloc for user creation
habanalabs: increase timeout during reset
PCI/PM: Assume ports without DLL Link Active train links in 100 ms
HID: Add quirks for Trust Panora Graphic Tablet
ALSA: usb-audio: Add duplex sound support for USB devices using implicit feedback
tty: n_gsm: Fix waking up upper tty layer when room available
tty: n_gsm: Fix SOF skipping
powerpc/64: Don't initialise init_task->thread.regs
PCI: Fix pci_register_host_bridge() device_register() error handling
clk: ti: composite: fix memory leak
USB: ohci-sm501: fix error return code in ohci_hcd_sm501_drv_probe()
dlm: remove BUG() before panic()
pinctrl: rockchip: fix memleak in rockchip_dt_node_to_map
ASoC: ti: omap-mcbsp: Fix an error handling path in 'asoc_mcbsp_probe()'
ASoC: ux500: mop500: Fix some refcounted resources issues
SoC: rsnd: add interrupt support for SSI BUSIF buffer
scsi: mpt3sas: Fix double free warnings
scsi: target: loopback: Fix READ with data and sensebytes
arm64: dts: msm8996: Fix CSI IRQ types
ASoC: SOF: core: fix error return code in sof_probe_continue()
power: supply: smb347-charger: IRQSTAT_D is volatile
power: supply: lp8788: Fix an error handling path in 'lp8788_charger_probe()'
ALSA: firewire-lib: fix invalid assignment to union data for directional parameter
scsi: qla2xxx: Fix warning after FC target reset
PCI/ASPM: Allow ASPM on links to PCIe-to-PCI/PCI-X Bridges
PCI: rcar: Fix incorrect programming of OB windows
drivers: base: Fix NULL pointer exception in __platform_driver_probe() if a driver developer is foolish
serial: amba-pl011: Make sure we initialize the port.lock spinlock
i2c: pxa: fix i2c_pxa_scream_blue_murder() debug output
PCI: v3-semi: Fix a memory leak in v3_pci_probe() error handling paths
staging: sm750fb: add missing case while setting FB_VISUAL
staging: wilc1000: Increase the size of wid_list array
usb: dwc3: gadget: Properly handle failed kick_transfer
usb: dwc3: gadget: Properly handle ClearFeature(halt)
HID: intel-ish-hid: avoid bogus uninitialized-variable warning
soundwire: slave: don't init debugfs on device registration error
ASoC: max98373: reorder max98373_reset() in resume
clk: meson: meson8b: Don't rely on u-boot to init all GP_PLL registers
thermal/drivers/ti-soc-thermal: Avoid dereferencing ERR_PTR
gpio: pca953x: fix handling of automatic address incrementing
clk: meson: meson8b: Fix the vclk_div{1, 2, 4, 6, 12}_en gate bits
clk: meson: meson8b: Fix the polarity of the RESET_N lines
clk: meson: meson8b: Fix the first parent of vid_pll_in_sel
slimbus: ngd: get drvdata from correct device
tty: hvc: Fix data abort due to race in hvc_open
s390/qdio: put thinint indicator after early error
ALSA: usb-audio: Fix racy list management in output queue
ALSA: usb-audio: Improve frames size computation
staging: gasket: Fix mapping refcnt leak when register/store fails
staging: gasket: Fix mapping refcnt leak when put attribute fails
firmware: qcom_scm: fix bogous abuse of dma-direct internals
arm64: dts: qcom: fix pm8150 gpio interrupts
virtiofs: schedule blocking async replies in separate worker
pinctrl: rza1: Fix wrong array assignment of rza1l_swio_entries
scsi: qedf: Fix crash when MFW calls for protocol stats while function is still probing
gpio: dwapb: Append MODULE_ALIAS for platform driver
RDMA/mlx5: Fix udata response upon SRQ creation
ARM: dts: sun8i-h2-plus-bananapi-m2-zero: Fix led polarity
arm64: dts: qcom: msm8916: remove unit name for thermal trip points
scsi: qedi: Do not flush offload work if ARP not resolved
arm64: dts: mt8173: fix unit name warnings
staging: greybus: fix a missing-check bug in gb_lights_light_config()
x86/purgatory: Disable various profiling and sanitizing options
apparmor: fix nnp subset test for unconfined
scsi: ibmvscsi: Don't send host info in adapter info MAD after LPM
scsi: sr: Fix sr_probe() missing deallocate of device minor
bpf, sockhash: Fix memory leak when unlinking sockets in sock_hash_free
ASoC: meson: add missing free_irq() in error path
f2fs: handle readonly filesystem in f2fs_ioc_shutdown()
apparmor: check/put label on apparmor_sk_clone_security()
net: dsa: lantiq_gswip: fix and improve the unsupported interface error
apparmor: fix introspection of of task mode for unconfined tasks
mksysmap: Fix the mismatch of '.L' symbols in System.map
NTB: Fix the default port and peer numbers for legacy drivers
NTB: ntb_pingpong: Choose doorbells based on port number
yam: fix possible memory leak in yam_init_driver
sparc32: mm: Don't try to free page-table pages if ctor() fails
pwm: img: Call pm_runtime_put() in pm_runtime_get_sync() failed case
powerpc/crashkernel: Take "mem=" option into account
ASoC: qcom: q6asm-dai: kCFI fix
cifs: set up next DFS target before generic_ip_connect()
RDMA/core: Fix several reference count leaks.
PCI: vmd: Filter resource type bits from shadow register
nfsd: Fix svc_xprt refcnt leak when setup callback client failed
powerpc/perf/hv-24x7: Fix inconsistent output values incase multiple hv-24x7 events run
IB/mlx5: Fix DEVX support for MLX5_CMD_OP_INIT2INIT_QP command
clk: clk-flexgen: fix clock-critical handling
scsi: vhost: Notify TCM about the maximum sg entries supported per command
scsi: lpfc: Fix lpfc_nodelist leak when processing unsolicited event
clk: zynqmp: fix memory leak in zynqmp_register_clocks
scsi: cxgb3i: Fix some leaks in init_act_open()
mfd: wm8994: Fix driver operation if loaded as modules
powerpc/ptdump: Add _PAGE_COHERENT flag
usb: gadget: core: sync interrupt before unbind the udc
gpio: dwapb: Call acpi_gpiochip_free_interrupts() on GPIO chip de-registration
m68k/PCI: Fix a memory leak in an error handling path
PCI: pci-bridge-emul: Fix PCIe bit conflicts
scsi: hisi_sas: Do not reset phy timer to wait for stray phy up
RDMA/mlx5: Add init2init as a modify command
coresight: tmc: Fix TMC mode read in tmc_read_prepare_etb()
vfio/pci: fix memory leaks in alloc_perm_bits()
arm64: dts: fvp/juno: Fix node address fields
ps3disk: use the default segment boundary
PCI: aardvark: Don't blindly enable ASPM L0s and don't write to read-only register
arm64: dts: fvp: Fix GIC child nodes
ASoC: SOF: Do nothing when DSP PM callbacks are not set
clk: renesas: cpg-mssr: Fix STBCR suspend/resume handling
pinctrl: ocelot: Fix GPIO interrupt decoding on Jaguar2
arm64: dts: juno: Fix GIC child nodes
arm64: dts: armada-3720-turris-mox: fix SFP binding
arm64: dts: armada-3720-turris-mox: forbid SDR104 on SDIO for FCC purposes
dm mpath: switch paths in dm_blk_ioctl() code path
misc: fastrpc: fix potential fastrpc_invoke_ctx leak
misc: fastrpc: Fix an incomplete memory release in fastrpc_rpmsg_probe()
serial: 8250: Fix max baud limit in generic 8250 port
usblp: poison URBs upon disconnect
clk: samsung: Mark top ISP and CAM clocks on Exynos542x as critical
remoteproc: qcom_q6v5_mss: map/unmap mpss segments before/after use
i2c: pxa: clear all master action bits in i2c_pxa_stop_message()
f2fs: report delalloc reserve as non-free in statfs for project quota
iio: bmp280: fix compensation of humidity
rtc: mc13xxx: fix a double-unlock issue
powerpc/kasan: Fix stack overflow by increasing THREAD_SHIFT
Input: edt-ft5x06 - fix get_default register write access
scsi: qla2xxx: Fix issue with adapter's stopping state
PCI: Allow pci_resize_resource() for devices on root bus
ALSA: isa/wavefront: prevent out of bounds write in ioctl
ALSA: hda/realtek - Introduce polarity for micmute LED GPIO
arm64: dts: meson: fixup SCP sram nodes
scsi: qedi: Check for buffer overflow in qedi_set_path()
scsi: core: free sgtables in case command setup fails
ARM: dts: stm32: Add missing ethernet PHY reset on AV96
ARM: integrator: Add some Kconfig selections
ASoC: davinci-mcasp: Fix dma_chan refcnt leak when getting dma type
ARM: dts: renesas: Fix IOMMU device node names
backlight: lp855x: Ensure regulators are disabled on probe failure
ASoC: fsl_esai: Disable exception interrupt before scheduling tasklet
clk: qcom: msm8916: Fix the address location of pll->config_reg
remoteproc: Fix IDR initialisation in rproc_alloc()
iio: pressure: bmp280: Tolerate IRQ before registering
ASoC: SOF: imx8: Fix randbuild error
i2c: piix4: Detect secondary SMBus controller on AMD AM4 chipsets
ASoC: tegra: tegra_wm8903: Support nvidia, headset property
clk: sunxi: Fix incorrect usage of round_down()
power: supply: bq24257_charger: Replace depends on REGMAP_I2C with select
ANDROID: abi_gki_aarch64_qcom_whitelist: Add reboot_mode
ANDROID: Update kabi for db845c (following moving pinctrl to a module)
ANDROID: GKI: Remove msm_pinctrl-* symbols from the abi lists
ANDROID: db845c_gki.fragment: Add PINCTRL_MSM=m
ANDROID: GKI: Remove PINCTRL_MSM as built in driver
ANDROID: pinctrl: qcom: Allow pinctrl-msm code to be loadable as a module
ANDROID: GKI: update ABI after struct vm_fault changes
ANDROID: GKI: mm: add struct vm_fault fields for SPECULATIVE_PAGE_FAULTS
FROMLIST: f2fs: fix use-after-free when accessing bio->bi_crypt_context
ANDROID: GKI: Update ABI for incremental fs
ANDROID: GKI: Update whitelist and defconfig for incfs
ANDROID: gki_defconfig: x86: Enable KERNEL_LZ4
ANDROID: GKI: scripts: Makefile: update the lz4 command
ANDROID: Use depmod from the hermetic toolchain
ANDROID: ABI/Whitelist: update symbols of unisoc whitelist
Linux 5.4.48
perf symbols: Fix kernel maps for kcore and eBPF
perf symbols: Fix debuginfo search for Ubuntu
perf probe: Check address correctness by map instead of _etext
perf probe: Fix to check blacklist address correctly
perf probe: Do not show the skipped events
f2fs: fix checkpoint=disable:%u%%
w1: omap-hdq: cleanup to add missing newline for some dev_dbg
mtd: rawnand: tmio: Fix the probe error path
mtd: rawnand: mtk: Fix the probe error path
mtd: rawnand: pasemi: Fix the probe error path
mtd: rawnand: plat_nand: Fix the probe error path
mtd: rawnand: sunxi: Fix the probe error path
mtd: rawnand: oxnas: Fix the probe error path
mtd: rawnand: socrates: Fix the probe error path
mtd: rawnand: orion: Fix the probe error path
mtd: rawnand: xway: Fix the probe error path
mtd: rawnand: ingenic: Fix the probe error path
mtd: rawnand: sharpsl: Fix the probe error path
mtd: rawnand: diskonchip: Fix the probe error path
mtd: rawnand: brcmnand: fix hamming oob layout
mtd: rawnand: onfi: Fix redundancy detection check
mtd: rawnand: Fix nand_gpio_waitrdy()
sunrpc: clean up properly in gss_mech_unregister()
sunrpc: svcauth_gss_register_pseudoflavor must reject duplicate registrations.
kbuild: force to build vmlinux if CONFIG_MODVERSION=y
powerpc/64s: Save FSCR to init_task.thread.fscr after feature init
powerpc/64s: Don't let DT CPU features set FSCR_DSCR
powerpc/32: Disable KASAN with pages bigger than 16k
powerpc/kasan: Fix shadow pages allocation failure
powerpc/kasan: Fix issues by lowering KASAN_SHADOW_END
powerpc/32s: Fix another build failure with CONFIG_PPC_KUAP_DEBUG
drivers/macintosh: Fix memleak in windfarm_pm112 driver
ARM: dts: s5pv210: Set keep-power-in-suspend for SDHCI1 on Aries
ARM: dts: at91: sama5d2_ptc_ek: fix vbus pin
ARM: dts: exynos: Fix GPIO polarity for thr GalaxyS3 CM36651 sensor's bus
soc/tegra: pmc: Select GENERIC_PINCONF
ARM: tegra: Correct PL310 Auxiliary Control Register initialization
kernel/cpu_pm: Fix uninitted local in cpu_pm
powerpc/fadump: Account for memory_limit while reserving memory
powerpc/fadump: consider reserved ranges while reserving memory
powerpc/fadump: use static allocation for reserved memory ranges
alpha: fix memory barriers so that they conform to the specification
dm crypt: avoid truncating the logical block size
sparc64: fix misuses of access_process_vm() in genregs32_[sg]et()
sparc32: fix register window handling in genregs32_[gs]et()
gnss: sirf: fix error return code in sirf_probe()
pinctrl: samsung: Save/restore eint_mask over suspend for EINT_TYPE GPIOs
pinctrl: samsung: Correct setting of eint wakeup mask on s5pv210
power: supply: core: fix memory leak in HWMON error path
power: supply: core: fix HWMON temperature labels
power: vexpress: add suppress_bind_attrs to true
EDAC/amd64: Add AMD family 17h model 60h PCI IDs
hwmon: (k10temp) Add AMD family 17h model 60h PCI match
igb: Report speed and duplex as unknown when device is runtime suspended
clk: mediatek: assign the initial value to clk_init_data of mtk_mux
media: ov5640: fix use of destroyed mutex
b43_legacy: Fix connection problem with WPA3
b43: Fix connection problem with WPA3
b43legacy: Fix case where channel status is corrupted
Bluetooth: hci_bcm: fix freeing not-requested IRQ
serial: 8250: Avoid error message on reprobe
media: cedrus: Program output format during each run
media: go7007: fix a miss of snd_card_free
carl9170: remove P2P_GO support
e1000e: Relax condition to trigger reset for ME workaround
e1000e: Disable TSO for buffer overrun workaround
PCI: Program MPS for RCiEP devices
ima: Set again build_ima_appraise variable
ima: Remove redundant policy rule set in add_rules()
x86/amd_nb: Add AMD family 17h model 60h PCI IDs
serial: 8250_pci: Move Pericom IDs to pci_ids.h
PCI: Add Loongson vendor ID
x86/amd_nb: Add Family 19h PCI IDs
PCI: vmd: Add device id for VMD device 8086:9A0B
PCI: Add ACS quirk for Intel Root Complex Integrated Endpoints
PCI: Avoid FLR for AMD Starship USB 3.0
PCI: Avoid FLR for AMD Matisse HD Audio & USB 3.0
PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect
ext4: fix race between ext4_sync_parent() and rename()
ext4: fix error pointer dereference
ext4: fix EXT_MAX_EXTENT/INDEX to check for zeroed eh_max
evm: Fix possible memory leak in evm_calc_hmac_or_hash()
ima: Remove __init annotation from ima_pcrread()
ima: Call ima_calc_boot_aggregate() in ima_eventdigest_init()
ima: Directly assign the ima_default_policy pointer to ima_rules
ima: Evaluate error in init_ima()
ima: Switch to ima_hash_algo for boot aggregate
ima: Fix ima digest hash table key calculation
mm: call cond_resched() from deferred_init_memmap()
mm/pagealloc.c: call touch_nmi_watchdog() on max order boundaries in deferred init
mm: initialize deferred pages with interrupts enabled
mm: thp: make the THP mapcount atomic against __split_huge_pmd_locked()
powerpc/mm: Fix conditions to perform MMU specific management by blocks on PPC32.
btrfs: fix space_info bytes_may_use underflow during space cache writeout
btrfs: fix space_info bytes_may_use underflow after nocow buffered write
btrfs: fix wrong file range cleanup after an error filling dealloc range
btrfs: fix error handling when submitting direct I/O bio
btrfs: force chunk allocation if our global rsv is larger than metadata
btrfs: send: emit file capabilities after chown
btrfs: include non-missing as a qualifier for the latest_bdev
btrfs: free alien device after device add
string.h: fix incompatibility between FORTIFY_SOURCE and KASAN
kasan: stop tests being eliminated as dead code with FORTIFY_SOURCE
selftests/bpf, flow_dissector: Close TAP device FD after the test
bpf: Fix running sk_skb program types with ktls
bpf: Refactor sockmap redirect code so its easy to reuse
bpf: Fix map permissions check
libbpf: Fix perf_buffer__free() API for sparse allocs
platform/x86: asus_wmi: Reserve more space for struct bias_args
platform/x86: intel-vbtn: Only blacklist SW_TABLET_MODE on the 9 / "Laptop" chasis-type
platform/x86: intel-hid: Add a quirk to support HP Spectre X2 (2015)
platform/x86: hp-wmi: Convert simple_strtoul() to kstrtou32()
cpuidle: Fix three reference count leaks
spi: dw: Return any value retrieved from the dma_transfer callback
mmc: sdhci-esdhc-imx: fix the mask for tuning start point
iwlwifi: mvm: fix aux station leak
ixgbe: fix signed-integer-overflow warning
ice: fix potential double free in probe unrolling
mmc: via-sdmmc: Respect the cmd->busy_timeout from the mmc core
staging: greybus: sdio: Respect the cmd->busy_timeout from the mmc core
mmc: sdhci-msm: Set SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 quirk
bcache: fix refcount underflow in bcache_device_free()
MIPS: Fix IRQ tracing when call handle_fpe() and handle_msa_fpe()
PCI: Don't disable decoding when mmio_always_on is set
macvlan: Skip loopback packets in RX handler
btrfs: qgroup: mark qgroup inconsistent if we're inherting snapshot to a new qgroup
btrfs: improve global reserve stealing logic
m68k: mac: Don't call via_flush_cache() on Mac IIfx
MIPS: tools: Fix resource leak in elf-entry.c
x86/mm: Stop printing BRK addresses
selftests/bpf: CONFIG_IPV6_SEG6_BPF required for test_seg6_loop.o
drm/amdgpu: Sync with VM root BO when switching VM to CPU update mode
drm/amd/powerpay: Disable gfxoff when setting manual mode on picasso and raven
crypto: stm32/crc32 - fix multi-instance
crypto: stm32/crc32 - fix run-time self test issue.
crypto: stm32/crc32 - fix ext4 chksum BUG_ON()
mips: Add udelay lpj numbers adjustment
mips: MAAR: Use more precise address mask
sched: Defend cfs and rt bandwidth quota against overflow
x86/boot: Correct relocation destination on old linkers
kgdboc: Use a platform device to handle tty drivers showing up late
mwifiex: Fix memory corruption in dump_station
rtlwifi: Fix a double free in _rtl_usb_tx_urb_setup()
net/mlx5e: IPoIB, Drop multicast packets that this interface sent
veth: Adjust hard_start offset on redirect XDP frames
iocost: don't let vrate run wild while there's no saturation signal
raid5: remove gfp flags from scribble_alloc()
md: don't flush workqueue unconditionally in md_open
mt76: avoid rx reorder buffer overflow
drm/mcde: dsi: Fix return value check in mcde_dsi_bind()
net: qed*: Reduce RX and TX default ring count when running inside kdump kernel
wcn36xx: Fix error handling path in 'wcn36xx_probe()'
ath10k: Remove msdu from idr when management pkt send fails
nvme-tcp: use bh_lock in data_ready
nvme-pci: align io queue count with allocted nvme_queue in nvme_probe
nvme: refine the Qemu Identify CNS quirk
iwlwifi: avoid debug max amsdu config overwriting itself
platform/x86: intel-vbtn: Also handle tablet-mode switch on "Detachable" and "Portable" chassis-types
platform/x86: intel-vbtn: Do not advertise switches to userspace if they are not there
platform/x86: intel-vbtn: Split keymap into buttons and switches parts
platform/x86: intel-vbtn: Use acpi_evaluate_integer()
xfs: fix duplicate verification from xfs_qm_dqflush()
xfs: reset buffer write failure state on successful completion
kgdb: Fix spurious true from in_dbg_master()
mips: cm: Fix an invalid error code of INTVN_*_ERR
MIPS: Truncate link address into 32bit for 32bit kernel
Crypto/chcr: fix for ccm(aes) failed test
xfs: clean up the error handling in xfs_swap_extents
libertas_tf: avoid a null dereference in pointer priv
powerpc/spufs: fix copy_to_user while atomic
net: allwinner: Fix use correct return type for ndo_start_xmit()
media: cec: silence shift wrapping warning in __cec_s_log_addrs()
drivers: net: davinci_mdio: fix potential NULL dereference in davinci_mdio_probe()
selinux: fix error return code in policydb_read()
net: lpc-enet: fix error return code in lpc_mii_init()
iocost_monitor: drop string wrap around numbers when outputting json
drivers/perf: hisi: Fix typo in events attribute array
sched/core: Fix illegal RCU from offline CPUs
exit: Move preemption fixup up, move blocking operations down
lib/mpi: Fix 64-bit MIPS build with Clang
net: bcmgenet: Fix WoL with password after deep sleep
net: bcmgenet: set Rx mode before starting netif
selftests/bpf: Fix memory leak in extract_build_id()
netfilter: nft_nat: return EOPNOTSUPP if type or flags are not supported
dpaa2-eth: fix return codes used in ndo_setup_tc
Drivers: hv: vmbus: Always handle the VMBus messages on CPU0
audit: fix a net reference leak in audit_list_rules_send()
Bluetooth: btbcm: Add 2 missing models to subver tables
ath10k: add flush tx packets for SDIO chip
MIPS: Make sparse_init() using top-down allocation
media: platform: fcp: Set appropriate DMA parameters
media: dvb: return -EREMOTEIO on i2c transfer failure.
audit: fix a net reference leak in audit_send_reply()
drm/mediatek: set dpi pin mode to gpio low to avoid leakage current
dt-bindings: display: mediatek: control dpi pins mode to avoid leakage
e1000: Distribute switch variables for initialization
tools api fs: Make xxx__mountpoint() more scalable
regulator: qcom-rpmh: Fix typos in pm8150 and pm8150l
brcmfmac: fix wrong location to get firmware feature
spi: Respect DataBitLength field of SpiSerialBusV2() ACPI resource
media: staging/intel-ipu3: Implement lock for stream on/off operations
ath10k: fix kernel null pointer dereference
staging: android: ion: use vmap instead of vm_map_ram
x86: fix vmap arguments in map_irq_stack
net: vmxnet3: fix possible buffer overflow caused by bad DMA value in vmxnet3_get_rss()
x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit
spi: dw: Fix Rx-only DMA transfers
Bluetooth: btmtkuart: Improve exception handling in btmtuart_probe()
mmc: meson-mx-sdio: trigger a soft reset after a timeout or CRC error
ice: Fix for memory leaks and modify ICE_FREE_CQ_BUFS
ice: Fix memory leak
batman-adv: Revert "disable ethtool link speed detection when auto negotiation off"
ARM: 8978/1: mm: make act_mm() respect THREAD_SIZE
btrfs: do not ignore error from btrfs_next_leaf() when inserting checksums
btrfs: account for trans_block_rsv in may_commit_transaction
media: dvbdev: Fix tuner->demod media controller link
clocksource: dw_apb_timer_of: Fix missing clockevent timers
clocksource: dw_apb_timer: Make CPU-affiliation being optional
spi: dw: Enable interrupts in accordance with DMA xfer mode
mips: Fix cpu_has_mips64r1/2 activation for MIPS32 CPUs
ACPI/IORT: Fix PMCG node single ID mapping handling
pmu/smmuv3: Clear IRQ affinity hint on device removal
kgdb: Prevent infinite recursive entries to the debugger
kgdb: Disable WARN_CONSOLE_UNLOCKED for all kgdb
Bluetooth: Add SCO fallback for invalid LMP parameters error
MIPS: Loongson: Build ATI Radeon GPU driver as module
platform/x86: dell-laptop: don't register micmute LED if there is no token
ixgbe: Fix XDP redirect on archs with PAGE_SIZE above 4K
lockdown: Allow unprivileged users to see lockdown status
drm: rcar-du: Set primary plane zpos immutably at initializing
block: reset mapping if failed to update hardware queue count
arm64: insn: Fix two bugs in encoding 32-bit logical immediates
block: alloc map and request for new hardware queue
ACPICA: Dispatcher: add status checks
spi: dw: Zero DMA Tx and Rx configurations on stack
rtw88: fix an issue about leak system resources
media: staging: ipu3: Fix stale list entries on parameter queue failure
arm64: cacheflush: Fix KGDB trap detection
ath10k: remove the max_sched_scan_reqs value
efi/libstub/x86: Work around LLVM ELF quirk build regression
net: ena: fix error returning in ena_com_get_hash_function()
net: atlantic: make hw_get_regs optional
sched/fair: Refill bandwidth before scaling
x86,smap: Fix smap_{save,restore}() alternatives
spi: pxa2xx: Apply CS clk quirk to BXT
libbpf: Fix memory leak and possible double-free in hashmap__clear
arm64/kernel: Fix range on invalidating dcache for boot page tables
drm/amdgpu: Init data to avoid oops while reading pp_num_states.
spi: spi-mem: Fix Dual/Quad modes on Octal-capable devices
objtool: Ignore empty alternatives
media: si2157: Better check for running tuner in init
media: vicodec: Fix error codes in probe function
crypto: ccp -- don't "select" CONFIG_DMADEVICES
media: imx: imx7-mipi-csis: Cleanup and fix subdev pad format handling
media: staging: imgu: do not hold spinlock during freeing mmu page table
drm: bridge: adv7511: Extend list of audio sample rates
ath10k: Fix the race condition in firmware dump work queue
drm/amdgpu: fix and cleanup amdgpu_gem_object_close v4
ACPI: GED: use correct trigger type field in _Exx / _Lxx handling
writeback: Drop I_DIRTY_TIME_EXPIRE
writeback: Fix sync livelock due to b_dirty_time processing
writeback: Avoid skipping inode writeback
writeback: Protect inode->i_io_list with inode->i_lock
Revert "writeback: Avoid skipping inode writeback"
ANDROID: GKI: enable some more USB configfs options
Linux 5.4.47
KVM: arm64: Save the host's PtrAuth keys in non-preemptible context
KVM: arm64: Synchronize sysreg state on injecting an AArch32 exception
xen/pvcalls-back: test for errors when calling backend_connect()
block/floppy: fix contended case in floppy_queue_rq()
mmc: sdio: Fix several potential memory leaks in mmc_sdio_init_card()
mmc: sdio: Fix potential NULL pointer error in mmc_sdio_init_card()
ARM: dts: at91: sama5d2_ptc_ek: fix sdmmc0 node description
mmc: uniphier-sd: call devm_request_irq() after tmio_mmc_host_probe()
mmc: tmio: Further fixup runtime PM management at remove
mmc: mmci_sdmmc: fix DMA API warning overlapping mappings
mmc: sdhci-msm: Clear tuning done flag while hs400 tuning
agp/intel: Reinforce the barrier after GTT updates
perf: Add cond_resched() to task_function_call()
fat: don't allow to mount if the FAT length == 0
mm/slub: fix a memory leak in sysfs_slab_add()
drm/vkms: Hold gem object while still in-use
Smack: slab-out-of-bounds in vsscanf
ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb
ath9x: Fix stack-out-of-bounds Write in ath9k_hif_usb_rx_cb
ath9k: Fix use-after-free Write in ath9k_htc_rx_msg
ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx
ath9k: Fix use-after-free Read in htc_connect_service
selftests/ftrace: Return unsupported if no error_log file
scsi: lpfc: Fix negation of else clause in lpfc_prep_node_fc4type
scsi: megaraid_sas: TM command refire leads to controller firmware crash
KVM: arm64: Make vcpu_cp1x() work on Big Endian hosts
KVM: arm64: Stop writing aarch32's CSSELR into ACTLR
KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits
KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data)
KVM: nVMX: Consult only the "basic" exit reason when routing nested exit
KVM: nSVM: leave ASID aside in copy_vmcb_control_area
KVM: nSVM: fix condition for filtering async PF
KVM: nVMX: Skip IBPB when switching between vmcs01 and vmcs02
video: fbdev: w100fb: Fix a potential double free.
video: vt8500lcdfb: fix fallthrough warning
EDAC/skx: Use the mcmtr register to retrieve close_pg/bank_xor_enable
cpufreq: Fix up cpufreq_boost_set_sw()
remoteproc: Fix and restore the parenting hierarchy for vdev
remoteproc: Fall back to using parent memory pool if no dedicated available
proc: Use new_inode not new_inode_pseudo
ovl: initialize error in ovl_copy_xattr
net/mlx5e: Fix repeated XSK usage on one channel
net/mlx5: Fix fatal error handling during device load
net/mlx5: drain health workqueue in case of driver load error
selftests/net: in rxtimestamp getopt_long needs terminating null entry
dccp: Fix possible memleak in dccp_init and dccp_fini
crypto: virtio: Fix dest length calculation in __virtio_crypto_skcipher_do_req()
crypto: virtio: Fix src/dst scatterlist calculation in __virtio_crypto_skcipher_do_req()
crypto: virtio: Fix use-after-free in virtio_crypto_skcipher_finalize_req()
firmware: imx: scu: Fix corruption of header
firmware: imx-scu: Support one TX and one RX
firmware: imx: warn on unexpected RX
x86/{mce,mm}: Unmap the entire page if the whole page is affected and poisoned
crypto: drbg - fix error return code in drbg_alloc_state()
crypto: algapi - Avoid spurious modprobe on LOADED
crypto: cavium/nitrox - Fix 'nitrox_get_first_device()' when ndevlist is fully iterated
gup: document and work around "COW can break either way" issue
PM: runtime: clk: Fix clk_pm_runtime_get() error path
spi: bcm-qspi: when tx/rx buffer is NULL set to 0
spi: bcm-qspi: Handle clock probe deferral
spi: bcm2835aux: Fix controller unregister order
spi: bcm2835: Fix controller unregister order
spi: pxa2xx: Fix runtime PM ref imbalance on probe error
spi: pxa2xx: Fix controller unregister order
spi: Fix controller unregister order
spi: dw: Fix controller unregister order
nilfs2: fix null pointer dereference at nilfs_segctor_do_construct()
lib/lzo: fix ambiguous encoding bug in lzo-rle
arm64: acpi: fix UBSAN warning
ACPI: PM: Avoid using power resources if there are none for D0
ACPI: GED: add support for _Exx / _Lxx handler methods
ACPI: CPPC: Fix reference count leak in acpi_cppc_processor_probe()
ACPI: sysfs: Fix reference count leak in acpi_sysfs_add_hotplug_profile()
ALSA: usb-audio: Add vendor, product and profile name for HP Thunderbolt Dock
ALSA: usb-audio: Fix inconsistent card PM state after resume
ALSA: pcm: fix snd_pcm_link() lockdep splat
ALSA: pcm: disallow linking stream to itself
ALSA: hda/realtek - add a pintbl quirk for several Lenovo machines
ALSA: fireface: fix configuration error for nominal sampling transfer frequency
ALSA: es1688: Add the missed snd_card_free()
watchdog: imx_sc_wdt: Fix reboot on crash
smb3: add indatalen that can be a non-zero value to calculation of credit charge in smb2 ioctl
smb3: fix incorrect number of credits when ioctl MaxOutputResponse > 64K
efi/efivars: Add missing kobject_put() in sysfs entry creation error path
io_uring: use kvfree() in io_sqe_buffer_register()
ASoC: max9867: fix volume controls
powerpc/ptdump: Properly handle non standard page size
KVM: x86: Fix APIC page invalidation race
KVM: x86: respect singlestep when emulating instruction
KVM: x86/mmu: Set mmio_value to '0' if reserved #PF can't be generated
perf/x86/intel: Add more available bits for OFFCORE_RESPONSE of Intel Tremont
x86/reboot/quirks: Add MacBook6,1 reboot quirk
x86/speculation: PR_SPEC_FORCE_DISABLE enforcement for indirect branches.
x86/speculation: Avoid force-disabling IBPB based on STIBP and enhanced IBRS.
x86/speculation: Prevent rogue cross-process SSBD shutdown
x86/PCI: Mark Intel C620 MROMs as having non-compliant BARs
x86_64: Fix jiffies ODR violation
sctp: fix refcount bug in sctp_wfree
sctp: fix possibly using a bad saddr with a given dst
iwlwifi: mvm: fix NVM check for 3168 devices
ipv4: fix a RCU-list lock in fib_triestat_seq_show
aio: fix async fsync creds
fanotify: fix ignore mask logic for events on child and on dir
selftests: fix flower parent qdisc
mm: add kvfree_sensitive() for freeing sensitive data objects
perf probe: Accept the instance number of kretprobe event
PCI/PM: Adjust pcie_wait_for_link_delay() for caller delay
KVM: x86: only do L1TF workaround on affected processors
x86/cpu/amd: Make erratum #1054 a legacy erratum
s390/pci: Log new handle in clp_disable_fh()
padata: add separate cpuhp node for CPUHP_PADATA_DEAD
RDMA/uverbs: Make the event_queue fds return POLLERR when disassociated
smack: avoid unused 'sip' variable warning
ath9k_htc: Silence undersized packet warnings
spi: dw: Fix native CS being unset
powerpc/xive: Clear the page tables for the ESB IO mapping
drivers/net/ibmvnic: Update VNIC protocol version reporting
gfs2: Even more gfs2_find_jhead fixes
csky: Fixup abiv2 syscall_trace break a4 & a5
Input: synaptics - add a second working PNP_ID for Lenovo T470s
sched/fair: Don't NUMA balance for kthreads
ARM: 8977/1: ptrace: Fix mask for thumb breakpoint hook
Input: mms114 - fix handling of mms345l
elfnote: mark all .note sections SHF_ALLOC
bpf: Support llvm-objcopy for vmlinux BTF
vxlan: Avoid infinite loop when suppressing NS messages with invalid options
bridge: Avoid infinite loop when suppressing NS messages with invalid options
tun: correct header offsets in napi frags mode
net_failover: fixed rollback in net_failover_open()
mlxsw: core: Use different get_trend() callbacks for different thermal zones
ipv6: fix IPV6_ADDRFORM operation logic
fs-verity: remove unnecessary extern keywords
fs-verity: fix all kerneldoc warnings
fscrypt: add support for IV_INO_LBLK_32 policies
fscrypt: make test_dummy_encryption use v2 by default
fscrypt: support test_dummy_encryption=v2
fscrypt: add fscrypt_add_test_dummy_key()
linux/parser.h: add include guards
fscrypt: remove unnecessary extern keywords
fscrypt: name all function parameters
fscrypt: fix all kerneldoc warnings
ANDROID: GKI: enable CONFIG_EXT4_FS_POSIX_ACL.
ANDROID: arch: arm: Increase kernel command line size
ANDROID: arch: arm64: Increase kernel command line size
ANDROID: ABI: Add typec symbols to QCOM ABI whitelist
UPSTREAM: usb: typec: Remove the callback members from struct typec_capability
UPSTREAM: usb: typec: ucsi: Start using struct typec_operations
UPSTREAM: usb: typec: tps6598x: Start using struct typec_operations
UPSTREAM: usb: typec: tcpm: Start using struct typec_operations
UPSTREAM: usb: typec: Separate the operations vector
UPSTREAM: usb: typec: Introduce typec_get_drvdata()
UPSTREAM: usb: typec: Copy everything from struct typec_capability during registration
ANDROID: kbuild: merge more sections with LTO
UPSTREAM: driver core: Remove unnecessary is_fwnode_dev variable in device_add()
UPSTREAM: driver core: Remove check in driver_deferred_probe_force_trigger()
UPSTREAM: of: platform: Batch fwnode parsing when adding all top level devices
BACKPORT: driver core: fw_devlink: Add support for batching fwnode parsing
BACKPORT: driver core: Look for waiting consumers only for a fwnode's primary device
UPSTREAM: usb: musb: Add support for MediaTek musb controller
UPSTREAM: usb: musb: Add musb_clearb/w() interface
UPSTREAM: usb: musb: Add noirq type of dma create interface
UPSTREAM: usb: musb: Add get/set toggle hooks
UPSTREAM: dt-bindings: usb: musb: Add support for MediaTek musb controller
Revert "ANDROID: Remove default y on BRIDGE_IGMP_SNOOPING"
Linux 5.4.46
Revert "net/mlx5: Annotate mutex destroy for root ns"
uprobes: ensure that uprobe->offset and ->ref_ctr_offset are properly aligned
x86/speculation: Add Ivy Bridge to affected list
x86/speculation: Add SRBDS vulnerability and mitigation documentation
x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) mitigation
x86/cpu: Add 'table' argument to cpu_matches()
x86/cpu: Add a steppings field to struct x86_cpu_id
x86/speculation/spectre_v2: Exclude Zhaoxin CPUs from SPECTRE_V2
nvmem: qfprom: remove incorrect write support
CDC-ACM: heed quirk also in error handling
staging: rtl8712: Fix IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK
tty: hvc_console, fix crashes on parallel open/close
vt: keyboard: avoid signed integer overflow in k_ascii
usb: musb: Fix runtime PM imbalance on error
usb: musb: start session in resume for host port
iio: adc: stm32-adc: fix a wrong error message when probing interrupts
iio:chemical:pms7003: Fix timestamp alignment and prevent data leak.
iio: vcnl4000: Fix i2c swapped word reading.
iio:chemical:sps30: Fix timestamp alignment
USB: serial: ch341: add basis for quirk detection
USB: serial: option: add Telit LE910C1-EUX compositions
USB: serial: usb_wwan: do not resubmit rx urb on fatal errors
USB: serial: qcserial: add DW5816e QDL support
net: be more gentle about silly gso requests coming from user
net: check untrusted gso_size at kernel entry
vsock: fix timeout in vsock_accept()
nfp: flower: fix used time of merge flow statistics
NFC: st21nfca: add missed kfree_skb() in an error path
net: usb: qmi_wwan: add Telit LE910C1-EUX composition
net: stmmac: enable timestamp snapshot for required PTP packets in dwmac v5.10a
net/mlx5: Fix crash upon suspend/resume
l2tp: do not use inet_hash()/inet_unhash()
l2tp: add sk_family checks to l2tp_validate_socket
devinet: fix memleak in inetdev_init()
ANDROID: GKI: Update ABI after scsi/ufs changes
FROMLIST: Documentation:sysfs-ufs: Add WriteBooster documentation
FROMGIT: scsi: ufs-qcom: Configure write booster type
FROMGIT: scsi: ufs: sysfs: Add sysfs entries for write booster
BACKPORT: FROMGIT: scsi: ufs: Add write booster feature support
ANDROID: ABI/Whitelist: update symbols of unisoc whitelist
BACKPORT: FROMGIT: scsi: ufs: Remove unnecessary memset for dev_info
ANDROID: staging: ion: Fix potential memory corruption
ANDROID: staging: ion: optimize cache operation for non-cached buffer
ANDROID: staging: ion: Skip sync if not mapped
ANDROID: staging: ion: use dma_[un]map_sg_attrs
ANDROID: arch: arm64: vdso: export the symbols for time()
ANDROID: dm-bow: Add block_size option
ANDROID: GKI: remove squashfs-needed symbols from exported abi
ANDROID: GKI: remove erofs symbols from exported abi
ANDROID: GKI: enable CONFIG_EROFS_FS=y
ANDROID: scs: fix recursive spinlock in scs_check_usage
f2fs: attach IO flags to the missing cases
f2fs: add node_io_flag for bio flags likewise data_io_flag
f2fs: remove unused parameter of f2fs_put_rpages_mapping()
f2fs: handle readonly filesystem in f2fs_ioc_shutdown()
f2fs: avoid utf8_strncasecmp() with unstable name
f2fs: don't return vmalloc() memory from f2fs_kmalloc()
ANDROID: GKI: set CONFIG_BLK_DEV_LOOP_MIN_COUNT to 16
ANDROID: Incremental fs: Remove dependency on PKCS7_MESSAGE_PARSER
ANDROID: Incremental fs: Cache successful hash calculations
ANDROID: Incremental fs: Fix four error-path bugs
f2fs: fix retry logic in f2fs_write_cache_pages()
f2fs: fix wrong discard space
f2fs: compress: don't compress any datas after cp stop
f2fs: remove unneeded return value of __insert_discard_tree()
f2fs: fix wrong value of tracepoint parameter
f2fs: protect new segment allocation in expand_inode_data
f2fs: code cleanup by removing ifdef macro surrounding
writeback: Avoid skipping inode writeback
f2fs: avoid inifinite loop to wait for flushing node pages at cp_error
f2fs: compress: fix zstd data corruption
f2fs: add compressed/gc data read IO stat
f2fs: fix potential use-after-free issue
f2fs: compress: don't handle non-compressed data in workqueue
f2fs: remove redundant assignment to variable err
f2fs: refactor resize_fs to avoid meta updates in progress
f2fs: use round_up to enhance calculation
f2fs: introduce F2FS_IOC_RESERVE_COMPRESS_BLOCKS
f2fs: Avoid double lock for cp_rwsem during checkpoint
f2fs: report delalloc reserve as non-free in statfs for project quota
f2fs: Fix wrong stub helper update_sit_info
f2fs: compress: let lz4 compressor handle output buffer budget properly
f2fs: remove blk_plugging in block_operations
f2fs: introduce F2FS_IOC_RELEASE_COMPRESS_BLOCKS
f2fs: shrink spinlock coverage
f2fs: correctly fix the parent inode number during fsync()
f2fs: compress: support lzo-rle compress algorithm
f2fs: introduce mempool for {,de}compress intermediate page allocation
f2fs: introduce f2fs_bmap_compress()
f2fs: support fiemap on compressed inode
f2fs: support partial truncation on compressed inode
f2fs: remove redundant compress inode check
f2fs: use strcmp() in parse_options()
f2fs: Use the correct style for SPDX License Identifier
Conflicts:
Documentation/devicetree/bindings
Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt
abi_gki_aarch64_qcom_whitelist
arch/x86/configs/gki_defconfig
build.config.common
drivers/hwtracing/coresight/coresight-tmc-etf.c
drivers/mmc/host/sdhci-msm.c
drivers/pinctrl/qcom/Kconfig
drivers/pinctrl/qcom/pinctrl-msm.c
drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
drivers/scsi/ufs/ufs-qcom.c
drivers/scsi/ufs/ufs-sysfs.c
drivers/scsi/ufs/ufs.h
drivers/scsi/ufs/ufs_quirks.h
drivers/scsi/ufs/ufshcd.c
drivers/scsi/ufs/ufshcd.h
drivers/usb/dwc3/gadget.c
drivers/usb/host/xhci-plat.c
drivers/usb/typec/ucsi/ucsi.c
include/linux/usb/composite.h
include/linux/usb/gadget.h
init/Kconfig.gki
net/wireless/nl80211.c
scripts/headers_install.sh
Change-Id: Iadbe19b28a1d459bc7378e0b9060219a92a408b6
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
commit c444eb564fb16645c172d550359cb3d75fe8a040 upstream.
Write protect anon page faults require an accurate mapcount to decide
if to break the COW or not. This is implemented in the THP path with
reuse_swap_page() ->
page_trans_huge_map_swapcount()/page_trans_huge_mapcount().
If the COW triggers while the other processes sharing the page are
under a huge pmd split, to do an accurate reading, we must ensure the
mapcount isn't computed while it's being transferred from the head
page to the tail pages.
reuse_swap_cache() already runs serialized by the page lock, so it's
enough to add the page lock around __split_huge_pmd_locked too, in
order to add the missing serialization.
Note: the commit in "Fixes" is just to facilitate the backporting,
because the code before such commit didn't try to do an accurate THP
mapcount calculation and it instead used the page_count() to decide if
to COW or not. Both the page_count and the pin_count are THP-wide
refcounts, so they're inaccurate if used in
reuse_swap_page(). Reverting such commit (besides the unrelated fix to
the local anon_vma assignment) would have also opened the window for
memory corruption side effects to certain workloads as documented in
such commit header.
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Suggested-by: Jann Horn <jannh@google.com>
Reported-by: Jann Horn <jannh@google.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Fixes: 6d0a07edd1 ("mm: thp: calculate the mapcount correctly for THP pages during WP faults")
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 17839856fd588f4ab6b789f482ed3ffd7c403e1f upstream.
Doing a "get_user_pages()" on a copy-on-write page for reading can be
ambiguous: the page can be COW'ed at any time afterwards, and the
direction of a COW event isn't defined.
Yes, whoever writes to it will generally do the COW, but if the thread
that did the get_user_pages() unmapped the page before the write (and
that could happen due to memory pressure in addition to any outright
action), the writer could also just take over the old page instead.
End result: the get_user_pages() call might result in a page pointer
that is no longer associated with the original VM, and is associated
with - and controlled by - another VM having taken it over instead.
So when doing a get_user_pages() on a COW mapping, the only really safe
thing to do would be to break the COW when getting the page, even when
only getting it for reading.
At the same time, some users simply don't even care.
For example, the perf code wants to look up the page not because it
cares about the page, but because the code simply wants to look up the
physical address of the access for informational purposes, and doesn't
really care about races when a page might be unmapped and remapped
elsewhere.
This adds logic to force a COW event by setting FOLL_WRITE on any
copy-on-write mapping when FOLL_GET (or FOLL_PIN) is used to get a page
pointer as a result.
The current semantics end up being:
- __get_user_pages_fast(): no change. If you don't ask for a write,
you won't break COW. You'd better know what you're doing.
- get_user_pages_fast(): the fast-case "look it up in the page tables
without anything getting mmap_sem" now refuses to follow a read-only
page, since it might need COW breaking. Which happens in the slow
path - the fast path doesn't know if the memory might be COW or not.
- get_user_pages() (including the slow-path fallback for gup_fast()):
for a COW mapping, turn on FOLL_WRITE for FOLL_GET/FOLL_PIN, with
very similar semantics to FOLL_FORCE.
If it turns out that we want finer granularity (ie "only break COW when
it might actually matter" - things like the zero page are special and
don't need to be broken) we might need to push these semantics deeper
into the lookup fault path. So if people care enough, it's possible
that we might end up adding a new internal FOLL_BREAK_COW flag to go
with the internal FOLL_COW flag we already have for tracking "I had a
COW".
Alternatively, if it turns out that different callers might want to
explicitly control the forced COW break behavior, we might even want to
make such a flag visible to the users of get_user_pages() instead of
using the above default semantics.
But for now, this is mostly commentary on the issue (this commit message
being a lot bigger than the patch, and that patch in turn is almost all
comments), with that minimal "enable COW breaking early" logic using the
existing FOLL_WRITE behavior.
[ It might be worth noting that we've always had this ambiguity, and it
could arguably be seen as a user-space issue.
You only get private COW mappings that could break either way in
situations where user space is doing cooperative things (ie fork()
before an execve() etc), but it _is_ surprising and very subtle, and
fork() is supposed to give you independent address spaces.
So let's treat this as a kernel issue and make the semantics of
get_user_pages() easier to understand. Note that obviously a true
shared mapping will still get a page that can change under us, so this
does _not_ mean that get_user_pages() somehow returns any "stable"
page ]
Reported-by: Jann Horn <jannh@google.com>
Tested-by: Christoph Hellwig <hch@lst.de>
Acked-by: Oleg Nesterov <oleg@redhat.com>
Acked-by: Kirill Shutemov <kirill@shutemov.name>
Acked-by: Jan Kara <jack@suse.cz>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
When handling speculative page fault, the vma->vm_flags and
vma->vm_page_prot fields are read once the page table lock is released. So
there is no more guarantee that these fields would not change in our back.
They will be saved in the vm_fault structure before the VMA is checked for
changes.
This patch also set the fields in hugetlb_no_page() and
__collapse_huge_page_swapin even if it is not need for the callee.
Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Change-Id: I9821f02ea32ef220b57b8bfd817992bbf71bbb1d
Patch-mainline: linux-mm @ Tue, 17 Apr 2018 16:33:18
[vinmenon@codeaurora.org: trivial merge conflict fixes]
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
[charante@codeaurora.org: trivial merge conflict fixes]
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Some pages could be shared by several processes. (ex, libc)
In case of that, it's too bad to reclaim them from the beginnig.
This patch causes VM to keep them on memory until last task
try to reclaim them so shared pages will be reclaimed only if
all of task has gone swapping out.
This feature doesn't handle non-linear mapping on ramfs because
it's very time-consuming and doesn't make sure of reclaiming and
not common.
Change-Id: I7e5f34f2e947f5db6d405867fe2ad34863ca40f7
Signed-off-by: Sangseok Lee <sangseok.lee@lge.com>
Signed-off-by: Minchan Kim <minchan@kernel.org>
Patch-mainline: linux-mm @ 9 May 2013 16:21:27
[vinmenon@codeaurora.org: merge conflict fixes + fix for ksm]
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
commit 8a8683ad9ba48b4b52a57f013513d1635c1ca5c4 upstream.
In set_pmd_migration_entry(), pmdp_invalidate() is used to change PMD
atomically. But the PMD is read before that with an ordinary memory
reading. If the THP (transparent huge page) is written between the PMD
reading and pmdp_invalidate(), the PMD dirty bit may be lost, and cause
data corruption. The race window is quite small, but still possible in
theory, so need to be fixed.
The race is fixed via using the return value of pmdp_invalidate() to get
the original content of PMD, which is a read/modify/write atomic
operation. So no THP writing can occur in between.
The race has been introduced when the THP migration support is added in
the commit 616b837153 ("mm: thp: enable thp migration in generic path").
But this fix depends on the commit d52605d7cb ("mm: do not lose dirty
and accessed bits in pmdp_invalidate()"). So it's easy to be backported
after v4.16. But the race window is really small, so it may be fine not
to backport the fix at all.
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Reviewed-by: William Kucharski <william.kucharski@oracle.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: <stable@vger.kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Link: http://lkml.kernel.org/r/20200220075220.2327056-1-ying.huang@intel.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit f42f25526502d851d0e3ca1e46297da8aafce8a7 upstream.
If thp defrag setting "defer" is used and a newline is *not* used when
writing to the sysfs file, this is interpreted as the "defer+madvise"
option.
This is because we do prefix matching and if five characters are written
without a newline, the current code ends up comparing to the first five
bytes of the "defer+madvise" option and using that instead.
Use the more appropriate sysfs_streq() that handles the trailing newline
for us. Since this doubles as a nice cleanup, do it in enabled_store()
as well.
The current implementation relies on prefix matching: the number of
bytes compared is either the number of bytes written or the length of
the option being compared. With a newline, "defer\n" does not match
"defer+"madvise"; without a newline, however, "defer" is considered to
match "defer+madvise" (prefix matching is only comparing the first five
bytes). End result is that writing "defer" is broken unless it has an
additional trailing character.
This means that writing "madv" in the past would match and set
"madvise". With strict checking, that no longer is the case but it is
unlikely anybody is currently doing this.
Link: http://lkml.kernel.org/r/alpine.DEB.2.21.2001171411020.56385@chino.kir.corp.google.com
Fixes: 21440d7eb9 ("mm, thp: add new defer+madvise defrag option")
Signed-off-by: David Rientjes <rientjes@google.com>
Suggested-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Mel Gorman <mgorman@techsingularity.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit cb829624867b5ab10bc6a7036d183b1b82bfe9f8 upstream.
The page could be a tail page, if this is the case, this BUG_ON will
never be triggered.
Link: http://lkml.kernel.org/r/20200110032610.26499-1-richardw.yang@linux.intel.com
Fixes: e9b61f1985 ("thp: reintroduce split_huge_page()")
Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 97d3d0f9a1cf132c63c0b8b8bd497b8a56283dd9 upstream.
Patch series "Fix two above-47bit hint address vs. THP bugs".
The two get_unmapped_area() implementations have to be fixed to provide
THP-friendly mappings if above-47bit hint address is specified.
This patch (of 2):
Filesystems use thp_get_unmapped_area() to provide THP-friendly
mappings. For DAX in particular.
Normally, the kernel doesn't create userspace mappings above 47-bit,
even if the machine allows this (such as with 5-level paging on x86-64).
Not all user space is ready to handle wide addresses. It's known that
at least some JIT compilers use higher bits in pointers to encode their
information.
Userspace can ask for allocation from full address space by specifying
hint address (with or without MAP_FIXED) above 47-bits. If the
application doesn't need a particular address, but wants to allocate
from whole address space it can specify -1 as a hint address.
Unfortunately, this trick breaks thp_get_unmapped_area(): the function
would not try to allocate PMD-aligned area if *any* hint address
specified.
Modify the routine to handle it correctly:
- Try to allocate the space at the specified hint address with length
padding required for PMD alignment.
- If failed, retry without length padding (but with the same hint
address);
- If the returned address matches the hint address return it.
- Otherwise, align the address as required for THP and return.
The user specified hint address is passed down to get_unmapped_area() so
above-47bit hint address will be taken into account without breaking
alignment requirements.
Link: http://lkml.kernel.org/r/20191220142548.7118-2-kirill.shutemov@linux.intel.com
Fixes: b569bab78d ("x86/mm: Prepare to expose larger address space to userspace")
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Reported-by: Thomas Willhalm <thomas.willhalm@intel.com>
Tested-by: Dan Williams <dan.j.williams@intel.com>
Cc: "Aneesh Kumar K . V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: "Bruggeman, Otto G" <otto.g.bruggeman@intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Make sure split_huge_page_to_list() handles the state of shmem THP and
file THP properly.
Link: http://lkml.kernel.org/r/20191017164223.2762148-3-songliubraving@fb.com
Fixes: 60fbf0ab5d ("mm,thp: stats for file backed THP")
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Song Liu <songliubraving@fb.com>
Tested-by: Song Liu <songliubraving@fb.com>
Acked-by: Yang Shi <yang.shi@linux.alibaba.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: William Kucharski <william.kucharski@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Merge hugepage allocation updates from David Rientjes:
"We (mostly Linus, Andrea, and myself) have been discussing offlist how
to implement a sane default allocation strategy for hugepages on NUMA
platforms.
With these reverts in place, the page allocator will happily allocate
a remote hugepage immediately rather than try to make a local hugepage
available. This incurs a substantial performance degradation when
memory compaction would have otherwise made a local hugepage
available.
This series reverts those reverts and attempts to propose a more sane
default allocation strategy specifically for hugepages. Andrea
acknowledges this is likely to fix the swap storms that he originally
reported that resulted in the patches that removed __GFP_THISNODE from
hugepage allocations.
The immediate goal is to return 5.3 to the behavior the kernel has
implemented over the past several years so that remote hugepages are
not immediately allocated when local hugepages could have been made
available because the increased access latency is untenable.
The next goal is to introduce a sane default allocation strategy for
hugepages allocations in general regardless of the configuration of
the system so that we prevent thrashing of local memory when
compaction is unlikely to succeed and can prefer remote hugepages over
remote native pages when the local node is low on memory."
Note on timing: this reverts the hugepage VM behavior changes that got
introduced fairly late in the 5.3 cycle, and that fixed a huge
performance regression for certain loads that had been around since
4.18.
Andrea had this note:
"The regression of 4.18 was that it was taking hours to start a VM
where 3.10 was only taking a few seconds, I reported all the details
on lkml when it was finally tracked down in August 2018.
https://lore.kernel.org/linux-mm/20180820032640.9896-2-aarcange@redhat.com/
__GFP_THISNODE in MADV_HUGEPAGE made the above enterprise vfio
workload degrade like in the "current upstream" above. And it still
would have been that bad as above until 5.3-rc5"
where the bad behavior ends up happening as you fill up a local node,
and without that change, you'd get into the nasty swap storm behavior
due to compaction working overtime to make room for more memory on the
nodes.
As a result 5.3 got the two performance fix reverts in rc5.
However, David Rientjes then noted that those performance fixes in turn
regressed performance for other loads - although not quite to the same
degree. He suggested reverting the reverts and instead replacing them
with two small changes to how hugepage allocations are done (patch
descriptions rephrased by me):
- "avoid expensive reclaim when compaction may not succeed": just admit
that the allocation failed when you're trying to allocate a huge-page
and compaction wasn't successful.
- "allow hugepage fallback to remote nodes when madvised": when that
node-local huge-page allocation failed, retry without forcing the
local node.
but by then I judged it too late to replace the fixes for a 5.3 release.
So 5.3 was released with behavior that harked back to the pre-4.18 logic.
But now we're in the merge window for 5.4, and we can see if this
alternate model fixes not just the horrendous swap storm behavior, but
also restores the performance regression that the late reverts caused.
Fingers crossed.
* emailed patches from David Rientjes <rientjes@google.com>:
mm, page_alloc: allow hugepage fallback to remote nodes when madvised
mm, page_alloc: avoid expensive reclaim when compaction may not succeed
Revert "Revert "Revert "mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask""
Revert "Revert "mm, thp: restore node-local hugepage allocations""
This reverts commit 92717d429b.
Since commit a8282608c8 ("Revert "mm, thp: restore node-local hugepage
allocations"") is reverted in this series, it is better to restore the
previous 5.2 behavior between the thp allocation and the page allocator
rather than to attempt any consolidation or cleanup for a policy that is
now reverted. It's less risky during an rc cycle and subsequent patches
in this series further modify the same policy that the pre-5.3 behavior
implements.
Consolidation and cleanup can be done subsequent to a sane default page
allocation strategy, so this patch reverts a cleanup done on a strategy
that is now reverted and thus is the least risky option.
Signed-off-by: David Rientjes <rientjes@google.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Stefan Priebe - Profihost AG <s.priebe@profihost.ag>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This reverts commit a8282608c8.
The commit references the original intended semantic for MADV_HUGEPAGE
which has subsequently taken on three unique purposes:
- enables or disables thp for a range of memory depending on the system's
config (is thp "enabled" set to "always" or "madvise"),
- determines the synchronous compaction behavior for thp allocations at
fault (is thp "defrag" set to "always", "defer+madvise", or "madvise"),
and
- reverts a previous MADV_NOHUGEPAGE (there is no madvise mode to only
clear previous hugepage advice).
These are the three purposes that currently exist in 5.2 and over the
past several years that userspace has been written around. Adding a
NUMA locality preference adds a fourth dimension to an already conflated
advice mode.
Based on the semantic that MADV_HUGEPAGE has provided over the past
several years, there exist workloads that use the tunable based on these
principles: specifically that the allocation should attempt to
defragment a local node before falling back. It is agreed that remote
hugepages typically (but not always) have a better access latency than
remote native pages, although on Naples this is at parity for
intersocket.
The revert commit that this patch reverts allows hugepage allocation to
immediately allocate remotely when local memory is fragmented. This is
contrary to the semantic of MADV_HUGEPAGE over the past several years:
that is, memory compaction should be attempted locally before falling
back.
The performance degradation of remote hugepages over local hugepages on
Rome, for example, is 53.5% increased access latency. For this reason,
the goal is to revert back to the 5.2 and previous behavior that would
attempt local defragmentation before falling back. With the patch that
is reverted by this patch, we see performance degradations at the tail
because the allocator happily allocates the remote hugepage rather than
even attempting to make a local hugepage available.
zone_reclaim_mode is not a solution to this problem since it does not
only impact hugepage allocations but rather changes the memory
allocation strategy for *all* page allocations.
Signed-off-by: David Rientjes <rientjes@google.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Stefan Priebe - Profihost AG <s.priebe@profihost.ag>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Currently THP deferred split shrinker is not memcg aware, this may cause
premature OOM with some configuration. For example the below test would
run into premature OOM easily:
$ cgcreate -g memory:thp
$ echo 4G > /sys/fs/cgroup/memory/thp/memory/limit_in_bytes
$ cgexec -g memory:thp transhuge-stress 4000
transhuge-stress comes from kernel selftest.
It is easy to hit OOM, but there are still a lot THP on the deferred split
queue, memcg direct reclaim can't touch them since the deferred split
shrinker is not memcg aware.
Convert deferred split shrinker memcg aware by introducing per memcg
deferred split queue. The THP should be on either per node or per memcg
deferred split queue if it belongs to a memcg. When the page is
immigrated to the other memcg, it will be immigrated to the target memcg's
deferred split queue too.
Reuse the second tail page's deferred_list for per memcg list since the
same THP can't be on multiple deferred split queues.
[yang.shi@linux.alibaba.com: simplify deferred split queue dereference per Kirill Tkhai]
Link: http://lkml.kernel.org/r/1566496227-84952-5-git-send-email-yang.shi@linux.alibaba.com
Link: http://lkml.kernel.org/r/1565144277-36240-5-git-send-email-yang.shi@linux.alibaba.com
Signed-off-by: Yang Shi <yang.shi@linux.alibaba.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Reviewed-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Qian Cai <cai@lca.pw>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Patch series "Make deferred split shrinker memcg aware", v6.
Currently THP deferred split shrinker is not memcg aware, this may cause
premature OOM with some configuration. For example the below test would
run into premature OOM easily:
$ cgcreate -g memory:thp
$ echo 4G > /sys/fs/cgroup/memory/thp/memory/limit_in_bytes
$ cgexec -g memory:thp transhuge-stress 4000
transhuge-stress comes from kernel selftest.
It is easy to hit OOM, but there are still a lot THP on the deferred split
queue, memcg direct reclaim can't touch them since the deferred split
shrinker is not memcg aware.
Convert deferred split shrinker memcg aware by introducing per memcg
deferred split queue. The THP should be on either per node or per memcg
deferred split queue if it belongs to a memcg. When the page is
immigrated to the other memcg, it will be immigrated to the target memcg's
deferred split queue too.
Reuse the second tail page's deferred_list for per memcg list since the
same THP can't be on multiple deferred split queues.
Make deferred split shrinker not depend on memcg kmem since it is not
slab. It doesn't make sense to not shrink THP even though memcg kmem is
disabled.
With the above change the test demonstrated above doesn't trigger OOM even
though with cgroup.memory=nokmem.
This patch (of 4):
Put split_queue, split_queue_lock and split_queue_len into a struct in
order to reduce code duplication when we convert deferred_split to memcg
aware in the later patches.
Link: http://lkml.kernel.org/r/1565144277-36240-2-git-send-email-yang.shi@linux.alibaba.com
Signed-off-by: Yang Shi <yang.shi@linux.alibaba.com>
Suggested-by: "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Reviewed-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Qian Cai <cai@lca.pw>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Transparent Huge Pages are currently stored in i_pages as pointers to
consecutive subpages. This patch changes that to storing consecutive
pointers to the head page in preparation for storing huge pages more
efficiently in i_pages.
Large parts of this are "inspired" by Kirill's patch
https://lore.kernel.org/lkml/20170126115819.58875-2-kirill.shutemov@linux.intel.com/
Kirill and Huang Ying contributed several fixes.
[willy@infradead.org: use compound_nr, squish uninit-var warning]
Link: http://lkml.kernel.org/r/20190731210400.7419-1-willy@infradead.org
Signed-off-by: Matthew Wilcox <willy@infradead.org>
Acked-by: Jan Kara <jack@suse.cz>
Reviewed-by: Kirill Shutemov <kirill@shutemov.name>
Reviewed-by: Song Liu <songliubraving@fb.com>
Tested-by: Song Liu <songliubraving@fb.com>
Tested-by: William Kucharski <william.kucharski@oracle.com>
Reviewed-by: William Kucharski <william.kucharski@oracle.com>
Tested-by: Qian Cai <cai@lca.pw>
Tested-by: Mikhail Gavrilov <mikhail.v.gavrilov@gmail.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Song Liu <songliubraving@fb.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
THP splitting path is missing the split_page_owner() call that
split_page() has.
As a result, split THP pages are wrongly reported in the page_owner file
as order-9 pages. Furthermore when the former head page is freed, the
remaining former tail pages are not listed in the page_owner file at
all. This patch fixes that by adding the split_page_owner() call into
__split_huge_page().
Link: http://lkml.kernel.org/r/20190820131828.22684-2-vbabka@suse.cz
Fixes: a9627bc5e3 ("mm/page_owner: introduce split_page_owner and replace manual handling")
Reported-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This reverts commit 2f0799a0ff ("mm, thp: restore node-local
hugepage allocations").
commit 2f0799a0ff was rightfully applied to avoid the risk of a
severe regression that was reported by the kernel test robot at the end
of the merge window. Now we understood the regression was a false
positive and was caused by a significant increase in fairness during a
swap trashing benchmark. So it's safe to re-apply the fix and continue
improving the code from there. The benchmark that reported the
regression is very useful, but it provides a meaningful result only when
there is no significant alteration in fairness during the workload. The
removal of __GFP_THISNODE increased fairness.
__GFP_THISNODE cannot be used in the generic page faults path for new
memory allocations under the MPOL_DEFAULT mempolicy, or the allocation
behavior significantly deviates from what the MPOL_DEFAULT semantics are
supposed to be for THP and 4k allocations alike.
Setting THP defrag to "always" or using MADV_HUGEPAGE (with THP defrag
set to "madvise") has never meant to provide an implicit MPOL_BIND on
the "current" node the task is running on, causing swap storms and
providing a much more aggressive behavior than even zone_reclaim_node =
3.
Any workload who could have benefited from __GFP_THISNODE has now to
enable zone_reclaim_mode=1||2||3. __GFP_THISNODE implicitly provided
the zone_reclaim_mode behavior, but it only did so if THP was enabled:
if THP was disabled, there would have been no chance to get any 4k page
from the current node if the current node was full of pagecache, which
further shows how this __GFP_THISNODE was misplaced in MADV_HUGEPAGE.
MADV_HUGEPAGE has never been intended to provide any zone_reclaim_mode
semantics, in fact the two are orthogonal, zone_reclaim_mode = 1|2|3
must work exactly the same with MADV_HUGEPAGE set or not.
The performance characteristic of memory depends on the hardware
details. The numbers below are obtained on Naples/EPYC architecture and
the N/A projection extends them to show what we should aim for in the
future as a good THP NUMA locality default. The benchmark used
exercises random memory seeks (note: the cost of the page faults is not
part of the measurement).
D0 THP | D0 4k | D1 THP | D1 4k | D2 THP | D2 4k | D3 THP | D3 4k | ...
0% | +43% | +45% | +106% | +131% | +224% | N/A | N/A
D0 means distance zero (i.e. local memory), D1 means distance one (i.e.
intra socket memory), D2 means distance two (i.e. inter socket memory),
etc...
For the guest physical memory allocated by qemu and for guest mode
kernel the performance characteristic of RAM is more complex and an
ideal default could be:
D0 THP | D1 THP | D0 4k | D2 THP | D1 4k | D3 THP | D2 4k | D3 4k | ...
0% | +58% | +101% | N/A | +222% | N/A | N/A | N/A
NOTE: the N/A are projections and haven't been measured yet, the
measurement in this case is done on a 1950x with only two NUMA nodes.
The THP case here means THP was used both in the host and in the guest.
After applying this commit the THP NUMA locality order that we'll get
out of MADV_HUGEPAGE is this:
D0 THP | D1 THP | D2 THP | D3 THP | ... | D0 4k | D1 4k | D2 4k | D3 4k | ...
Before this commit it was:
D0 THP | D0 4k | D1 4k | D2 4k | D3 4k | ...
Even if we ignore the breakage of large workloads that can't fit in a
single node that the __GFP_THISNODE implicit "current node" mbind
caused, the THP NUMA locality order provided by __GFP_THISNODE was still
not the one we shall aim for in the long term (i.e. the first one at
the top).
After this commit is applied, we can introduce a new allocator multi
order API and to replace those two alloc_pages_vmas calls in the page
fault path, with a single multi order call:
unsigned int order = (1 << HPAGE_PMD_ORDER) | (1 << 0);
page = alloc_pages_multi_order(..., &order);
if (!page)
goto out;
if (!(order & (1 << 0))) {
VM_WARN_ON(order != 1 << HPAGE_PMD_ORDER);
/* THP fault */
} else {
VM_WARN_ON(order != 1 << 0);
/* 4k fallback */
}
The page allocator logic has to be altered so that when it fails on any
zone with order 9, it has to try again with a order 0 before falling
back to the next zone in the zonelist.
After that we need to do more measurements and evaluate if adding an
opt-in feature for guest mode is worth it, to swap "DN 4k | DN+1 THP"
with "DN+1 THP | DN 4k" at every NUMA distance crossing.
Link: http://lkml.kernel.org/r/20190503223146.2312-3-aarcange@redhat.com
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Mel Gorman <mgorman@suse.de>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: David Rientjes <rientjes@google.com>
Cc: Zi Yan <zi.yan@cs.rutgers.edu>
Cc: Stefan Priebe - Profihost AG <s.priebe@profihost.ag>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Patch series "reapply: relax __GFP_THISNODE for MADV_HUGEPAGE mappings".
The fixes for what was originally reported as "pathological THP
behavior" we rightfully reverted to be sure not to introduced
regressions at end of a merge window after a severe regression report
from the kernel bot. We can safely re-apply them now that we had time
to analyze the problem.
The mm process worked fine, because the good fixes were eventually
committed upstream without excessive delay.
The regression reported by the kernel bot however forced us to revert
the good fixes to be sure not to introduce regressions and to give us
the time to analyze the issue further. The silver lining is that this
extra time allowed to think more at this issue and also plan for a
future direction to improve things further in terms of THP NUMA
locality.
This patch (of 2):
This reverts commit 356ff8a9a7 ("Revert "mm, thp: consolidate THP
gfp handling into alloc_hugepage_direct_gfpmask"). So it reapplies
89c83fb539 ("mm, thp: consolidate THP gfp handling into
alloc_hugepage_direct_gfpmask").
Consolidation of the THP allocation flags at the same place was meant to
be a clean up to easier handle otherwise scattered code which is
imposing a maintenance burden. There were no real problems observed
with the gfp mask consolidation but the reversion was rushed through
without a larger consensus regardless.
This patch brings the consolidation back because this should make the
long term maintainability easier as well as it should allow future
changes to be less error prone.
[mhocko@kernel.org: changelog additions]
Link: http://lkml.kernel.org/r/20190503223146.2312-2-aarcange@redhat.com
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: David Rientjes <rientjes@google.com>
Cc: Zi Yan <zi.yan@cs.rutgers.edu>
Cc: Stefan Priebe - Profihost AG <s.priebe@profihost.ag>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Commit 7635d9cbe8 ("mm, thp, proc: report THP eligibility for each
vma") introduced THPeligible bit for processes' smaps. But, when
checking the eligibility for shmem vma, __transparent_hugepage_enabled()
is called to override the result from shmem_huge_enabled(). It may
result in the anonymous vma's THP flag override shmem's. For example,
running a simple test which create THP for shmem, but with anonymous THP
disabled, when reading the process's smaps, it may show:
7fc92ec00000-7fc92f000000 rw-s 00000000 00:14 27764 /dev/shm/test
Size: 4096 kB
...
[snip]
...
ShmemPmdMapped: 4096 kB
...
[snip]
...
THPeligible: 0
And, /proc/meminfo does show THP allocated and PMD mapped too:
ShmemHugePages: 4096 kB
ShmemPmdMapped: 4096 kB
This doesn't make too much sense. The shmem objects should be treated
separately from anonymous THP. Calling shmem_huge_enabled() with
checking MMF_DISABLE_THP sounds good enough. And, we could skip stack
and dax vma check since we already checked if the vma is shmem already.
Also check if vma is suitable for THP by calling
transhuge_vma_suitable().
And minor fix to smaps output format and documentation.
Link: http://lkml.kernel.org/r/1560401041-32207-3-git-send-email-yang.shi@linux.alibaba.com
Fixes: 7635d9cbe8 ("mm, thp, proc: report THP eligibility for each vma")
Signed-off-by: Yang Shi <yang.shi@linux.alibaba.com>
Acked-by: Hugh Dickins <hughd@google.com>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: David Rientjes <rientjes@google.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
transhuge_vma_suitable() was only available for shmem THP, but anonymous
THP has the same check except pgoff check. And, it will be used for THP
eligible check in the later patch, so make it available for all kind of
THPs. This also helps reduce code duplication slightly.
Since anonymous THP doesn't have to check pgoff, so make pgoff check
shmem vma only.
And regroup some functions in include/linux/mm.h to solve compile issue
since transhuge_vma_suitable() needs call vma_is_anonymous() which was
defined after huge_mm.h is included.
[akpm@linux-foundation.org: fix typo]
[yang.shi@linux.alibaba.com: v4]
Link: http://lkml.kernel.org/r/1563400758-124759-2-git-send-email-yang.shi@linux.alibaba.com
Link: http://lkml.kernel.org/r/1560401041-32207-2-git-send-email-yang.shi@linux.alibaba.com
Signed-off-by: Yang Shi <yang.shi@linux.alibaba.com>
Acked-by: Hugh Dickins <hughd@google.com>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: David Rientjes <rientjes@google.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Based on 1 normalized pattern(s):
this work is licensed under the terms of the gnu gpl version 2 see
the copying file in the top level directory
extracted by the scancode license scanner the SPDX license identifier
GPL-2.0-only
has been chosen to replace the boilerplate/reference in 35 file(s).
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Reviewed-by: Enrico Weigelt <info@metux.net>
Reviewed-by: Allison Randal <allison@lohutok.net>
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190604081206.797835076@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
__thp_get_unmapped_area is only used in mm/huge_memory.c. Make it static.
Tested by building and booting the kernel.
Link: http://lkml.kernel.org/r/20190504102353.GA22525@bharath12345-Inspiron-5559
Signed-off-by: Bharath Vedartham <linux.bhar@gmail.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This updates each existing invalidation to use the correct mmu notifier
event that represent what is happening to the CPU page table. See the
patch which introduced the events to see the rational behind this.
Link: http://lkml.kernel.org/r/20190326164747.24405-7-jglisse@redhat.com
Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Reviewed-by: Ralph Campbell <rcampbell@nvidia.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Felix Kuehling <Felix.Kuehling@amd.com>
Cc: Jason Gunthorpe <jgg@mellanox.com>
Cc: Ross Zwisler <zwisler@kernel.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krcmar <rkrcmar@redhat.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Christian Koenig <christian.koenig@amd.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
CPU page table update can happens for many reasons, not only as a result
of a syscall (munmap(), mprotect(), mremap(), madvise(), ...) but also as
a result of kernel activities (memory compression, reclaim, migration,
...).
Users of mmu notifier API track changes to the CPU page table and take
specific action for them. While current API only provide range of virtual
address affected by the change, not why the changes is happening.
This patchset do the initial mechanical convertion of all the places that
calls mmu_notifier_range_init to also provide the default MMU_NOTIFY_UNMAP
event as well as the vma if it is know (most invalidation happens against
a given vma). Passing down the vma allows the users of mmu notifier to
inspect the new vma page protection.
The MMU_NOTIFY_UNMAP is always the safe default as users of mmu notifier
should assume that every for the range is going away when that event
happens. A latter patch do convert mm call path to use a more appropriate
events for each call.
This is done as 2 patches so that no call site is forgotten especialy
as it uses this following coccinelle patch:
%<----------------------------------------------------------------------
@@
identifier I1, I2, I3, I4;
@@
static inline void mmu_notifier_range_init(struct mmu_notifier_range *I1,
+enum mmu_notifier_event event,
+unsigned flags,
+struct vm_area_struct *vma,
struct mm_struct *I2, unsigned long I3, unsigned long I4) { ... }
@@
@@
-#define mmu_notifier_range_init(range, mm, start, end)
+#define mmu_notifier_range_init(range, event, flags, vma, mm, start, end)
@@
expression E1, E3, E4;
identifier I1;
@@
<...
mmu_notifier_range_init(E1,
+MMU_NOTIFY_UNMAP, 0, I1,
I1->vm_mm, E3, E4)
...>
@@
expression E1, E2, E3, E4;
identifier FN, VMA;
@@
FN(..., struct vm_area_struct *VMA, ...) {
<...
mmu_notifier_range_init(E1,
+MMU_NOTIFY_UNMAP, 0, VMA,
E2, E3, E4)
...> }
@@
expression E1, E2, E3, E4;
identifier FN, VMA;
@@
FN(...) {
struct vm_area_struct *VMA;
<...
mmu_notifier_range_init(E1,
+MMU_NOTIFY_UNMAP, 0, VMA,
E2, E3, E4)
...> }
@@
expression E1, E2, E3, E4;
identifier FN;
@@
FN(...) {
<...
mmu_notifier_range_init(E1,
+MMU_NOTIFY_UNMAP, 0, NULL,
E2, E3, E4)
...> }
---------------------------------------------------------------------->%
Applied with:
spatch --all-includes --sp-file mmu-notifier.spatch fs/proc/task_mmu.c --in-place
spatch --sp-file mmu-notifier.spatch --dir kernel/events/ --in-place
spatch --sp-file mmu-notifier.spatch --dir mm --in-place
Link: http://lkml.kernel.org/r/20190326164747.24405-6-jglisse@redhat.com
Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Reviewed-by: Ralph Campbell <rcampbell@nvidia.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Peter Xu <peterx@redhat.com>
Cc: Felix Kuehling <Felix.Kuehling@amd.com>
Cc: Jason Gunthorpe <jgg@mellanox.com>
Cc: Ross Zwisler <zwisler@kernel.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krcmar <rkrcmar@redhat.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Christian Koenig <christian.koenig@amd.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Transparent Huge Pages are currently stored in i_pages as pointers to
consecutive subpages. This patch changes that to storing consecutive
pointers to the head page in preparation for storing huge pages more
efficiently in i_pages.
Large parts of this are "inspired" by Kirill's patch
https://lore.kernel.org/lkml/20170126115819.58875-2-kirill.shutemov@linux.intel.com/
[willy@infradead.org: fix swapcache pages]
Link: http://lkml.kernel.org/r/20190324155441.GF10344@bombadil.infradead.org
[kirill@shutemov.name: hugetlb stores pages in page cache differently]
Link: http://lkml.kernel.org/r/20190404134553.vuvhgmghlkiw2hgl@kshutemo-mobl1
Link: http://lkml.kernel.org/r/20190307153051.18815-1-willy@infradead.org
Signed-off-by: Matthew Wilcox <willy@infradead.org>
Acked-by: Jan Kara <jack@suse.cz>
Reviewed-by: Kirill Shutemov <kirill@shutemov.name>
Reviewed-and-tested-by: Song Liu <songliubraving@fb.com>
Tested-by: William Kucharski <william.kucharski@oracle.com>
Reviewed-by: William Kucharski <william.kucharski@oracle.com>
Tested-by: Qian Cai <cai@lca.pw>
Cc: Hugh Dickins <hughd@google.com>
Cc: Song Liu <liu.song.a23@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Pull unified TLB flushing from Ingo Molnar:
"This contains the generic mmu_gather feature from Peter Zijlstra,
which is an all-arch unification of TLB flushing APIs, via the
following (broad) steps:
- enhance the <asm-generic/tlb.h> APIs to cover more arch details
- convert most TLB flushing arch implementations to the generic
<asm-generic/tlb.h> APIs.
- remove leftovers of per arch implementations
After this series every single architecture makes use of the unified
TLB flushing APIs"
* 'core-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
mm/resource: Use resource_overlaps() to simplify region_intersects()
ia64/tlb: Eradicate tlb_migrate_finish() callback
asm-generic/tlb: Remove tlb_table_flush()
asm-generic/tlb: Remove tlb_flush_mmu_free()
asm-generic/tlb: Remove CONFIG_HAVE_GENERIC_MMU_GATHER
asm-generic/tlb: Remove arch_tlb*_mmu()
s390/tlb: Convert to generic mmu_gather
asm-generic/tlb: Introduce CONFIG_HAVE_MMU_GATHER_NO_GATHER=y
arch/tlb: Clean up simple architectures
um/tlb: Convert to generic mmu_gather
sh/tlb: Convert SH to generic mmu_gather
ia64/tlb: Convert to generic mmu_gather
arm/tlb: Convert to generic mmu_gather
asm-generic/tlb, arch: Invert CONFIG_HAVE_RCU_TABLE_INVALIDATE
asm-generic/tlb, ia64: Conditionally provide tlb_migrate_finish()
asm-generic/tlb: Provide generic tlb_flush() based on flush_tlb_mm()
asm-generic/tlb, arch: Provide generic tlb_flush() based on flush_tlb_range()
asm-generic/tlb, arch: Provide generic VIPT cache flush
asm-generic/tlb, arch: Provide CONFIG_HAVE_MMU_GATHER_PAGE_SIZE
asm-generic/tlb: Provide a comment
With some architectures like ppc64, set_pmd_at() cannot cope with a
situation where there is already some (different) valid entry present.
Use pmdp_set_access_flags() instead to modify the pfn which is built to
deal with modifying existing PMD entries.
This is similar to commit cae85cb8ad ("mm/memory.c: fix modifying of
page protection by insert_pfn()")
We also do similar update w.r.t insert_pfn_pud eventhough ppc64 don't
support pud pfn entries now.
Without this patch we also see the below message in kernel log "BUG:
non-zero pgtables_bytes on freeing mm:"
Link: http://lkml.kernel.org/r/20190402115125.18803-1-aneesh.kumar@linux.ibm.com
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Reported-by: Chandan Rajendra <chandan@linux.ibm.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Move the mmu_gather::page_size things into the generic code instead of
PowerPC specific bits.
No change in behavior intended.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Nick Piggin <npiggin@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@surriel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Commit a00cc7d9dd ("mm, x86: add support for PUD-sized transparent
hugepages") introduced pudp_huge_get_and_clear_full() but no one uses
its return code.
In order to not diverge from pmdp_huge_get_and_clear_full(), just change
zap_huge_pud() to not assign the return value from
pudp_huge_get_and_clear_full().
mm/huge_memory.c: In function 'zap_huge_pud':
mm/huge_memory.c:1982:8: warning: variable 'orig_pud' set but not used [-Wunused-but-set-variable]
pud_t orig_pud;
^~~~~~~~
Link: http://lkml.kernel.org/r/20190301221956.97493-1-cai@lca.pw
Signed-off-by: Qian Cai <cai@lca.pw>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
We have common pattern to access lru_lock from a page pointer:
zone_lru_lock(page_zone(page))
Which is silly, because it unfolds to this:
&NODE_DATA(page_to_nid(page))->node_zones[page_zonenum(page)]->zone_pgdat->lru_lock
while we can simply do
&NODE_DATA(page_to_nid(page))->lru_lock
Remove zone_lru_lock() function, since it's only complicate things. Use
'page_pgdat(page)->lru_lock' pattern instead.
[aryabinin@virtuozzo.com: a slightly better version of __split_huge_page()]
Link: http://lkml.kernel.org/r/20190301121651.7741-1-aryabinin@virtuozzo.com
Link: http://lkml.kernel.org/r/20190228083329.31892-2-aryabinin@virtuozzo.com
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Mel Gorman <mgorman@techsingularity.net>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Rik van Riel <riel@surriel.com>
Cc: William Kucharski <william.kucharski@oracle.com>
Cc: John Hubbard <jhubbard@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Currently THP allocation events data is fairly opaque, since you can
only get it system-wide. This patch makes it easier to reason about
transparent hugepage behaviour on a per-memcg basis.
For anonymous THP-backed pages, we already have MEMCG_RSS_HUGE in v1,
which is used for v1's rss_huge [sic]. This is reused here as it's
fairly involved to untangle NR_ANON_THPS right now to make it per-memcg,
since right now some of this is delegated to rmap before we have any
memcg actually assigned to the page. It's a good idea to rework that,
but let's leave untangling THP allocation for a future patch.
[akpm@linux-foundation.org: fix build]
[chris@chrisdown.name: fix memcontrol build when THP is disabled]
Link: http://lkml.kernel.org/r/20190131160802.GA5777@chrisdown.name
Link: http://lkml.kernel.org/r/20190129205852.GA7310@chrisdown.name
Signed-off-by: Chris Down <chris@chrisdown.name>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Roman Gushchin <guro@fb.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
When calling debugfs functions, there is no need to ever check the
return value. The function can work or not, but the code logic should
never do something different based on this.
Link: http://lkml.kernel.org/r/20190122152151.16139-14-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: David Rientjes <rientjes@google.com>
Cc: Laura Abbott <labbott@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Patch series "Replace all open encodings for NUMA_NO_NODE", v3.
All these places for replacement were found by running the following
grep patterns on the entire kernel code. Please let me know if this
might have missed some instances. This might also have replaced some
false positives. I will appreciate suggestions, inputs and review.
1. git grep "nid == -1"
2. git grep "node == -1"
3. git grep "nid = -1"
4. git grep "node = -1"
This patch (of 2):
At present there are multiple places where invalid node number is
encoded as -1. Even though implicitly understood it is always better to
have macros in there. Replace these open encodings for an invalid node
number with the global macro NUMA_NO_NODE. This helps remove NUMA
related assumptions like 'invalid node' from various places redirecting
them to a common definition.
Link: http://lkml.kernel.org/r/1545127933-10711-2-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> [ixgbe]
Acked-by: Jens Axboe <axboe@kernel.dk> [mtip32xx]
Acked-by: Vinod Koul <vkoul@kernel.org> [dmaengine.c]
Acked-by: Michael Ellerman <mpe@ellerman.id.au> [powerpc]
Acked-by: Doug Ledford <dledford@redhat.com> [drivers/infiniband]
Cc: Joseph Qi <jiangqi903@gmail.com>
Cc: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Patch series "Add support for fast mremap".
This series speeds up the mremap(2) syscall by copying page tables at
the PMD level even for non-THP systems. There is concern that the extra
'address' argument that mremap passes to pte_alloc may do something
subtle architecture related in the future that may make the scheme not
work. Also we find that there is no point in passing the 'address' to
pte_alloc since its unused. This patch therefore removes this argument
tree-wide resulting in a nice negative diff as well. Also ensuring
along the way that the enabled architectures do not do anything funky
with the 'address' argument that goes unnoticed by the optimization.
Build and boot tested on x86-64. Build tested on arm64. The config
enablement patch for arm64 will be posted in the future after more
testing.
The changes were obtained by applying the following Coccinelle script.
(thanks Julia for answering all Coccinelle questions!).
Following fix ups were done manually:
* Removal of address argument from pte_fragment_alloc
* Removal of pte_alloc_one_fast definitions from m68k and microblaze.
// Options: --include-headers --no-includes
// Note: I split the 'identifier fn' line, so if you are manually
// running it, please unsplit it so it runs for you.
virtual patch
@pte_alloc_func_def depends on patch exists@
identifier E2;
identifier fn =~
"^(__pte_alloc|pte_alloc_one|pte_alloc|__pte_alloc_kernel|pte_alloc_one_kernel)$";
type T2;
@@
fn(...
- , T2 E2
)
{ ... }
@pte_alloc_func_proto_noarg depends on patch exists@
type T1, T2, T3, T4;
identifier fn =~ "^(__pte_alloc|pte_alloc_one|pte_alloc|__pte_alloc_kernel|pte_alloc_one_kernel)$";
@@
(
- T3 fn(T1, T2);
+ T3 fn(T1);
|
- T3 fn(T1, T2, T4);
+ T3 fn(T1, T2);
)
@pte_alloc_func_proto depends on patch exists@
identifier E1, E2, E4;
type T1, T2, T3, T4;
identifier fn =~
"^(__pte_alloc|pte_alloc_one|pte_alloc|__pte_alloc_kernel|pte_alloc_one_kernel)$";
@@
(
- T3 fn(T1 E1, T2 E2);
+ T3 fn(T1 E1);
|
- T3 fn(T1 E1, T2 E2, T4 E4);
+ T3 fn(T1 E1, T2 E2);
)
@pte_alloc_func_call depends on patch exists@
expression E2;
identifier fn =~
"^(__pte_alloc|pte_alloc_one|pte_alloc|__pte_alloc_kernel|pte_alloc_one_kernel)$";
@@
fn(...
-, E2
)
@pte_alloc_macro depends on patch exists@
identifier fn =~
"^(__pte_alloc|pte_alloc_one|pte_alloc|__pte_alloc_kernel|pte_alloc_one_kernel)$";
identifier a, b, c;
expression e;
position p;
@@
(
- #define fn(a, b, c) e
+ #define fn(a, b) e
|
- #define fn(a, b) e
+ #define fn(a) e
)
Link: http://lkml.kernel.org/r/20181108181201.88826-2-joelaf@google.com
Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Suggested-by: Kirill A. Shutemov <kirill@shutemov.name>
Acked-by: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Julia Lawall <Julia.Lawall@lip6.fr>
Cc: Kirill A. Shutemov <kirill@shutemov.name>
Cc: William Kucharski <william.kucharski@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Userspace falls short when trying to find out whether a specific memory
range is eligible for THP. There are usecases that would like to know
that
http://lkml.kernel.org/r/alpine.DEB.2.21.1809251248450.50347@chino.kir.corp.google.com
: This is used to identify heap mappings that should be able to fault thp
: but do not, and they normally point to a low-on-memory or fragmentation
: issue.
The only way to deduce this now is to query for hg resp. nh flags and
confronting the state with the global setting. Except that there is also
PR_SET_THP_DISABLE that might change the picture. So the final logic is
not trivial. Moreover the eligibility of the vma depends on the type of
VMA as well. In the past we have supported only anononymous memory VMAs
but things have changed and shmem based vmas are supported as well these
days and the query logic gets even more complicated because the
eligibility depends on the mount option and another global configuration
knob.
Simplify the current state and report the THP eligibility in
/proc/<pid>/smaps for each existing vma. Reuse
transparent_hugepage_enabled for this purpose. The original
implementation of this function assumes that the caller knows that the vma
itself is supported for THP so make the core checks into
__transparent_hugepage_enabled and use it for existing callers.
__show_smap just use the new transparent_hugepage_enabled which also
checks the vma support status (please note that this one has to be out of
line due to include dependency issues).
[mhocko@kernel.org: fix oops with NULL ->f_mapping]
Link: http://lkml.kernel.org/r/20181224185106.GC16738@dhcp22.suse.cz
Link: http://lkml.kernel.org/r/20181211143641.3503-3-mhocko@kernel.org
Signed-off-by: Michal Hocko <mhocko@suse.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Mike Rapoport <rppt@linux.ibm.com>
Cc: Paul Oppenheimer <bepvte@gmail.com>
Cc: William Kucharski <william.kucharski@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
To avoid having to change many call sites everytime we want to add a
parameter use a structure to group all parameters for the mmu_notifier
invalidate_range_start/end cakks. No functional changes with this patch.
[akpm@linux-foundation.org: coding style fixes]
Link: http://lkml.kernel.org/r/20181205053628.3210-3-jglisse@redhat.com
Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Jan Kara <jack@suse.cz>
Cc: Matthew Wilcox <mawilcox@microsoft.com>
Cc: Ross Zwisler <zwisler@kernel.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krcmar <rkrcmar@redhat.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Felix Kuehling <felix.kuehling@amd.com>
Cc: Ralph Campbell <rcampbell@nvidia.com>
Cc: John Hubbard <jhubbard@nvidia.com>
From: Jérôme Glisse <jglisse@redhat.com>
Subject: mm/mmu_notifier: use structure for invalidate_range_start/end calls v3
fix build warning in migrate.c when CONFIG_MMU_NOTIFIER=n
Link: http://lkml.kernel.org/r/20181213171330.8489-3-jglisse@redhat.com
Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Waiting on a page migration entry has used wait_on_page_locked() all along
since 2006: but you cannot safely wait_on_page_locked() without holding a
reference to the page, and that extra reference is enough to make
migrate_page_move_mapping() fail with -EAGAIN, when a racing task faults
on the entry before migrate_page_move_mapping() gets there.
And that failure is retried nine times, amplifying the pain when trying to
migrate a popular page. With a single persistent faulter, migration
sometimes succeeds; with two or three concurrent faulters, success becomes
much less likely (and the more the page was mapped, the worse the overhead
of unmapping and remapping it on each try).
This is especially a problem for memory offlining, where the outer level
retries forever (or until terminated from userspace), because a heavy
refault workload can trigger an endless loop of migration failures.
wait_on_page_locked() is the wrong tool for the job.
David Herrmann (but was he the first?) noticed this issue in 2014:
https://marc.info/?l=linux-mm&m=140110465608116&w=2
Tim Chen started a thread in August 2017 which appears relevant:
https://marc.info/?l=linux-mm&m=150275941014915&w=2 where Kan Liang went
on to implicate __migration_entry_wait():
https://marc.info/?l=linux-mm&m=150300268411980&w=2 and the thread ended
up with the v4.14 commits: 2554db9165 ("sched/wait: Break up long wake
list walk") 11a19c7b09 ("sched/wait: Introduce wakeup boomark in
wake_up_page_bit")
Baoquan He reported "Memory hotplug softlock issue" 14 November 2018:
https://marc.info/?l=linux-mm&m=154217936431300&w=2
We have all assumed that it is essential to hold a page reference while
waiting on a page lock: partly to guarantee that there is still a struct
page when MEMORY_HOTREMOVE is configured, but also to protect against
reuse of the struct page going to someone who then holds the page locked
indefinitely, when the waiter can reasonably expect timely unlocking.
But in fact, so long as wait_on_page_bit_common() does the put_page(), and
is careful not to rely on struct page contents thereafter, there is no
need to hold a reference to the page while waiting on it. That does mean
that this case cannot go back through the loop: but that's fine for the
page migration case, and even if used more widely, is limited by the "Stop
walking if it's locked" optimization in wake_page_function().
Add interface put_and_wait_on_page_locked() to do this, using "behavior"
enum in place of "lock" arg to wait_on_page_bit_common() to implement it.
No interruptible or killable variant needed yet, but they might follow: I
have a vague notion that reporting -EINTR should take precedence over
return from wait_on_page_bit_common() without knowing the page state, so
arrange it accordingly - but that may be nothing but pedantic.
__migration_entry_wait() still has to take a brief reference to the page,
prior to calling put_and_wait_on_page_locked(): but now that it is dropped
before waiting, the chance of impeding page migration is very much
reduced. Should we perhaps disable preemption across this?
shrink_page_list()'s __ClearPageLocked(): that was a surprise! This
survived a lot of testing before that showed up. PageWaiters may have
been set by wait_on_page_bit_common(), and the reference dropped, just
before shrink_page_list() succeeds in freezing its last page reference: in
such a case, unlock_page() must be used. Follow the suggestion from
Michal Hocko, just revert a978d6f521 ("mm: unlockless reclaim") now:
that optimization predates PageWaiters, and won't buy much these days; but
we can reinstate it for the !PageWaiters case if anyone notices.
It does raise the question: should vmscan.c's is_page_cache_freeable() and
__remove_mapping() now treat a PageWaiters page as if an extra reference
were held? Perhaps, but I don't think it matters much, since
shrink_page_list() already had to win its trylock_page(), so waiters are
not very common there: I noticed no difference when trying the bigger
change, and it's surely not needed while put_and_wait_on_page_locked() is
only used for page migration.
[willy@infradead.org: add put_and_wait_on_page_locked() kerneldoc]
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1811261121330.1116@eggly.anvils
Signed-off-by: Hugh Dickins <hughd@google.com>
Reported-by: Baoquan He <bhe@redhat.com>
Tested-by: Baoquan He <bhe@redhat.com>
Reviewed-by: Andrea Arcangeli <aarcange@redhat.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Baoquan He <bhe@redhat.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: David Herrmann <dh.herrmann@gmail.com>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc: Kan Liang <kan.liang@intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Christoph Lameter <cl@linux.com>
Cc: Nick Piggin <npiggin@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
totalram_pages and totalhigh_pages are made static inline function.
Main motivation was that managed_page_count_lock handling was complicating
things. It was discussed in length here,
https://lore.kernel.org/patchwork/patch/995739/#1181785 So it seemes
better to remove the lock and convert variables to atomic, with preventing
poteintial store-to-read tearing as a bonus.
[akpm@linux-foundation.org: coding style fixes]
Link: http://lkml.kernel.org/r/1542090790-21750-4-git-send-email-arunks@codeaurora.org
Signed-off-by: Arun KS <arunks@codeaurora.org>
Suggested-by: Michal Hocko <mhocko@suse.com>
Suggested-by: Vlastimil Babka <vbabka@suse.cz>
Reviewed-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Reviewed-by: Pavel Tatashin <pasha.tatashin@soleen.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: David Hildenbrand <david@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
When splitting a huge migrating PMD, we'll transfer all the existing PMD
bits and apply them again onto the small PTEs. However we are fetching
the bits unconditionally via pmd_soft_dirty(), pmd_write() or
pmd_yound() while actually they don't make sense at all when it's a
migration entry. Fix them up. Since at it, drop the ifdef together as
not needed.
Note that if my understanding is correct about the problem then if
without the patch there is chance to lose some of the dirty bits in the
migrating pmd pages (on x86_64 we're fetching bit 11 which is part of
swap offset instead of bit 2) and it could potentially corrupt the
memory of an userspace program which depends on the dirty bit.
Link: http://lkml.kernel.org/r/20181213051510.20306-1-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Reviewed-by: William Kucharski <william.kucharski@oracle.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: Souptick Joarder <jrdr.linux@gmail.com>
Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Cc: Zi Yan <zi.yan@cs.rutgers.edu>
Cc: <stable@vger.kernel.org> [4.14+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This reverts commit 89c83fb539.
This should have been done as part of 2f0799a0ff ("mm, thp: restore
node-local hugepage allocations"). The movement of the thp allocation
policy from alloc_pages_vma() to alloc_hugepage_direct_gfpmask() was
intended to only set __GFP_THISNODE for mempolicies that are not
MPOL_BIND whereas the revert could set this regardless of mempolicy.
While the check for MPOL_BIND between alloc_hugepage_direct_gfpmask()
and alloc_pages_vma() was racy, that has since been removed since the
revert. What is left is the possibility to use __GFP_THISNODE in
policy_node() when it is unexpected because the special handling for
hugepages in alloc_pages_vma() was removed as part of the consolidation.
Secondly, prior to 89c83fb539, alloc_pages_vma() implemented a somewhat
different policy for hugepage allocations, which were allocated through
alloc_hugepage_vma(). For hugepage allocations, if the allocating
process's node is in the set of allowed nodes, allocate with
__GFP_THISNODE for that node (for MPOL_PREFERRED, use that node with
__GFP_THISNODE instead). This was changed for shmem_alloc_hugepage() to
allow fallback to other nodes in 89c83fb539 as it did for new_page() in
mm/mempolicy.c which is functionally different behavior and removes the
requirement to only allocate hugepages locally.
So this commit does a full revert of 89c83fb539 instead of the partial
revert that was done in 2f0799a0ff. The result is the same thp
allocation policy for 4.20 that was in 4.19.
Fixes: 89c83fb539 ("mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask")
Fixes: 2f0799a0ff ("mm, thp: restore node-local hugepage allocations")
Signed-off-by: David Rientjes <rientjes@google.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This is a full revert of ac5b2c1891 ("mm: thp: relax __GFP_THISNODE for
MADV_HUGEPAGE mappings") and a partial revert of 89c83fb539 ("mm, thp:
consolidate THP gfp handling into alloc_hugepage_direct_gfpmask").
By not setting __GFP_THISNODE, applications can allocate remote hugepages
when the local node is fragmented or low on memory when either the thp
defrag setting is "always" or the vma has been madvised with
MADV_HUGEPAGE.
Remote access to hugepages often has much higher latency than local pages
of the native page size. On Haswell, ac5b2c1891 was shown to have a
13.9% access regression after this commit for binaries that remap their
text segment to be backed by transparent hugepages.
The intent of ac5b2c1891 is to address an issue where a local node is
low on memory or fragmented such that a hugepage cannot be allocated. In
every scenario where this was described as a fix, there is abundant and
unfragmented remote memory available to allocate from, even with a greater
access latency.
If remote memory is also low or fragmented, not setting __GFP_THISNODE was
also measured on Haswell to have a 40% regression in allocation latency.
Restore __GFP_THISNODE for thp allocations.
Fixes: ac5b2c1891 ("mm: thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings")
Fixes: 89c83fb539 ("mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask")
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Huge tmpfs testing, on 32-bit kernel with lockdep enabled, showed that
__split_huge_page() was using i_size_read() while holding the irq-safe
lru_lock and page tree lock, but the 32-bit i_size_read() uses an
irq-unsafe seqlock which should not be nested inside them.
Instead, read the i_size earlier in split_huge_page_to_list(), and pass
the end offset down to __split_huge_page(): all while holding head page
lock, which is enough to prevent truncation of that extent before the
page tree lock has been taken.
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1811261520070.2275@eggly.anvils
Fixes: baa355fd33 ("thp: file pages support for split_huge_page()")
Signed-off-by: Hugh Dickins <hughd@google.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: <stable@vger.kernel.org> [4.8+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>