![]() Changes in 5.15.33 Revert "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" USB: serial: pl2303: add IBM device IDs dt-bindings: usb: hcd: correct usb-device path USB: serial: pl2303: fix GS type detection USB: serial: simple: add Nokia phone driver mm: kfence: fix missing objcg housekeeping for SLAB hv: utils: add PTP_1588_CLOCK to Kconfig to fix build HID: logitech-dj: add new lightspeed receiver id HID: Add support for open wheel and no attachment to T300 xfrm: fix tunnel model fragmentation behavior ARM: mstar: Select HAVE_ARM_ARCH_TIMER virtio_console: break out of buf poll on remove vdpa/mlx5: should verify CTRL_VQ feature exists for MQ tools/virtio: fix virtio_test execution ethernet: sun: Free the coherent when failing in probing gpio: Revert regression in sysfs-gpio (gpiolib.c) spi: Fix invalid sgs value net:mcf8390: Use platform_get_irq() to get the interrupt Revert "gpio: Revert regression in sysfs-gpio (gpiolib.c)" spi: Fix erroneous sgs value with min_t() Input: zinitix - do not report shadow fingers af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register net: dsa: microchip: add spi_device_id tables selftests: vm: fix clang build error multiple output files locking/lockdep: Avoid potential access of invalid memory in lock_class drm/amdgpu: move PX checking into amdgpu_device_ip_early_init drm/amdgpu: only check for _PR3 on dGPUs iommu/iova: Improve 32-bit free space estimate virtio-blk: Use blk_validate_block_size() to validate block size tpm: fix reference counting for struct tpm_chip usb: typec: tipd: Forward plug orientation to typec subsystem USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c xhci: fix garbage USBSTS being logged in some cases xhci: fix runtime PM imbalance in USB2 resume xhci: make xhci_handshake timeout for xhci_reset() adjustable xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx() mei: me: disable driver on the ign firmware mei: me: add Alder Lake N device id. mei: avoid iterator usage outside of list_for_each_entry bus: mhi: pci_generic: Add mru_default for Quectel EM1xx series bus: mhi: Fix MHI DMA structure endianness docs: sphinx/requirements: Limit jinja2<3.1 coresight: Fix TRCCONFIGR.QE sysfs interface coresight: syscfg: Fix memleak on registration failure in cscfg_create_device iio: afe: rescale: use s64 for temporary scale calculations iio: inkern: apply consumer scale on IIO_VAL_INT cases iio: inkern: apply consumer scale when no channel scale is available iio: inkern: make a best effort on offset calculation greybus: svc: fix an error handling bug in gb_svc_hello() clk: rockchip: re-add rational best approximation algorithm to the fractional divider clk: uniphier: Fix fixed-rate initialization ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE cifs: fix handlecache and multiuser cifs: we do not need a spinlock around the tree access during umount KEYS: fix length validation in keyctl_pkey_params_get_2() KEYS: asymmetric: enforce that sig algo matches key algo KEYS: asymmetric: properly validate hash_algo and encoding Documentation: add link to stable release candidate tree Documentation: update stable tree link firmware: stratix10-svc: add missing callback parameter on RSU firmware: sysfb: fix platform-device leak in error path HID: intel-ish-hid: Use dma_alloc_coherent for firmware update SUNRPC: avoid race between mod_timer() and del_timer_sync() NFS: NFSv2/v3 clients should never be setting NFS_CAP_XATTR NFSD: prevent underflow in nfssvc_decode_writeargs() NFSD: prevent integer overflow on 32 bit systems f2fs: fix to unlock page correctly in error path of is_alive() f2fs: quota: fix loop condition at f2fs_quota_sync() f2fs: fix to do sanity check on .cp_pack_total_block_count remoteproc: Fix count check in rproc_coredump_write() mm/mlock: fix two bugs in user_shm_lock() pinctrl: ingenic: Fix regmap on X series SoCs pinctrl: samsung: drop pin banks references on error paths net: bnxt_ptp: fix compilation error spi: mxic: Fix the transmit path mtd: rawnand: protect access to rawnand devices while in suspend can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path can: m_can: m_can_tx_handler(): fix use after free of skb can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error path jffs2: fix use-after-free in jffs2_clear_xattr_subsystem jffs2: fix memory leak in jffs2_do_mount_fs jffs2: fix memory leak in jffs2_scan_medium mm: fs: fix lru_cache_disabled race in bh_lru mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node mm: invalidate hwpoison page cache page in fault path mempolicy: mbind_range() set_policy() after vma_merge() scsi: core: sd: Add silence_suspend flag to suppress some PM messages scsi: ufs: Fix runtime PM messages never-ending cycle scsi: scsi_transport_fc: Fix FPIN Link Integrity statistics counters scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands qed: display VF trust config qed: validate and restrict untrusted VFs vlan promisc mode riscv: dts: canaan: Fix SPI3 bus width riscv: Fix fill_callchain return value riscv: Increase stack size under KASAN Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads" cifs: prevent bad output lengths in smb2_ioctl_query_info() cifs: fix NULL ptr dereference in smb2_ioctl_query_info() ALSA: cs4236: fix an incorrect NULL check on list iterator ALSA: hda: Avoid unsol event during RPM suspending ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020 rtc: mc146818-lib: fix locking in mc146818_set_time rtc: pl031: fix rtc features null pointer dereference ocfs2: fix crash when mount with quota enabled drm/simpledrm: Add "panel orientation" property on non-upright mounted LCD panels mm: madvise: skip unmapped vma holes passed to process_madvise mm: madvise: return correct bytes advised with process_madvise Revert "mm: madvise: skip unmapped vma holes passed to process_madvise" mm,hwpoison: unmap poisoned page before invalidation mm/kmemleak: reset tag when compare object pointer dm stats: fix too short end duration_ns when using precise_timestamps dm: fix use-after-free in dm_cleanup_zoned_dev() dm: interlock pending dm_io and dm_wait_for_bios_completion dm: fix double accounting of flush with data dm integrity: set journal entry unused when shrinking device tracing: Have trace event string test handle zero length strings drbd: fix potential silent data corruption powerpc/kvm: Fix kvm_use_magic_page PCI: fu740: Force 2.5GT/s for initial device probe arm64: signal: nofpsimd: Do not allocate fp/simd context when not available arm64: Do not defer reserve_crashkernel() for platforms with no DMA memory zones arm64: dts: qcom: sm8250: Fix MSI IRQ for PCIe1 and PCIe2 arm64: dts: ti: k3-am65: Fix gic-v3 compatible regs arm64: dts: ti: k3-j721e: Fix gic-v3 compatible regs arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs arm64: dts: ti: k3-am64: Fix gic-v3 compatible regs ASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM Revert "ACPI: Pass the same capabilities to the _OSC regardless of the query flag" ACPI: properties: Consistently return -ENOENT if there are no more references coredump: Also dump first pages of non-executable ELF libraries ext4: fix ext4_fc_stats trace point ext4: fix fs corruption when tring to remove a non-empty directory with IO error ext4: make mb_optimize_scan performance mount option work with extents drivers: hamradio: 6pack: fix UAF bug caused by mod_timer() samples/landlock: Fix path_list memory leak landlock: Use square brackets around "landlock-ruleset" mailbox: tegra-hsp: Flush whole channel block: limit request dispatch loop duration block: don't merge across cgroup boundaries if blkcg is enabled drm/edid: check basic audio support on CEA extension block fbdev: Hot-unplug firmware fb devices on forced removal video: fbdev: sm712fb: Fix crash in smtcfb_read() video: fbdev: atari: Atari 2 bpp (STe) palette bugfix rfkill: make new event layout opt-in ARM: dts: at91: sama7g5: Remove unused properties in i2c nodes ARM: dts: at91: sama5d2: Fix PMERRLOC resource size ARM: dts: exynos: fix UART3 pins configuration in Exynos5250 ARM: dts: exynos: add missing HDMI supplies on SMDK5250 ARM: dts: exynos: add missing HDMI supplies on SMDK5420 mgag200 fix memmapsl configuration in GCTL6 register carl9170: fix missing bit-wise or operator for tx_params pstore: Don't use semaphores in always-atomic-context code thermal: int340x: Increase bitmap size lib/raid6/test: fix multiple definition linking error exec: Force single empty string when argv is empty crypto: rsa-pkcs1pad - only allow with rsa crypto: rsa-pkcs1pad - correctly get hash from source scatterlist crypto: rsa-pkcs1pad - restore signature length check crypto: rsa-pkcs1pad - fix buffer overread in pkcs1pad_verify_complete() bcache: fixup multiple threads crash PM: domains: Fix sleep-in-atomic bug caused by genpd_debug_remove() DEC: Limit PMAX memory probing to R3k systems media: gpio-ir-tx: fix transmit with long spaces on Orange Pi PC media: venus: hfi_cmds: List HDR10 property as unsupported for v1 and v3 media: venus: venc: Fix h264 8x8 transform control media: davinci: vpif: fix unbalanced runtime PM get media: davinci: vpif: fix unbalanced runtime PM enable btrfs: zoned: mark relocation as writing btrfs: extend locking to all space_info members accesses btrfs: verify the tranisd of the to-be-written dirty extent buffer xtensa: define update_mmu_tlb function xtensa: fix stop_machine_cpuslocked call in patch_text xtensa: fix xtensa_wsr always writing 0 drm/syncobj: flatten dma_fence_chains on transfer drm/nouveau/backlight: Fix LVDS backlight detection on some laptops drm/nouveau/backlight: Just set all backlight types as RAW drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB brcmfmac: firmware: Allocate space for default boardrev in nvram brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error path brcmfmac: pcie: Declare missing firmware files in pcie.c brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio brcmfmac: pcie: Fix crashes due to early IRQs drm/i915/opregion: check port number bounds for SWSCI display power state drm/i915/gem: add missing boundary check in vm_access PCI: imx6: Allow to probe when dw_pcie_wait_for_link() fails PCI: pciehp: Clear cmd_busy bit in polling mode PCI: xgene: Revert "PCI: xgene: Fix IB window setup" regulator: qcom_smd: fix for_each_child.cocci warnings selinux: access superblock_security_struct in LSM blob way selinux: check return value of sel_make_avc_files crypto: ccp - Ensure psp_ret is always init'd in __sev_platform_init_locked() hwrng: cavium - Check health status while reading random data hwrng: cavium - HW_RANDOM_CAVIUM should depend on ARCH_THUNDER crypto: sun8i-ss - really disable hash on A80 crypto: authenc - Fix sleep in atomic context in decrypt_tail crypto: mxs-dcp - Fix scatterlist processing selinux: Fix selinux_sb_mnt_opts_compat() thermal: int340x: Check for NULL after calling kmemdup() crypto: octeontx2 - remove CONFIG_DM_CRYPT check spi: tegra114: Add missing IRQ check in tegra_spi_probe spi: tegra210-quad: Fix missin IRQ check in tegra_qspi_probe stack: Constrain and fix stack offset randomization with Clang builds arm64/mm: avoid fixmap race condition when create pud mapping blk-cgroup: set blkg iostat after percpu stat aggregation selftests/x86: Add validity check and allow field splitting selftests/sgx: Treat CC as one argument crypto: rockchip - ECB does not need IV audit: log AUDIT_TIME_* records only from rules EVM: fix the evm= __setup handler return value crypto: ccree - don't attempt 0 len DMA mappings crypto: hisilicon/sec - fix the aead software fallback for engine spi: pxa2xx-pci: Balance reference count for PCI DMA device hwmon: (pmbus) Add mutex to regulator ops hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNING nvme: cleanup __nvme_check_ids nvme: fix the check for duplicate unique identifiers block: don't delete queue kobject before its children PM: hibernate: fix __setup handler error handling PM: suspend: fix return value of __setup handler spi: spi-zynqmp-gqspi: Handle error for dma_set_mask hwrng: atmel - disable trng on failure path crypto: sun8i-ss - call finalize with bh disabled crypto: sun8i-ce - call finalize with bh disabled crypto: amlogic - call finalize with bh disabled crypto: gemini - call finalize with bh disabled crypto: vmx - add missing dependencies clocksource/drivers/timer-ti-dm: Fix regression from errata i940 fix clocksource/drivers/exynos_mct: Refactor resources allocation clocksource/drivers/exynos_mct: Handle DTS with higher number of interrupts clocksource/drivers/timer-microchip-pit64b: Use notrace clocksource/drivers/timer-of: Check return value of of_iomap in timer_of_base_init() arm64: prevent instrumentation of bp hardening callbacks KEYS: trusted: Fix trusted key backends when building as module KEYS: trusted: Avoid calling null function trusted_key_exit ACPI: APEI: fix return value of __setup handlers crypto: ccp - ccp_dmaengine_unregister release dma channels crypto: ccree - Fix use after free in cc_cipher_exit() hwrng: nomadik - Change clk_disable to clk_disable_unprepare hwmon: (pmbus) Add Vin unit off handling clocksource: acpi_pm: fix return value of __setup handler io_uring: don't check unrelated req->open.how in accept request io_uring: terminate manual loop iterator loop correctly for non-vecs watch_queue: Fix NULL dereference in error cleanup watch_queue: Actually free the watch f2fs: fix to enable ATGC correctly via gc_idle sysfs interface sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa sched/core: Export pelt_thermal_tp sched/uclamp: Fix iowait boost escaping uclamp restriction rseq: Remove broken uapi field layout on 32-bit little endian perf/core: Fix address filter parser for multiple filters perf/x86/intel/pt: Fix address filter config for 32-bit kernel sched/fair: Improve consistency of allowed NUMA balance calculations f2fs: fix missing free nid in f2fs_handle_failed_inode nfsd: more robust allocation failure handling in nfsd_file_cache_init sched/cpuacct: Fix charge percpu cpuusage sched/rt: Plug rt_mutex_setprio() vs push_rt_task() race f2fs: fix to avoid potential deadlock btrfs: fix unexpected error path when reflinking an inline extent f2fs: fix compressed file start atomic write may cause data corruption selftests, x86: fix how check_cc.sh is being invoked drivers/base/memory: add memory block to memory group after registration succeeded kunit: make kunit_test_timeout compatible with comment pinctrl: samsung: Remove EINT handler for Exynos850 ALIVE and CMGP gpios media: staging: media: zoran: fix usage of vb2_dma_contig_set_max_seg_size media: camss: csid-170: fix non-10bit formats media: camss: csid-170: don't enable unused irqs media: camss: csid-170: set the right HALT_CMD when disabled media: camss: vfe-170: fix "VFE halt timeout" error media: staging: media: imx: imx7-mipi-csis: Make subdev name unique media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls media: mtk-vcodec: potential dereference of null pointer media: imx: imx8mq-mipi-csi2: remove wrong irq config write operation media: imx: imx8mq-mipi_csi2: fix system resume media: bttv: fix WARNING regression on tunerless devices media: atmel: atmel-sama7g5-isc: fix ispck leftover ASoC: sh: rz-ssi: Drop calling rz_ssi_pio_recv() recursively ASoC: codecs: Check for error pointer after calling devm_regmap_init_mmio ASoC: xilinx: xlnx_formatter_pcm: Handle sysclk setting ASoC: simple-card-utils: Set sysclk on all components media: coda: Fix missing put_device() call in coda_get_vdoa_data media: meson: vdec: potential dereference of null pointer media: hantro: Fix overfill bottom register field name media: ov6650: Fix set format try processing path media: v4l: Avoid unaligned access warnings when printing 4cc modifiers media: ov5648: Don't pack controls struct media: aspeed: Correct value for h-total-pixels video: fbdev: matroxfb: set maxvram of vbG200eW to the same as vbG200 to avoid black screen video: fbdev: controlfb: Fix COMPILE_TEST build video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe() video: fbdev: atmel_lcdfb: fix an error code in atmel_lcdfb_probe() video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name() ARM: dts: Fix OpenBMC flash layout label addresses firmware: qcom: scm: Remove reassignment to desc following initializer ARM: dts: qcom: ipq4019: fix sleep clock soc: qcom: rpmpd: Check for null return of devm_kcalloc soc: qcom: ocmem: Fix missing put_device() call in of_get_ocmem soc: qcom: aoss: remove spurious IRQF_ONESHOT flags arm64: dts: qcom: sdm845: fix microphone bias properties and values arm64: dts: qcom: sm8250: fix PCIe bindings to follow schema arm64: dts: broadcom: bcm4908: use proper TWD binding arm64: dts: qcom: sm8150: Correct TCS configuration for apps rsc arm64: dts: qcom: sm8350: Correct TCS configuration for apps rsc firmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL is not defined soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe ARM: dts: sun8i: v3s: Move the csi1 block to follow address order vsprintf: Fix potential unaligned access ARM: dts: imx: Add missing LVDS decoder on M53Menlo media: mexon-ge2d: fixup frames size in registers media: video/hdmi: handle short reads of hdmi info frame. media: ti-vpe: cal: Fix a NULL pointer dereference in cal_ctx_v4l2_init_formats() media: em28xx: initialize refcount before kref_get media: usb: go7007: s2250-board: fix leak in probe() media: cedrus: H265: Fix neighbour info buffer size media: cedrus: h264: Fix neighbour info buffer size ASoC: codecs: rx-macro: fix accessing compander for aux ASoC: codecs: rx-macro: fix accessing array out of bounds for enum type ASoC: codecs: va-macro: fix accessing array out of bounds for enum type ASoC: codecs: wc938x: fix accessing array out of bounds for enum type ASoC: codecs: wcd938x: fix kcontrol max values ASoC: codecs: wcd934x: fix kcontrol max values ASoC: codecs: wcd934x: fix return value of wcd934x_rx_hph_mode_put media: v4l2-core: Initialize h264 scaling matrix media: ov5640: Fix set format, v4l2_mbus_pixelcode not updated selftests/lkdtm: Add UBSAN config lib: uninline simple_strntoull() as well vsprintf: Fix %pK with kptr_restrict == 0 uaccess: fix nios2 and microblaze get_user_8() ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp() soc: mediatek: pm-domains: Add wakeup capacity support in power domain mmc: sdhci_am654: Fix the driver data of AM64 SoC ASoC: ti: davinci-i2s: Add check for clk_enable() ALSA: spi: Add check for clk_enable() arm64: dts: ns2: Fix spi-cpol and spi-cpha property arm64: dts: broadcom: Fix sata nodename printk: fix return value of printk.devkmsg __setup handler ASoC: mxs-saif: Handle errors for clk_enable ASoC: atmel_ssc_dai: Handle errors for clk_enable ASoC: dwc-i2s: Handle errors for clk_enable ASoC: soc-compress: prevent the potentially use of null pointer memory: emif: Add check for setup_interrupts memory: emif: check the pointer temp in get_device_details() ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction arm64: dts: rockchip: Fix SDIO regulator supply properties on rk3399-firefly m68k: coldfire/device.c: only build for MCF_EDMA when h/w macros are defined media: stk1160: If start stream fails, return buffers with VB2_BUF_STATE_QUEUED media: vidtv: Check for null return of vzalloc ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe ASoC: wm8350: Handle error for wm8350_register_irq ASoC: fsi: Add check for clk_enable video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of media: saa7134: fix incorrect use to determine if list is empty ivtv: fix incorrect device_caps for ivtvfb ASoC: atmel: Fix error handling in snd_proto_probe ASoC: rockchip: i2s: Fix missing clk_disable_unprepare() in rockchip_i2s_probe ASoC: SOF: Add missing of_node_put() in imx8m_probe ASoC: mediatek: use of_device_get_match_data() ASoC: mediatek: mt8192-mt6359: Fix error handling in mt8192_mt6359_dev_probe ASoC: rk817: Fix missing clk_disable_unprepare() in rk817_platform_probe ASoC: dmaengine: do not use a NULL prepare_slave_config() callback ASoC: mxs: Fix error handling in mxs_sgtl5000_probe ASoC: fsl_spdif: Disable TX clock when stop ASoC: imx-es8328: Fix error return code in imx_es8328_probe() ASoC: SOF: Intel: enable DMI L1 for playback streams ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe mmc: davinci_mmc: Handle error for clk_enable ASoC: atmel: Fix error handling in sam9x5_wm8731_driver_probe ASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_data ASoC: amd: Fix reference to PCM buffer address ARM: configs: multi_v5_defconfig: re-enable CONFIG_V4L_PLATFORM_DRIVERS ARM: configs: multi_v5_defconfig: re-enable DRM_PANEL and FB_xxx drm/meson: osd_afbcd: Add an exit callback to struct meson_afbcd_ops drm/meson: Make use of the helper function devm_platform_ioremap_resourcexxx() drm/meson: split out encoder from meson_dw_hdmi drm/meson: Fix error handling when afbcd.ops->init fails drm/bridge: Fix free wrong object in sii8620_init_rcp_input_dev drm/bridge: Add missing pm_runtime_disable() in __dw_mipi_dsi_probe drm/bridge: nwl-dsi: Fix PM disable depth imbalance in nwl_dsi_probe drm: bridge: adv7511: Fix ADV7535 HPD enablement ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern drm/v3d/v3d_drv: Check for error num after setting mask drm/panfrost: Check for error num after setting mask libbpf: Fix possible NULL pointer dereference when destroying skeleton bpftool: Only set obj->skeleton on complete success udmabuf: validate ubuf->pagecount bpf: Fix UAF due to race between btf_try_get_module and load_module drm/selftests/test-drm_dp_mst_helper: Fix memory leak in sideband_msg_req_encode_decode selftests: bpf: Fix bind on used port Bluetooth: btintel: Fix WBS setting for Intel legacy ROM products Bluetooth: hci_serdev: call init_rwsem() before p->open() mtd: onenand: Check for error irq mtd: rawnand: gpmi: fix controller timings setting drm/edid: Don't clear formats if using deep color drm/edid: Split deep color modes between RGB and YUV444 ionic: fix type complaint in ionic_dev_cmd_clean() ionic: start watchdog after all is setup ionic: Don't send reset commands if FW isn't running drm/nouveau/acr: Fix undefined behavior in nvkm_acr_hsfw_load_bl() drm/amd/display: Fix a NULL pointer dereference in amdgpu_dm_connector_add_common_modes() drm/amd/pm: return -ENOTSUPP if there is no get_dpm_ultimate_freq function net: phy: at803x: move page selection fix to config_init selftests/bpf: Normalize XDP section names in selftests selftests/bpf/test_xdp_redirect_multi: use temp netns for testing ath9k_htc: fix uninit value bugs RDMA/core: Set MR type in ib_reg_user_mr KVM: PPC: Fix vmx/vsx mixup in mmio emulation selftests/net: timestamping: Fix bind_phc check i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb i40e: respect metadata on XSK Rx to skb igc: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb ixgbe: pass bi->xdp to ixgbe_construct_skb_zc() directly ixgbe: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb ixgbe: respect metadata on XSK Rx to skb power: reset: gemini-poweroff: Fix IRQ check in gemini_poweroff_probe ray_cs: Check ioremap return value powerpc: dts: t1040rdb: fix ports names for Seville Ethernet switch KVM: PPC: Book3S HV: Check return value of kvmppc_radix_init powerpc/perf: Don't use perf_hw_context for trace IMC PMU mt76: connac: fix sta_rec_wtbl tag len mt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta mode mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv mt76: mt7921: fix a leftover race in runtime-pm mt76: mt7615: fix a leftover race in runtime-pm mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update ptp: unregister virtual clocks when unregistering physical clock. net: dsa: mv88e6xxx: Enable port policy support on 6097 mac80211: Remove a couple of obsolete TODO mac80211: limit bandwidth in HE capabilities scripts/dtc: Call pkg-config POSIXly correct livepatch: Fix build failure on 32 bits processors net: asix: add proper error handling of usb read errors i2c: bcm2835: Use platform_get_irq() to get the interrupt i2c: bcm2835: Fix the error handling in 'bcm2835_i2c_probe()' mtd: mchp23k256: Add SPI ID table mtd: mchp48l640: Add SPI ID table igc: avoid kernel warning when changing RX ring parameters igb: refactor XDP registration PCI: aardvark: Fix reading MSI interrupt number PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridge RDMA/rxe: Check the last packet by RXE_END_MASK libbpf: Fix signedness bug in btf_dump_array_data() cxl/core: Fix cxl_probe_component_regs() error message cxl/regs: Fix size of CXL Capability Header Register net:enetc: allocate CBD ring data memory using DMA coherent methods libbpf: Fix compilation warning due to mismatched printf format drm/bridge: dw-hdmi: use safe format when first in bridge chain libbpf: Use dynamically allocated buffer when receiving netlink messages power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports iommu/ipmmu-vmsa: Check for error num after setting mask drm/bridge: anx7625: Fix overflow issue on reading EDID bpftool: Fix the error when lookup in no-btf maps drm/amd/pm: enable pm sysfs write for one VF mode drm/amd/display: Add affected crtcs to atomic state for dsc mst unplug libbpf: Fix memleak in libbpf_netlink_recv() IB/cma: Allow XRC INI QPs to set their local ACK timeout dax: make sure inodes are flushed before destroy cache selftests: mptcp: add csum mib check for mptcp_connect iwlwifi: mvm: Don't call iwl_mvm_sta_from_mac80211() with NULL sta iwlwifi: mvm: don't iterate unadded vifs when handling FW SMPS req iwlwifi: mvm: align locking in D3 test debugfs iwlwifi: yoyo: remove DBGI_SRAM address reset writing iwlwifi: Fix -EIO error code that is never returned iwlwifi: mvm: Fix an error code in iwl_mvm_up() mtd: rawnand: pl353: Set the nand chip node as the flash node drm/msm/dp: populate connector of struct dp_panel drm/msm/dp: stop link training after link training 2 failed drm/msm/dp: always add fail-safe mode into connector mode list drm/msm/dsi: Use "ref" fw clock instead of global name for VCO parent drm/msm/dsi/phy: fix 7nm v4.0 settings for C-PHY mode drm/msm/dpu: add DSPP blocks teardown drm/msm/dpu: fix dp audio condition dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS vfio/pci: fix memory leak during D3hot to D0 transition vfio/pci: wake-up devices around reset functions scsi: fnic: Fix a tracing statement scsi: pm8001: Fix command initialization in pm80XX_send_read_log() scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req() scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config() scsi: pm8001: Fix le32 values handling in pm80xx_set_sas_protocol_timer_config() scsi: pm8001: Fix payload initialization in pm80xx_encrypt_update() scsi: pm8001: Fix le32 values handling in pm80xx_chip_ssp_io_req() scsi: pm8001: Fix le32 values handling in pm80xx_chip_sata_req() scsi: pm8001: Fix NCQ NON DATA command task initialization scsi: pm8001: Fix NCQ NON DATA command completion handling scsi: pm8001: Fix abort all task initialization RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR drm/amd/display: Remove vupdate_int_entry definition TOMOYO: fix __setup handlers return values power: supply: sbs-charger: Don't cancel work that is not initialized ext2: correct max file size computing drm/tegra: Fix reference leak in tegra_dsi_ganged_probe power: supply: bq24190_charger: Fix bq24190_vbus_is_enabled() wrong false return scsi: hisi_sas: Change permission of parameter prot_mask drm/bridge: cdns-dsi: Make sure to to create proper aliases for dt bpf, arm64: Call build_prologue() first in first JIT pass bpf, arm64: Feed byte-offset into bpf line info xsk: Fix race at socket teardown RDMA/irdma: Fix netdev notifications for vlan's RDMA/irdma: Fix Passthrough mode in VM RDMA/irdma: Remove incorrect masking of PD gpu: host1x: Fix a memory leak in 'host1x_remove()' libbpf: Skip forward declaration when counting duplicated type names powerpc/mm/numa: skip NUMA_NO_NODE onlining in parse_numa_properties() powerpc/Makefile: Don't pass -mcpu=powerpc64 when building 32-bit KVM: x86: Fix emulation in writing cr8 KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor() hv_balloon: rate-limit "Unhandled message" warning i2c: xiic: Make bus names unique power: supply: wm8350-power: Handle error for wm8350_register_irq power: supply: wm8350-power: Add missing free in free_charger_irq IB/hfi1: Allow larger MTU without AIP RDMA/core: Fix ib_qp_usecnt_dec() called when error PCI: Reduce warnings on possible RW1C corruption net: axienet: fix RX ring refill allocation failure handling drm/msm/a6xx: Fix missing ARRAY_SIZE() check mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n MIPS: Sanitise Cavium switch cases in TLB handler synthesizers powerpc/sysdev: fix incorrect use to determine if list is empty powerpc/64s: Don't use DSISR for SLB faults mfd: mc13xxx: Add check for mc13xxx_irq_request libbpf: Unmap rings when umem deleted selftests/bpf: Make test_lwt_ip_encap more stable and faster platform/x86: huawei-wmi: check the return value of device_create_file() scsi: mpt3sas: Fix incorrect 4GB boundary check powerpc: 8xx: fix a return value error in mpc8xx_pic_init vxcan: enable local echo for sent CAN frames ath10k: Fix error handling in ath10k_setup_msa_resources mips: cdmm: Fix refcount leak in mips_cdmm_phys_base MIPS: RB532: fix return value of __setup handler MIPS: pgalloc: fix memory leak caused by pgd_free() mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_init power: ab8500_chargalg: Use CLOCK_MONOTONIC RDMA/irdma: Prevent some integer underflows Revert "RDMA/core: Fix ib_qp_usecnt_dec() called when error" RDMA/mlx5: Fix memory leak in error flow for subscribe event routine bpf, sockmap: Fix memleak in sk_psock_queue_msg bpf, sockmap: Fix memleak in tcp_bpf_sendmsg while sk msg is full bpf, sockmap: Fix more uncharged while msg has more_data bpf, sockmap: Fix double uncharge the mem of sk_msg samples/bpf, xdpsock: Fix race when running for fix duration of time USB: storage: ums-realtek: fix error code in rts51x_read_mem() drm/i915/display: Fix HPD short pulse handling for eDP netfilter: flowtable: Fix QinQ and pppoe support for inet table mt76: mt7921: fix mt7921_queues_acq implementation can: isotp: sanitize CAN ID checks in isotp_bind() can: isotp: return -EADDRNOTAVAIL when reading from unbound socket can: isotp: support MSG_TRUNC flag when reading from socket bareudp: use ipv6_mod_enabled to check if IPv6 enabled ibmvnic: fix race between xmit and reset af_unix: Fix some data-races around unix_sk(sk)->oob_skb. selftests/bpf: Fix error reporting from sock_fields programs Bluetooth: hci_uart: add missing NULL check in h5_enqueue Bluetooth: call hci_le_conn_failed with hdev lock in hci_le_conn_failed Bluetooth: btmtksdio: Fix kernel oops in btmtksdio_interrupt ipv4: Fix route lookups when handling ICMP redirects and PMTU updates af_netlink: Fix shift out of bounds in group mask calculation i2c: meson: Fix wrong speed use from probe netfilter: conntrack: Add and use nf_ct_set_auto_assign_helper_warned() i2c: mux: demux-pinctrl: do not deactivate a master that is not active powerpc/pseries: Fix use after free in remove_phb_dynamic() selftests/bpf/test_lirc_mode2.sh: Exit with proper code PCI: Avoid broken MSI on SB600 USB devices net: bcmgenet: Use stronger register read/writes to assure ordering tcp: ensure PMTU updates are processed during fastopen openvswitch: always update flow key after nat net: dsa: fix panic on shutdown if multi-chip tree failed to probe tipc: fix the timer expires after interval 100ms mfd: asic3: Add missing iounmap() on error asic3_mfd_probe ice: fix 'scheduling while atomic' on aux critical err interrupt ice: don't allow to run ice_send_event_to_aux() in atomic ctx drivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via ethtool kernel/resource: fix kfree() of bootmem memory again staging: r8188eu: convert DBG_88E_LEVEL call in hal/rtl8188e_hal_init.c staging: r8188eu: release_firmware is not called if allocation fails mxser: fix xmit_buf leak in activate when LSR == 0xff fsi: scom: Fix error handling fsi: scom: Remove retries in indirect scoms pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add() pps: clients: gpio: Propagate return value from pps_gpio_probe fsi: Aspeed: Fix a potential double free misc: alcor_pci: Fix an error handling path cpufreq: qcom-cpufreq-nvmem: fix reading of PVS Valid fuse soundwire: intel: fix wrong register name in intel_shim_wake clk: qcom: ipq8074: fix PCI-E clock oops dmaengine: idxd: check GENCAP config support for gencfg register dmaengine: idxd: change bandwidth token to read buffers dmaengine: idxd: restore traffic class defaults after wq reset iio: mma8452: Fix probe failing when an i2c_device_id is used serial: 8250_aspeed_vuart: add PORT_ASPEED_VUART port type staging:iio:adc:ad7280a: Fix handing of device address bit reversing. pinctrl: renesas: r8a77470: Reduce size for narrow VIN1 channel pinctrl: renesas: checker: Fix miscalculation of number of states clk: qcom: ipq8074: Use floor ops for SDCC1 clock phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure}) phy: phy-brcm-usb: fixup BCM4908 support serial: 8250_mid: Balance reference count for PCI DMA device serial: 8250_lpss: Balance reference count for PCI DMA device NFS: Use of mapping_set_error() results in spurious errors serial: 8250: Fix race condition in RTS-after-send handling iio: adc: Add check for devm_request_threaded_irq habanalabs: Add check for pci_enable_device NFS: Return valid errors from nfs2/3_decode_dirent() staging: r8188eu: fix endless loop in recv_func dma-debug: fix return value of __setup handlers clk: imx7d: Remove audio_mclk_root_clk clk: imx: off by one in imx_lpcg_parse_clks_from_dt() clk: at91: sama7g5: fix parents of PDMCs' GCLK clk: qcom: clk-rcg2: Update logic to calculate D value for RCG clk: qcom: clk-rcg2: Update the frac table for pixel clock dmaengine: hisi_dma: fix MSI allocate fail when reload hisi_dma remoteproc: qcom: Fix missing of_node_put in adsp_alloc_memory_region remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region remoteproc: qcom_q6v5_mss: Fix some leaks in q6v5_alloc_memory_region nvdimm/region: Fix default alignment for small regions clk: actions: Terminate clk_div_table with sentinel element clk: loongson1: Terminate clk_div_table with sentinel element clk: hisilicon: Terminate clk_div_table with sentinel element clk: clps711x: Terminate clk_div_table with sentinel element clk: Fix clk_hw_get_clk() when dev is NULL clk: tegra: tegra124-emc: Fix missing put_device() call in emc_ensure_emc_driver mailbox: imx: fix crash in resume on i.mx8ulp NFS: remove unneeded check in decode_devicenotify_args() staging: mt7621-dts: fix LEDs and pinctrl on GB-PC1 devicetree staging: mt7621-dts: fix formatting staging: mt7621-dts: fix pinctrl properties for ethernet staging: mt7621-dts: fix GB-PC2 devicetree pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init pinctrl: mediatek: paris: Fix PIN_CONFIG_BIAS_* readback pinctrl: mediatek: paris: Fix "argument" argument type for mtk_pinconf_get() pinctrl: mediatek: paris: Fix pingroup pin config state readback pinctrl: mediatek: paris: Skip custom extra pin config dump for virtual GPIOs pinctrl: microchip sgpio: use reset driver pinctrl: microchip-sgpio: lock RMW access pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe tty: hvc: fix return value of __setup handler kgdboc: fix return value of __setup handler serial: 8250: fix XOFF/XON sending when DMA is used virt: acrn: obtain pa from VMA with PFNMAP flag virt: acrn: fix a memory leak in acrn_dev_ioctl() kgdbts: fix return value of __setup handler firmware: google: Properly state IOMEM dependency driver core: dd: fix return value of __setup handler jfs: fix divide error in dbNextAG netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options SUNRPC don't resend a task on an offlined transport NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error kdb: Fix the putarea helper function perf stat: Fix forked applications enablement of counters clk: qcom: gcc-msm8994: Fix gpll4 width vsock/virtio: initialize vdev->priv before using VQs vsock/virtio: read the negotiated features before using VQs vsock/virtio: enable VQs early on probe clk: Initialize orphan req_rate xen: fix is_xen_pmu() net: enetc: report software timestamping via SO_TIMESTAMPING net: hns3: fix bug when PF set the duplicate MAC address for VFs net: hns3: fix port base vlan add fail when concurrent with reset net: hns3: add vlan list lock to protect vlan list net: hns3: format the output of the MAC address net: hns3: refine the process when PF set VF VLAN net: phy: broadcom: Fix brcm_fet_config_init() selftests: test_vxlan_under_vrf: Fix broken test case NFS: Don't loop forever in nfs_do_recoalesce() net: hns3: clean residual vf config after disable sriov net: sparx5: depends on PTP_1588_CLOCK_OPTIONAL qlcnic: dcb: default to returning -EOPNOTSUPP net/x25: Fix null-ptr-deref caused by x25_disconnect net: sparx5: switchdev: fix possible NULL pointer dereference octeontx2-af: initialize action variable net: prefer nf_ct_put instead of nf_conntrack_put net/sched: act_ct: fix ref leak when switching zones NFSv4/pNFS: Fix another issue with a list iterator pointing to the head net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator fs: fd tables have to be multiples of BITS_PER_LONG lib/test: use after free in register_test_dev_kmod() fs: fix fd table size alignment properly LSM: general protection fault in legacy_parse_param regulator: rpi-panel: Handle I2C errors/timing to the Atmel crypto: hisilicon/qm - cleanup warning in qm_vf_read_qos gcc-plugins/stackleak: Exactly match strings instead of prefixes pinctrl: npcm: Fix broken references to chip->parent_device rcu: Mark writes to the rcu_segcblist structure's ->flags field block/bfq_wf2q: correct weight to ioprio crypto: xts - Add softdep on ecb crypto: hisilicon/sec - not need to enable sm4 extra mode at HW V3 block, bfq: don't move oom_bfqq selinux: use correct type for context length arm64: module: remove (NOLOAD) from linker script selinux: allow FIOCLEX and FIONCLEX with policy capability loop: use sysfs_emit() in the sysfs xxx show() Fix incorrect type in assignment of ipv6 port for audit irqchip/qcom-pdc: Fix broken locking irqchip/nvic: Release nvic_base upon failure fs/binfmt_elf: Fix AT_PHDR for unusual ELF files bfq: fix use-after-free in bfq_dispatch_request ACPICA: Avoid walking the ACPI Namespace if it is not there lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3 Revert "Revert "block, bfq: honor already-setup queue merges"" ACPI/APEI: Limit printable size of BERT table data PM: core: keep irq flags in device_pm_check_callbacks() parisc: Fix handling off probe non-access faults nvme-tcp: lockdep: annotate in-kernel sockets spi: tegra20: Use of_device_get_match_data() atomics: Fix atomic64_{read_acquire,set_release} fallbacks locking/lockdep: Iterate lock_classes directly when reading lockdep files ext4: correct cluster len and clusters changed accounting in ext4_mb_mark_bb ext4: fix ext4_mb_mark_bb() with flex_bg with fast_commit sched/tracing: Report TASK_RTLOCK_WAIT tasks as TASK_UNINTERRUPTIBLE ext4: don't BUG if someone dirty pages without asking ext4 first f2fs: fix to do sanity check on curseg->alloc_type NFSD: Fix nfsd_breaker_owns_lease() return values f2fs: don't get FREEZE lock in f2fs_evict_inode in frozen fs btrfs: harden identification of a stale device btrfs: make search_csum_tree return 0 if we get -EFBIG f2fs: use spin_lock to avoid hang f2fs: compress: fix to print raw data size in error path of lz4 decompression Adjust cifssb maximum read size ntfs: add sanity check on allocation size media: staging: media: zoran: move videodev alloc media: staging: media: zoran: calculate the right buffer number for zoran_reap_stat_com media: staging: media: zoran: fix various V4L2 compliance errors media: atmel: atmel-isc-base: report frame sizes as full supported range media: ir_toy: free before error exiting ASoC: sh: rz-ssi: Make the data structures available before registering the handlers ASoC: SOF: Intel: match sdw version on link_slaves_found media: imx-jpeg: Prevent decoding NV12M jpegs into single-planar buffers media: iommu/mediatek-v1: Free the existed fwspec if the master dev already has media: iommu/mediatek: Return ENODEV if the device is NULL media: iommu/mediatek: Add device_link between the consumer and the larb devices video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow video: fbdev: w100fb: Reset global state video: fbdev: cirrusfb: check pixclock to avoid divide by zero video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960 ARM: dts: bcm2837: Add the missing L1/L2 cache information ASoC: madera: Add dependencies on MFD media: atomisp_gmin_platform: Add DMI quirk to not turn AXP ELDO2 regulator off on some boards media: atomisp: fix dummy_ptr check to avoid duplicate active_bo ARM: ftrace: avoid redundant loads or clobbering IP ARM: dts: imx7: Use audio_mclk_post_div instead audio_mclk_root_clk arm64: defconfig: build imx-sdma as a module video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf() video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of snprintf() video: fbdev: udlfb: replace snprintf in show functions with sysfs_emit ARM: dts: bcm2711: Add the missing L1/L2 cache information ASoC: soc-core: skip zero num_dai component in searching dai name media: imx-jpeg: fix a bug of accessing array out of bounds media: cx88-mpeg: clear interrupt status register before streaming video uaccess: fix type mismatch warnings from access_ok() lib/test_lockup: fix kernel pointer check for separate address spaces ARM: tegra: tamonten: Fix I2C3 pad setting ARM: mmp: Fix failure to remove sram device ASoC: amd: vg: fix for pm resume callback sequence video: fbdev: sm712fb: Fix crash in smtcfb_write() media: i2c: ov5648: Fix lockdep error media: Revert "media: em28xx: add missing em28xx_close_extension" media: hdpvr: initialize dev->worker at hdpvr_register_videodev ASoC: Intel: sof_sdw: fix quirks for 2022 HP Spectre x360 13" tracing: Have TRACE_DEFINE_ENUM affect trace event types as well mmc: host: Return an error when ->enable_sdio_irq() ops is missing media: atomisp: fix bad usage at error handling logic ALSA: hda/realtek: Add alc256-samsung-headphone fixup KVM: x86: Reinitialize context if host userspace toggles EFER.LME KVM: x86/mmu: Move "invalid" check out of kvm_tdp_mmu_get_root() KVM: x86/mmu: Zap _all_ roots when unmapping gfn range in TDP MMU KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_send_ipi() KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_flush_tlb() KVM: x86: hyper-v: Fix the maximum number of sparse banks for XMM fast TLB flush hypercalls KVM: x86: hyper-v: HVCALL_SEND_IPI_EX is an XMM fast hypercall powerpc/kasan: Fix early region not updated correctly powerpc/lib/sstep: Fix 'sthcx' instruction powerpc/lib/sstep: Fix build errors with newer binutils powerpc: Add set_memory_{p/np}() and remove set_memory_attr() powerpc: Fix build errors with newer binutils drm/dp: Fix off-by-one in register cache size drm/i915: Treat SAGV block time 0 as SAGV disabled drm/i915: Fix PSF GV point mask when SAGV is not possible drm/i915: Reject unsupported TMDS rates on ICL+ scsi: qla2xxx: Refactor asynchronous command initialization scsi: qla2xxx: Implement ref count for SRB scsi: qla2xxx: Fix stuck session in gpdb scsi: qla2xxx: Fix warning message due to adisc being flushed scsi: qla2xxx: Fix scheduling while atomic scsi: qla2xxx: Fix premature hw access after PCI error scsi: qla2xxx: Fix wrong FDMI data for 64G adapter scsi: qla2xxx: Fix warning for missing error code scsi: qla2xxx: Fix device reconnect in loop topology scsi: qla2xxx: edif: Fix clang warning scsi: qla2xxx: Fix T10 PI tag escape and IP guard options for 28XX adapters scsi: qla2xxx: Add devids and conditionals for 28xx scsi: qla2xxx: Check for firmware dump already collected scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair() scsi: qla2xxx: Fix disk failure to rediscover scsi: qla2xxx: Fix incorrect reporting of task management failure scsi: qla2xxx: Fix hang due to session stuck scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requests scsi: qla2xxx: Fix N2N inconsistent PLOGI scsi: qla2xxx: Fix stuck session of PRLI reject scsi: qla2xxx: Reduce false trigger to login scsi: qla2xxx: Use correct feature type field during RFF_ID processing platform: chrome: Split trace include file KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq KVM: x86: Avoid theoretical NULL pointer dereference in kvm_irq_delivery_to_apic_fast() KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated KVM: Prevent module exit until all VMs are freed KVM: x86: fix sending PV IPI KVM: SVM: fix panic on out-of-bounds guest IRQ ubifs: rename_whiteout: Fix double free for whiteout_ui->data ubifs: Fix deadlock in concurrent rename whiteout and inode writeback ubifs: Add missing iput if do_tmpfile() failed in rename whiteout ubifs: Rename whiteout atomically ubifs: Fix 'ui->dirty' race between do_tmpfile() and writeback work ubifs: Rectify space amount budget for mkdir/tmpfile operations ubifs: setflags: Make dirtied_ino_d 8 bytes aligned ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock() ubifs: Fix to add refcount once page is set private ubifs: rename_whiteout: correct old_dir size computing nvme: allow duplicate NSIDs for private namespaces nvme: fix the read-only state for zoned namespaces with unsupposed features wireguard: queueing: use CFI-safe ptr_ring cleanup function wireguard: socket: free skb in send6 when ipv6 is disabled wireguard: socket: ignore v6 endpoints when ipv6 is disabled XArray: Fix xas_create_range() when multi-order entry present can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path can: mcba_usb: properly check endpoint type can: mcp251xfd: mcp251xfd_register_get_dev_id(): fix return of error value XArray: Update the LRU list in xas_split() modpost: restore the warning message for missing symbol versions rtc: check if __rtc_read_time was successful gfs2: gfs2_setattr_size error path fix gfs2: Make sure FITRIM minlen is rounded up to fs block size net: hns3: fix the concurrency between functions reading debugfs net: hns3: fix software vlan talbe of vlan 0 inconsistent with hardware rxrpc: fix some null-ptr-deref bugs in server_key.c rxrpc: Fix call timer start racing with call destruction mailbox: imx: fix wakeup failure from freeze mode crypto: arm/aes-neonbs-cbc - Select generic cbc and aes watch_queue: Free the page array when watch_queue is dismantled pinctrl: pinconf-generic: Print arguments for bias-pull-* watchdog: rti-wdt: Add missing pm_runtime_disable() in probe function net: sparx5: uses, depends on BRIDGE or !BRIDGE pinctrl: nuvoton: npcm7xx: Rename DS() macro to DSTR() pinctrl: nuvoton: npcm7xx: Use %zu printk format for ARRAY_SIZE() ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLs ubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctl ARM: iop32x: offset IRQ numbers by 1 block: Fix the maximum minor value is blk_alloc_ext_minor() io_uring: fix memory leak of uid in files registration riscv module: remove (NOLOAD) ACPI: CPPC: Avoid out of bounds access when parsing _CPC data vhost: handle error while adding split ranges to iotlb spi: Fix Tegra QSPI example platform/chrome: cros_ec_typec: Check for EC device can: isotp: restore accidentally removed MSG_PEEK feature proc: bootconfig: Add null pointer check drm/connector: Fix typo in documentation scsi: qla2xxx: Add qla2x00_async_done() for async routines staging: mt7621-dts: fix pinctrl-0 items to be size-1 items on ethernet arm64: mm: Drop 'const' from conditional arm64_dma_phys_limit definition ASoC: soc-compress: Change the check for codec_dai Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" tracing: Have type enum modifications copy the strings net: add skb_set_end_offset() helper net: preserve skb_end_offset() in skb_unclone_keeptruesize() mm/mmap: return 1 from stack_guard_gap __setup() handler ARM: 9187/1: JIVE: fix return value of __setup handler mm/memcontrol: return 1 from cgroup.memory __setup() handler mm/usercopy: return 1 from hardened_usercopy __setup() handler af_unix: Support POLLPRI for OOB. bpf: Adjust BPF stack helper functions to accommodate skip > 0 bpf: Fix comment for helper bpf_current_task_under_cgroup() mmc: rtsx: Use pm_runtime_{get,put}() to handle runtime PM dt-bindings: mtd: nand-controller: Fix the reg property description dt-bindings: mtd: nand-controller: Fix a comment in the examples dt-bindings: spi: mxic: The interrupt property is not mandatory dt-bindings: memory: mtk-smi: No need mediatek,larb-id for mt8167 dt-bindings: pinctrl: pinctrl-microchip-sgpio: Fix example ubi: fastmap: Return error code if memory allocation fails in add_aeb() ASoC: SOF: Intel: Fix build error without SND_SOC_SOF_PCI_DEV ASoC: topology: Allow TLV control to be either read or write perf vendor events: Update metrics for SkyLake Server media: ov6650: Add try support to selection API operations media: ov6650: Fix crop rectangle affected by set format spi: mediatek: support tick_delay without enhance_timing ARM: dts: spear1340: Update serial node properties ARM: dts: spear13xx: Update SPI dma properties arm64: dts: ls1043a: Update i2c dma properties arm64: dts: ls1046a: Update i2c node dma properties um: Fix uml_mconsole stop/go docs: sysctl/kernel: add missing bit to panic_print openvswitch: Fixed nd target mask field in the flow dump. torture: Make torture.sh help message match reality n64cart: convert bi_disk to bi_bdev->bd_disk fix build mmc: rtsx: Let MMC core handle runtime PM mmc: rtsx: Fix build errors/warnings for unused variable KVM: x86/mmu: do compare-and-exchange of gPTE via the user address iommu/dma: Skip extra sync during unmap w/swiotlb iommu/dma: Fold _swiotlb helpers into callers iommu/dma: Check CONFIG_SWIOTLB more broadly swiotlb: Support aligned swiotlb buffers iommu/dma: Account for min_align_mask w/swiotlb coredump: Snapshot the vmas in do_coredump coredump: Remove the WARN_ON in dump_vma_snapshot coredump/elf: Pass coredump_params into fill_note_info coredump: Use the vma snapshot in fill_files_note PCI: xgene: Revert "PCI: xgene: Use inbound resources for setup" Linux 5.15.33 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Id62bd8a22d0bfa7c2096539d253ffce804bed017 |
||
---|---|---|
.. | ||
Kconfig | ||
LICENCE | ||
Makefile | ||
README.Locking | ||
acl.c | ||
acl.h | ||
background.c | ||
build.c | ||
compr.c | ||
compr.h | ||
compr_lzo.c | ||
compr_rtime.c | ||
compr_rubin.c | ||
compr_zlib.c | ||
debug.c | ||
debug.h | ||
dir.c | ||
erase.c | ||
file.c | ||
fs.c | ||
gc.c | ||
ioctl.c | ||
jffs2_fs_i.h | ||
jffs2_fs_sb.h | ||
malloc.c | ||
nodelist.c | ||
nodelist.h | ||
nodemgmt.c | ||
os-linux.h | ||
read.c | ||
readinode.c | ||
scan.c | ||
security.c | ||
summary.c | ||
summary.h | ||
super.c | ||
symlink.c | ||
wbuf.c | ||
write.c | ||
writev.c | ||
xattr.c | ||
xattr.h | ||
xattr_trusted.c | ||
xattr_user.c |
README.Locking
JFFS2 LOCKING DOCUMENTATION --------------------------- This document attempts to describe the existing locking rules for JFFS2. It is not expected to remain perfectly up to date, but ought to be fairly close. alloc_sem --------- The alloc_sem is a per-filesystem mutex, used primarily to ensure contiguous allocation of space on the medium. It is automatically obtained during space allocations (jffs2_reserve_space()) and freed upon write completion (jffs2_complete_reservation()). Note that the garbage collector will obtain this right at the beginning of jffs2_garbage_collect_pass() and release it at the end, thereby preventing any other write activity on the file system during a garbage collect pass. When writing new nodes, the alloc_sem must be held until the new nodes have been properly linked into the data structures for the inode to which they belong. This is for the benefit of NAND flash - adding new nodes to an inode may obsolete old ones, and by holding the alloc_sem until this happens we ensure that any data in the write-buffer at the time this happens are part of the new node, not just something that was written afterwards. Hence, we can ensure the newly-obsoleted nodes don't actually get erased until the write-buffer has been flushed to the medium. With the introduction of NAND flash support and the write-buffer, the alloc_sem is also used to protect the wbuf-related members of the jffs2_sb_info structure. Atomically reading the wbuf_len member to see if the wbuf is currently holding any data is permitted, though. Ordering constraints: See f->sem. File Mutex f->sem --------------------- This is the JFFS2-internal equivalent of the inode mutex i->i_sem. It protects the contents of the jffs2_inode_info private inode data, including the linked list of node fragments (but see the notes below on erase_completion_lock), etc. The reason that the i_sem itself isn't used for this purpose is to avoid deadlocks with garbage collection -- the VFS will lock the i_sem before calling a function which may need to allocate space. The allocation may trigger garbage-collection, which may need to move a node belonging to the inode which was locked in the first place by the VFS. If the garbage collection code were to attempt to lock the i_sem of the inode from which it's garbage-collecting a physical node, this lead to deadlock, unless we played games with unlocking the i_sem before calling the space allocation functions. Instead of playing such games, we just have an extra internal mutex, which is obtained by the garbage collection code and also by the normal file system code _after_ allocation of space. Ordering constraints: 1. Never attempt to allocate space or lock alloc_sem with any f->sem held. 2. Never attempt to lock two file mutexes in one thread. No ordering rules have been made for doing so. 3. Never lock a page cache page with f->sem held. erase_completion_lock spinlock ------------------------------ This is used to serialise access to the eraseblock lists, to the per-eraseblock lists of physical jffs2_raw_node_ref structures, and (NB) the per-inode list of physical nodes. The latter is a special case - see below. As the MTD API no longer permits erase-completion callback functions to be called from bottom-half (timer) context (on the basis that nobody ever actually implemented such a thing), it's now sufficient to use a simple spin_lock() rather than spin_lock_bh(). Note that the per-inode list of physical nodes (f->nodes) is a special case. Any changes to _valid_ nodes (i.e. ->flash_offset & 1 == 0) in the list are protected by the file mutex f->sem. But the erase code may remove _obsolete_ nodes from the list while holding only the erase_completion_lock. So you can walk the list only while holding the erase_completion_lock, and can drop the lock temporarily mid-walk as long as the pointer you're holding is to a _valid_ node, not an obsolete one. The erase_completion_lock is also used to protect the c->gc_task pointer when the garbage collection thread exits. The code to kill the GC thread locks it, sends the signal, then unlocks it - while the GC thread itself locks it, zeroes c->gc_task, then unlocks on the exit path. inocache_lock spinlock ---------------------- This spinlock protects the hashed list (c->inocache_list) of the in-core jffs2_inode_cache objects (each inode in JFFS2 has the correspondent jffs2_inode_cache object). So, the inocache_lock has to be locked while walking the c->inocache_list hash buckets. This spinlock also covers allocation of new inode numbers, which is currently just '++->highest_ino++', but might one day get more complicated if we need to deal with wrapping after 4 milliard inode numbers are used. Note, the f->sem guarantees that the correspondent jffs2_inode_cache will not be removed. So, it is allowed to access it without locking the inocache_lock spinlock. Ordering constraints: If both erase_completion_lock and inocache_lock are needed, the c->erase_completion has to be acquired first. erase_free_sem -------------- This mutex is only used by the erase code which frees obsolete node references and the jffs2_garbage_collect_deletion_dirent() function. The latter function on NAND flash must read _obsolete_ nodes to determine whether the 'deletion dirent' under consideration can be discarded or whether it is still required to show that an inode has been unlinked. Because reading from the flash may sleep, the erase_completion_lock cannot be held, so an alternative, more heavyweight lock was required to prevent the erase code from freeing the jffs2_raw_node_ref structures in question while the garbage collection code is looking at them. Suggestions for alternative solutions to this problem would be welcomed. wbuf_sem -------- This read/write semaphore protects against concurrent access to the write-behind buffer ('wbuf') used for flash chips where we must write in blocks. It protects both the contents of the wbuf and the metadata which indicates which flash region (if any) is currently covered by the buffer. Ordering constraints: Lock wbuf_sem last, after the alloc_sem or and f->sem. c->xattr_sem ------------ This read/write semaphore protects against concurrent access to the xattr related objects which include stuff in superblock and ic->xref. In read-only path, write-semaphore is too much exclusion. It's enough by read-semaphore. But you must hold write-semaphore when updating, creating or deleting any xattr related object. Once xattr_sem released, there would be no assurance for the existence of those objects. Thus, a series of processes is often required to retry, when updating such a object is necessary under holding read semaphore. For example, do_jffs2_getxattr() holds read-semaphore to scan xref and xdatum at first. But it retries this process with holding write-semaphore after release read-semaphore, if it's necessary to load name/value pair from medium. Ordering constraints: Lock xattr_sem last, after the alloc_sem.