Commit Graph

1169834 Commits

Author SHA1 Message Date
Greg Kroah-Hartman
92d048684a Merge 16c54d6a49 ("mm: fix apply_to_existing_page_range()") into android14-6.1-lts
Steps on the way to 6.1.135

Change-Id: I789088e35ba0c1f8c14466c6440828e3249159df
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-05-02 11:27:38 +00:00
Greg Kroah-Hartman
3ba386dd55 Merge 17c7f46efb ("KVM: arm64: Eagerly switch ZCR_EL{1,2}") into android14-6.1-lts
Steps on the way to 6.1.135

Resolves merge conflicts in:
	arch/arm64/include/asm/kvm_host.h
	arch/arm64/include/asm/kvm_hyp.h
	arch/arm64/include/asm/processor.h
	arch/arm64/kvm/fpsimd.c
	arch/arm64/kvm/hyp/include/hyp/switch.h
	arch/arm64/kvm/hyp/nvhe/hyp-main.c
	arch/arm64/kvm/hyp/nvhe/pkvm.c
	arch/arm64/kvm/hyp/nvhe/switch.c
	arch/arm64/kvm/reset.c

by merging away the following upstream commits due to the massive merge
conflicts:
	17c7f46efb KVM: arm64: Eagerly switch ZCR_EL{1,2}
	bde20e154a KVM: arm64: Calculate cptr_el2 traps on activating traps
	0ff8c9a71e KVM: arm64: Mark some header functions as inline
	60d55eb282 KVM: arm64: Refactor exit handlers
	6648fef8ff KVM: arm64: Remove VHE host restore of CPACR_EL1.SMEN
	9f2386b273 KVM: arm64: Remove VHE host restore of CPACR_EL1.ZEN
	a539ca5c23 KVM: arm64: Remove host FPSIMD saving for non-protected KVM
	04c50cc23a KVM: arm64: Unconditionally save+flush host FPSIMD/SVE/SME state
	2fb8365017 arm64/fpsimd: Stop using TIF_SVE to manage register saving in KVM
	254fe3a162 arm64/fpsimd: Have KVM explicitly say which FP registers to save
	312024dc1b arm64/fpsimd: Track the saved FPSIMD state type separately to TIF_SVE
	d5f7d3833b KVM: arm64: Discard any SVE state when entering KVM guests

Bug: 411040189
Change-Id: If766b3560ab9af5f783dd11f92ed42c772487405
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-05-01 09:25:42 +00:00
Greg Kroah-Hartman
d46f37d6c7 Merge dc7bdc1f2d ("io_uring/net: fix accept multishot handling") into android14-6.1-lts
Steps on the way to 6.1.135

Change-Id: I31916e31e653e82490f710da15185eddb2d802ee
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-05-01 09:17:42 +00:00
Greg Kroah-Hartman
b918f051e3 Revert "arm64: errata: Add newer ARM cores to the spectre_bhb_loop_affected() lists"
This reverts commit a53b3599d9 which is
commit a5951389e58d2e816eed3dbec5877de9327fd881 upstream.

It breaks the Pixel 9 boot tests, so it needs to be reverted.  It can
come back later if someone figures out what's going wrong here...

Bug: 414805007
Change-Id: I7a7dad01bc9ec0eb5a5eb29912226e0c1ef84985
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-05-01 02:09:14 -07:00
Greg Kroah-Hartman
e106f14940 Merge 0296f97335 ("hfs/hfsplus: fix slab-out-of-bounds in hfs_bnode_read_key") into android14-6.1-lts
Steps on the way to 6.1.135

Change-Id: I766b7c23167bd4867279298f0369085573093520
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-05-01 02:09:14 -07:00
Greg Kroah-Hartman
4f3eb66089 Merge 47b445fc79 ("selftests: mptcp: close fd_in before returning in main_loop") into android14-6.1-lts
Steps on the way to 6.1.135

Change-Id: I39412aa8b1a6ac855b255be42f5663073e960b65
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-04-30 15:14:17 +00:00
Greg Kroah-Hartman
8d8b1f0393 Merge 696198f89a ("pinctrl: qcom: Clear latched interrupt status when changing IRQ type") into android14-6.1-lts
Steps on the way to 6.1.135

Change-Id: I83ef7ba44208ce8a96d7aca4b3644816b1fd8faf
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-04-30 07:08:35 +00:00
Greg Kroah-Hartman
055c0956b9 Merge be562a7f7f ("io_uring/kbuf: reject zero sized provided buffers") into android14-6.1-lts
Steps on the way to 6.1.135

Change-Id: Ib8e66ed7eba04bd7590bca067060f5b688b5e034
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-04-30 07:05:00 +00:00
Greg Kroah-Hartman
c80ed510de Merge b2ebe6c3ff ("drm/amd/display: Update Cursor request mode to the beginning prefetch always") into android14-6.1-lts
Steps on the way to 6.1.135

Resolves merge conflicts in:
	drivers/bluetooth/btqca.c

Change-Id: Ib76d6c88366d035cd32424ee75895b36d2848419
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-04-30 07:02:55 +00:00
Greg Kroah-Hartman
2b26f9c343 Merge branch 'android14-6.1' into android14-6.1-lts
Merge into the lts branch the recent changes made to the main branch:

* a4fc1bef05 Merge tag 'android14-6.1.134_r00' into android14-6.1
* 25fc41bbde ANDROID: GKI: Update symbol list for mtk
* f26d229ec8 ANDROID: Repurpose a reserved slot in ipv6_devconf for backports
* 70d648657b ANDROID: userfaultfd: adjust MOVE ioctl mode to confirm bug-fix
* d8a28dde36 BACKPORT: mm/rmap: move SetPageAnonExclusive() out of page_move_anon_rmap()
* 6a8cf1324d ANDROID: GKI: Update symbol list for bcmstb
* 642656a367 ANDROID: GKI: Honor add symbols to symbol list
* 40610f49d4 ANDROID: vendor hooks: add hook record workingset refault count
* 9a57b38950 FROMGIT: cgroup/cpuset-v1: Add missing support for cpuset_v2_mode
* bc3d1d352a ANDROID: GKI: update symbol list for xiaomi
* 6684cdb34e ANDROID: GKI: update symbol list file for xiaomi
* 05899bf389 ANDROID: GKI: Update symbol list for xiaomi
* 821206640c ANDROID: Export cgroup function to allow module to remove control files
* c0b27cdcc7 ANDROID: mm: export mem_cgroup_move_account
* ff55f3e7ea ANDROID: mm: add vendor hook to trace shrink_node
* f2a18f1865 ANDROID: mm: add vendor hook to add folio to specific memcg
* e63d8c3188 ANDROID: f2fs: fix incorrect merge resolution in f2fs_trace_rw_file_path()
* efda22f348 ANDROID: GKI: update symbol list for xiaomi
* 19a0fb1d35 ANDROID: abi_gki_aarch64_qcom: Update symbol list for display HFI driver
* 37c227e873 UPSTREAM: bpf: support SKF_NET_OFF and SKF_LL_OFF on skb frags
* 44009cb85e ANDROID: GKI: Update symbol list for mtk
* 777d831361 UPSTREAM: regset: use kvzalloc() for regset_get_alloc()
* 6bd3b482a8 ANDROID: sched: Reapply reverted portions of "sched/core: Prevent race condition between cpuset and __sched_setscheduler()"
* ca24c52e3c Revert "ANDROID: usb: Optimization the transfer rate of accessory mode in USB3.2 mode"
* 3e6e324f5b UPSTREAM: net: sched: Disallow replacing of child qdisc from one parent to another
* df2dac406f ANDROID: GKI: Update symbol list for xiaomi
* 4fc6483e90 ANDROID: vendor_hook: Add hook is to optimize the time consumption of shrink slab.
* c1fd50266b ANDROID: GKI: Update symbol list for mtk
* e1ab072bcf UPSTREAM: usb: gadget: core: flush gadget workqueue after device removal

Change-Id: I59577162c2499090fea1240176e7e9ecd952bb41
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-04-27 08:18:20 +00:00
Greg Kroah-Hartman
a4fc1bef05 Merge tag 'android14-6.1.134_r00' into android14-6.1
This merges the android14-6.1.134_r00 tag into the android14-6.1 branch,
catching it up with the latest LTS releases.

It contains the following commits:

* 5a2ca52ae4 Revert "of: property: Increase NR_FWNODE_REFERENCE_ARGS"
* f6e3f07621 Revert "can: statistics: use atomic access in hot path"
*   522ff9a1db Merge 6.1.134 into android14-6.1-lts
|\
| * 4201028358 Linux 6.1.134
| * 1a84c0be74 tracing: Do not use PERF enums when perf is not defined
| * 14a6b65c83 NFSD: Skip sending CB_RECALL_ANY when the backchannel isn't up
| * d96587cc93 nfsd: put dl_stid if fail to queue dl_recall
| * 30ef7cfee7 media: streamzap: fix race between device disconnection and urb callback
| * 78f06805cf jfs: add index corruption check to DT_GETPAGE()
| * 46e2c031aa jfs: fix slab-out-of-bounds read in ea_get()
| * 89503e5eae ext4: fix OOB read when checking dotdot dir
| * c07ec83be7 ext4: don't over-report free space or inodes in statvfs
| * cf18760105 arm64: Don't call NULL in do_compat_alignment_fixup()
| * 8f4d099504 tracing/osnoise: Fix possible recursive locking for cpus_read_lock()
| * e9564aa7b8 tracing: Fix synth event printk format for str fields
| * bb9616ba5b tracing: Ensure module defining synth event cannot be unloaded while tracing
| * a2cce54c17 tracing: Fix use-after-free in print_graph_function_flags during tracer switching
| * 3ac65de111 ksmbd: validate zero num_subauth before sub_auth is accessed
| * 596407adb9 ksmbd: fix session use-after-free in multichannel connection
| * f0eb3f5751 ksmbd: fix use-after-free in ksmbd_sessions_deregister()
| * 629dd37acc ksmbd: add bounds check for create lease context
| * 8857a956f7 mmc: sdhci-omap: Disable MMC_CAP_AGGRESSIVE_PM for eMMC/SD
| * 91f33558db mmc: sdhci-pxav3: set NEED_RSP_BUSY capability
| * 0bb9c96faf ACPI: resource: Skip IRQ override on ASUS Vivobook 14 X1404VAP
| * bae5b55e0f acpi: nfit: fix narrowing conversion in acpi_nfit_ctl
| * 0708fd6bd8 x86/mm: Fix flush_tlb_range() when used for zapping normal PMDs
| * 39e32fe65e x86/tsc: Always save/restore TSC sched_clock() on suspend/resume
| * 9c8237021b btrfs: handle errors from btrfs_dec_ref() properly
| * cacce7faa7 kunit/overflow: Fix UB in overflow_allocation_test
| * 781b2db0eb perf/x86/intel: Avoid disable PMU if !cpuc->enabled in sample read
| * 0a416b4c53 perf/x86/intel: Apply static call for drain_pebs
| * 5b36f9e8fa ntb_perf: Delete duplicate dmaengine_unmap_put() call in perf_copy_chunk()
| * 16d6b2527f platform/x86: ISST: Correct command storage data length
| * c498c117c4 LoongArch: BPF: Use move_addr() for BPF_PSEUDO_FUNC
| * e9ccb262b3 LoongArch: BPF: Fix off-by-one error in build_prologue()
| * f39af67f03 LoongArch: Increase ARCH_DMA_MINALIGN up to 16
| * 0f10f83acf usbnet:fix NPE during rx_complete
| * bbadf50383 tty: serial: fsl_lpuart: disable transmitter before changing RS485 related registers
| * a824c44e4b tty: serial: fsl_lpuart: use UARTMODIR register bits for lpuart32 platform
| * 0628ee3bfb drm/amdgpu/gfx11: fix num_mec
| * ddd2752899 io_uring/filetable: ensure node switch is always done, if needed
| * be8a0decd0 arcnet: Add NULL check in com20020pci_probe()
| * d10bd910d3 ipv6: Do not consider link down nexthops in path selection
| * 6d1e50a73d ipv6: Start path selection from the first nexthop
| * 21748669c5 net: fix geneve_opt length integer overflow
| * 5eaa143ba3 net: dsa: mv88e6xxx: propperly shutdown PPU re-enable timer on destroy
| * b9039d61f8 ipv6: fix omitted netlink attributes when using RTEXT_FILTER_SKIP_STATS
| * a263d31c8c netfilter: nft_tunnel: fix geneve_opt type confusion addition
| * b88786ea2c tunnels: Accept PACKET_HOST in skb_tunnel_check_pmtu().
| * f3b75e0a06 vsock: avoid timeout during connect() if the socket is closing
| * 9122fec396 udp: Fix memory accounting leak.
| * b3f48a41a0 net: mvpp2: Prevent parser TCAM memory corruption
| * 1dcc144c32 net_sched: skbprio: Remove overly strict queue assertions
| * 797e5371cf netlabel: Fix NULL pointer exception caused by CALIPSO on IPv4 sockets
| * 3f620f0a29 netfilter: nft_set_hash: GC reaps elements with conncount for dynamic sets only
| * 38253922a8 ASoC: imx-card: Add NULL check in imx_card_probe()
| * 8d78931a15 ntb: intel: Fix using link status DB's
| * 7ed22f8d8b ntb_hw_switchtec: Fix shift-out-of-bounds in switchtec_ntb_mw_set_trans
| * fb5069d017 riscv: ftrace: Add parentheses in macro definitions of make_call_t0 and make_call_ra
| * a333f223e5 spufs: fix a leak in spufs_create_context()
| * 880e7b3da2 spufs: fix gang directory lifetimes
| * 96de7fbdc2 spufs: fix a leak on spufs_new_file() failure
| * ad387704e9 hwmon: (nct6775-core) Fix out of bounds access for NCT679{8,9}
| * a8184b1930 memory: omap-gpmc: drop no compatible check
| * 4b07ce83e9 can: statistics: use atomic access in hot path
| * 1a8bae6723 ALSA: hda/realtek: Add mute LED quirk for HP Pavilion x360 14-dy1xxx
| * e733877c5e drm/amd: Keep display off while going into S4
| * 34988d2e0c x86/sgx: Warn explicitly if X86_FEATURE_SGX_LC is not enabled
| * 8630709ebd locking/semaphore: Use wake_q to wake up processes outside lock critical section
| * e73917f9e0 sched/deadline: Use online cpus for validating runtime
| * 223f2ababb ALSA: hda/realtek: Add support for ASUS Zenbook UM3406KA Laptops using CS35L41 HDA
| * de04d49417 ALSA: hda/realtek: Add support for ASUS ROG Strix G614 Laptops using CS35L41 HDA
| * b31a7802d4 HID: i2c-hid: improve i2c_hid_get_report error message
| * 70bb0d7129 platform/x86: intel-hid: fix volume buttons on Microsoft Surface Go 4 tablet
| * 3f3a07fcb5 ALSA: hda: Fix speakers on ASUS EXPERTBOOK P5405CSA 1.0
| * 2dab4e83fc ALSA: hda/realtek: Fix Asus Z13 2025 audio
| * 6387243bfe affs: don't write overlarge OFS data block size fields
| * 395041688b affs: generate OFS sequence numbers starting at 1
| * 499d26188a wifi: brcmfmac: keep power during suspend if board requires it
| * ff0c8508eb nvme-pci: skip CMB blocks incompatible with PCI P2P DMA
| * 159ef31d18 nvme-pci: clean up CMBMSC when registering CMB fails
| * 6fca3c84f1 nvme-tcp: fix possible UAF in nvme_tcp_poll
| * 157c80e4ea wifi: iwlwifi: mvm: use the right version of the rate API
| * c0a4cbdadc wifi: iwlwifi: fw: allocate chained SG tables for dump
| * c195e1eac0 rcu-tasks: Always inline rcu_irq_work_resched()
| * 4c467a4ba7 context_tracking: Always inline ct_{nmi,irq}_{enter,exit}()
| * ad05c9379b sched/smt: Always inline sched_smt_active()
| * 1e49787b45 octeontx2-af: Free NIX_AF_INT_VEC_GEN irq
| * 013a3c7eca octeontx2-af: Fix mbox INTR handler when num VFs > 64
| * 9b435afa49 ACPI: processor: idle: Return an error if both P_LVL{2,3} idle states are invalid
| * 63d23e3976 LoongArch: Fix help text of CMDLINE_EXTEND in Kconfig
| * 6fc6fa800e ring-buffer: Fix bytes_dropped calculation issue
| * 3420c27121 net/mlx5e: SHAMPO, Make reserved size independent of page size
| * 128a0f437e ksmbd: fix multichannel connection failure
| * a6b5948682 ksmbd: use aead_request_free to match aead_request_alloc
| * 717587fbc8 rndis_host: Flag RNDIS modems as WWAN devices
| * 5fed5f6de3 rtnetlink: Allocate vfinfo size for VF GUIDs when supported
| * 83048539a7 exfat: fix the infinite loop in exfat_find_last_cluster()
| * b9249da6b0 objtool, media: dib8000: Prevent divide-by-zero in dib8000_set_dds()
| * 546685793f perf tools: annotate asm_pure_loop.S
| * 1ff7116624 fs/procfs: fix the comment above proc_pid_wchan()
| * 62f6af0a12 staging: rtl8723bs: select CONFIG_CRYPTO_LIB_AES
| * c8b28c1276 perf python: Check if there is space to copy all the event
| * 5a393187e5 perf python: Don't keep a raw_data pointer to consumed ring buffer space
| * 5cf553ae38 perf python: Decrement the refcount of just created event on failure
| * e95f1c106d perf python: Fixup description of sample.id event member
| * 3d38144225 i3c: master: svc: Fix missing the IBI rules
| * b0686d0d76 um: remove copy_from_kernel_nofault_allowed
| * 142f89201e fuse: fix dax truncate/punch_hole fault path
| * a285180873 NFSv4: Don't trigger uneccessary scans for return-on-close delegations
| * a34f52b7d5 arch/powerpc: drop GENERIC_PTDUMP from mpc885_ads_defconfig
| * 11e24802e7 ocfs2: validate l_tree_depth to avoid out-of-bounds access
| * 7b9d5f73e7 kexec: initialize ELF lowest address to ULONG_MAX
| * 314f8fb911 perf units: Fix insufficient array space
| * b303aff1c5 perf evlist: Add success path to evlist__create_syswide_maps
| * 7098ae7ee2 iio: adc: ad7124: Fix comparison of channel configs
| * 1a14e9718a fs/ntfs3: Fix a couple integer overflows on 32bit systems
| * 1c80787ecd usb: xhci: correct debug message page size calculation
| * 7214c53e3c iio: accel: msa311: Fix failure to release runtime pm if direct mode claim fails.
| * 8bd1e85254 iio: accel: mma8452: Ensure error return on failure to matching oversampling ratio
| * cb385b93c8 coresight-etm4x: add isb() before reading the TRCSTATR
| * 90b7ad7678 coresight: catu: Fix number of pages while using 64k pages
| * b0201583c1 soundwire: slave: fix an OF node reference leak in soundwire slave device
| * 46b78bf04a isofs: fix KMSAN uninit-value bug in do_isofs_readdir()
| * be8a5aeccc clk: qcom: mmcc-sdm660: fix stuck video_subcore0 clock
| * d5c51c6445 crypto: hisilicon/sec2 - fix for aead auth key length
| * d224ed6e90 x86/dumpstack: Fix inaccurate unwinding from exception stacks due to misplaced assignment
| * d77be51484 mfd: sm501: Switch to BIT() to mitigate integer overflows
| * f1b9566851 pinctrl: renesas: rzv2m: Fix missing of_node_put() call
| * dc7139b703 RDMA/mlx5: Fix mlx5_poll_one() cur_qp update flow
| * 837adafac3 crypto: nx - Fix uninitialised hv_nxc on error
| * 37a73de168 power: supply: max77693: Fix wrong conversion of charge input threshold value
| * b92e9f7565 x86/entry: Fix ORC unwinder for PUSH_REGS with save_ret=1
| * bb2cb55064 clk: amlogic: g12a: fix mmc A peripheral clock
| * 99db751579 selftests/bpf: Select NUMA_NO_NODE to create map
| * 6ded8c22af clk: amlogic: gxbb: drop non existing 32k clock parent
| * 1f3fc107c8 clk: amlogic: g12b: fix cluster A parent data
| * 77fedd8ae4 pinctrl: tegra: Set SFIO mode to Mux Register
| * ae450da3e9 IB/mad: Check available slots before posting receive WRs
| * 29cb659bcf remoteproc: qcom_q6v5_mss: Handle platforms with one power domain
| * bc1db4d8f1 RDMA/erdma: Prevent use-after-free in erdma_accept_newconn()
| * 7844932c18 RDMA/mlx5: Fix calculation of total invalidated pages
| * d5212b9964 RDMA/core: Don't expose hw_counters outside of init net namespace
| * 816ce9f46d clk: rockchip: rk3328: fix wrong clk_ref_usb3otg parent
| * 7c9abc455b pinctrl: renesas: rzg2l: Fix missing of_node_put() call
| * dd5c97e4ed pinctrl: renesas: rza2: Fix missing of_node_put() call
| * 5a45035b09 lib: 842: Improve error handling in sw842_compress()
| * 8c6980c96d bpf: Use preempt_count() directly in bpf_send_signal_common()
| * 119bc7ed16 clk: qcom: gcc-msm8953: fix stuck venus0_core0 clock
| * 0fef48f4a7 clk: samsung: Fix UBSAN panic in samsung_clk_init()
| * 54380eea1f selftests/bpf: Fix string read in strncmp benchmark
| * 0144376d20 libbpf: Fix hypothetical STT_SECTION extern NULL deref case
| * 43ac40302d remoteproc: qcom_q6v5_pas: Make single-PD handling more robust
| * 062de5f4e4 of: property: Increase NR_FWNODE_REFERENCE_ARGS
| * e6015ca453 remoteproc: core: Clear table_sz when rproc_shutdown
| * 68e13ab1a0 crypto: hisilicon/sec2 - fix for aead authsize alignment
| * cb688aed24 clk: amlogic: gxbb: drop incorrect flag on 32k clock
| * 5170a857ce fbdev: sm501fb: Add some geometry checks.
| * b2f79f85b8 mdacon: rework dependency list
| * 2841dcc36f fbdev: au1100fb: Move a variable assignment behind a null pointer check
| * be78c69ca7 PCI: pciehp: Don't enable HPIE when resuming in poll mode
| * d953e2cd59 drm/amd/display: avoid NPD when ASIC does not support DMUB
| * 8dcd8b4210 drm/mediatek: dsi: fix error codes in mtk_dsi_host_transfer()
| * a4d0b76c65 PCI: xilinx-cpm: Fix IRQ domain leak in error path of probe
| * defab1c652 PCI: Remove stray put_device() in pci_register_host_bridge()
| * 1cabe832e7 drm/amd/display: fix type mismatch in CalculateDynamicMetadataParameters()
| * 32d12502d5 PCI: Avoid reset when disabled via sysfs
| * 933322e51a PCI/portdrv: Only disable pciehp interrupts early when needed
| * d68c455954 PCI: brcmstb: Fix potential premature regulator disabling
| * 99a0efba9f PCI: brcmstb: Fix error path after a call to regulator_bulk_get()
| * 5bb237a1f6 PCI: brcmstb: Use internal register to change link capability
| * 9ce67aa3c6 PCI: cadence-ep: Fix the driver to send MSG TLP for INTx without data payload
| * 07e7a7334e drm/msm/dsi: Set PHY usescase (and mode) before registering DSI host
| * cd4b075077 PCI/ASPM: Fix link state exit during switch upstream function removal
| * 4e9cefe830 drm/mediatek: mtk_hdmi: Fix typo for aud_sampe_size member
| * 61270882c5 drm/mediatek: mtk_hdmi: Unregister audio platform device on failure
| * c08869bf69 PCI: Use downstream bridges for distributing resources
| * 79d138d137 drm/vkms: Fix use after free and double free on init error
| * f3ce74cdee drm: xlnx: zynqmp: Fix max dma segment size
| * e713b514d2 drm/bridge: it6505: fix HDCP V match check is not performed correctly
| * 21daa13f7b drm/dp_mst: Fix drm RAD print
| * 1ef7b8c1be drm/bridge: ti-sn65dsi86: Fix multiple instances
| * 072833f1cb ASoC: ti: j721e-evm: Fix clock configuration for ti,j7200-cpb-audio compatible
| * c9c4db9307 ALSA: hda/realtek: Always honor no_shutup_pins
| * cb6d6a008e HID: remove superfluous (and wrong) Makefile entry for CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER
| * 67ec1fea52 ASoC: cs35l41: check the return value from spi_setup()
| * 2606757693 media: platform: allgro-dvt: unregister v4l2_device on the error path
| * aa5af83b2e media: verisilicon: HEVC: Initialize start_bit field
| * e7a2a34d34 x86/fpu/xstate: Fix inconsistencies in guest FPU xfeatures
| * 214965d1a6 perf/ring_buffer: Allow the EPOLLRDNORM flag for poll
| * 4210ca861f lockdep: Don't disable interrupts on RT in disable_irq_nosync_lockdep.*()
| * 72520ca5f9 PM: sleep: Fix handling devices with direct_complete set on errors
| * 6a810c462f thermal: int340x: Add NULL check for adev
| * 0e44e88754 EDAC/ie31200: Fix the error path order of ie31200_init()
| * 13479cf576 EDAC/ie31200: Fix the DIMM size mask for several SoCs
| * 0d6f98d27d EDAC/ie31200: Fix the size of EDAC_MC_LAYER_CHIP_SELECT layer
| * 89f6691cae selinux: Chain up tool resolving errors in install_policy.sh
| * 528a06fe98 PM: sleep: Adjust check before setting power.must_resume
| * 53d472f972 lockdep/mm: Fix might_fault() lockdep check of current->mm->mmap_lock
| * 2380b9f5aa x86/sev: Add missing RIP_REL_REF() invocations during sme_enable()
| * cbcd6c852c x86/platform: Only allow CONFIG_EISA for 32-bit
| * 92ce1ccbad x86/fpu: Avoid copying dynamic FP state from init_task in arch_dup_task_struct()
| * feec6cd973 x86/fpu: Fix guest FPU state buffer allocation size
| * a33ab15c5b cpufreq: governor: Fix negative 'idle_time' handling in dbs_update()
| * d6937b1b4a smack: dont compile ipv6 code unless ipv6 is configured
| * c678f0831b cpufreq: scpi: compare kHz instead of Hz
| * f33c3cb0c9 x86/mm/pat: cpa-test: fix length for CPA_ARRAY test
| * d40e353726 watch_queue: fix pipe accounting mismatch
* | 4878fe79fa Merge 6.1.133 into android14-6.1-lts
|\|
| * 3dfebb87d7 Linux 6.1.133
| * f6c086a79d ARM: dts: imx6qdl-apalis: Fix poweroff on Apalis iMX6
| * 04d1086a62 media: i2c: et8ek8: Don't strip remove function when driver is builtin
| * 7a735a8a46 usb: typec: ucsi: Fix NULL pointer access
| * 03fa71e97e usb: gadget: uvc: Fix ERR_PTR dereference in uvc_v4l2.c
| * 1a8d68ca77 serial: 8250_dma: terminate correct DMA in tx_dma_flush()
| * 52d942a530 memstick: rtsx_usb_ms: Fix slab-use-after-free in rtsx_usb_ms_drv_remove
| * 07f8bdce68 net: usb: usbnet: restore usb%d name exception for local mac addresses
| * 794aad077c net: usb: qmi_wwan: add Telit Cinterion FE990B composition
| * 8d333fc96c net: usb: qmi_wwan: add Telit Cinterion FN990B composition
| * eb7cfa77f5 tty: serial: 8250: Add Brainboxes XC devices
| * ded9ea3814 tty: serial: 8250: Add some more device IDs
| * 79aafdf639 counter: microchip-tcb-capture: Fix undefined counter channel state on probe
| * e0d57d078b counter: stm32-lptimer-cnt: fix error handling when enabling
| * ccd744ac54 ALSA: hda/realtek: Support mute LED on HP Laptop 15s-du3xxx
| * 1ec43100f7 netfilter: socket: Lookup orig tuple for IPv6 SNAT
| * 04805efe86 drm/amd/display: Check denominator crb_pipes before used
| * 79e5030717 ARM: Remove address checking for MMUless devices
| * 01469773db ARM: 9351/1: fault: Add "cut here" line for prefetch aborts
| * 756992b8d5 ARM: 9350/1: fault: Implement copy_from_kernel_nofault_allowed()
| * 0ef6e49881 atm: Fix NULL pointer dereference
| * 7582e135f5 HID: hid-plantronics: Add mic mute mapping and generalize quirks
| * e43621ca43 ALSA: usb-audio: Add quirk for Plantronics headsets to fix control names
* | e3b905a701 Merge 6.1.132 into android14-6.1-lts
|\|
| * 8e60a714ba Linux 6.1.132
| * 662254a334 xfs: give xfs_extfree_intent its own perag reference
| * 7400fa1729 block, bfq: fix re-introduced UAF in bic_set_bfqq()
| * 49100c0b07 mm/migrate: fix shmem xarray update during migration
| * 4903303f25 wifi: iwlwifi: mvm: ensure offloading TID queue exists
| * 406a037d93 fs/ntfs3: Change new sparse cluster processing
| * 2e13f88e01 drm/amdgpu: fix use-after-free bug
| * 5cfcd32b23 arm64: dts: rockchip: fix u2phy1_host status for NanoPi R4S
| * 4e0713c79c media: mediatek: vcodec: Fix VP8 stateless decoder smatch warning
| * a12bd67510 drm/mediatek: Fix coverity issue with unintentional integer overflow
| * 2d4a7a091f netfilter: nft_counter: Use u64_stats_t for statistic.
| * 4375eee347 mptcp: Fix data stream corruption in the address announcement
| * 19e85e06a0 drm/amd/display: Use HW lock mgr for PSR1 when only one eDP
| * 9c4e202abf ksmbd: fix incorrect validation for num_aces field of smb_acl
| * a94ad20b07 drm/amdgpu: Fix JPEG video caps max size for navi1x and raven
| * 78b07dada3 drm/radeon: fix uninitialized size issue in radeon_vce_cs_parse()
| * 0a566a79ac soc: qcom: pdr: Fix the potential deadlock
| * 7993ad7722 batman-adv: Ignore own maximum aggregation size during RX
| * 205649d642 xsk: fix an integer overflow in xp_create_and_assign_umem()
| * ccb4aef2e7 efi/libstub: Avoid physical address 0x0 when doing random allocation
| * 1091f78287 ARM: shmobile: smp: Enforce shmobile_smp_* alignment
| * 966f331403 proc: fix UAF in proc_get_inode()
| * b9a1c6e888 mmc: atmel-mci: Add missing clk_disable_unprepare()
| * be320c2666 mmc: sdhci-brcmstb: add cqhci suspend/resume to PM ops
| * ea034e2469 arm64: dts: freescale: imx8mm-verdin-dahlia: add Microphone Jack to sound card
| * 270fe5c090 regulator: check that dummy regulator has been probed before using it
| * 83387073e5 drm/v3d: Don't run jobs that have errors flagged in its fence
| * 0bd1486e4b can: flexcan: disable transceiver during system PM
| * 06ffbb4d98 can: flexcan: only change CAN state when link up in system PM
| * a8a89a6d37 can: rcar_canfd: Fix page entries in the AFL list
| * 78f6d8f8fc i2c: omap: fix IRQ storms
| * 18f162e1de Revert "gre: Fix IPv6 link-local address generation."
| * 04c3f729cf net/neighbor: add missing policy for NDTPA_QUEUE_LENBYTES
| * 47e88c6c3c net: lwtunnel: fix recursion loops
| * 51e8be9578 net: atm: fix use after free in lec_send()
| * 9dac3f194a ipv6: Set errno after ip_fib_metrics_init() in ip6_route_info_create().
| * 77c41cdbe6 ipv6: Fix memleak of nhc_pcpu_rth_output in fib_check_nh_v6_gw().
| * 788ae2ae4c Bluetooth: Fix error code in chan_alloc_skb_cb()
| * 2c160e6868 RDMA/hns: Fix wrong value of max_sge_rd
| * 7b2603ab2f RDMA/hns: Fix a missing rollback in error path of hns_roce_create_qp_common()
| * 21c3be4924 RDMA/hns: Fix unmatched condition in error path of alloc_user_qp_db()
| * 4104b0023f RDMA/hns: Fix soft lockup during bt pages loop
| * 652393caf0 RDMA/bnxt_re: Avoid clearing VLAN_ID mask in modify qp path
| * 3a86ceccad ARM: dts: bcm2711: Don't mark timer regs unconfigured
| * 8c936723a4 ARM: OMAP1: select CONFIG_GENERIC_IRQ_CHIP
| * eb0b0b729a RDMA/bnxt_re: Add missing paranthesis in map_qp_id_to_tbl_indx
| * 06c5caadc5 ARM: dts: bcm2711: PL011 UARTs are actually r1p5
| * e4ab889d8b soc: imx8m: Unregister cpufreq and soc dev in cleanup path
| * 296d16538d soc: imx8m: Use devm_* to simplify probe failure handling
| * 44f9ffc1fe soc: imx8m: Remove global soc_uid
| * e7d05cf159 xfrm_output: Force software GSO only in tunnel mode
| * 0f80c9692a arm64: dts: freescale: tqma8mpql: Fix vqmmc-supply
| * 177deffb75 firmware: imx-scu: fix OF node leak in .probe()
| * f4a60d360d smb: client: fix potential UAF in cifs_dump_full_key()
| * e0a545bb4a nvme-tcp: Fix a C2HTermReq error message
| * 66d148204e HID: apple: disable Fn key handling on the Omoton KB066
| * dda134d117 smb: client: Fix match_session bug preventing session reuse
| * 98bbcf4cca smb3: add support for IAKerb
| * 0f928c11e7 arm64: mm: Populate vmemmap at the page level if not section aligned
| * b801f52437 i2c: sis630: Fix an error handling path in sis630_probe()
| * f5955987f4 i2c: ali15x3: Fix an error handling path in ali15x3_probe()
| * aa1788edee i2c: ali1535: Fix an error handling path in ali1535_probe()
| * 9968fcf02c cifs: Fix integer overflow while processing closetimeo mount option
| * 531cebb515 cifs: Fix integer overflow while processing actimeo mount option
| * 39d086bb35 cifs: Fix integer overflow while processing acdirmax mount option
| * dd190168e6 cifs: Fix integer overflow while processing acregmax mount option
| * 78cc9c3304 scripts: generate_rust_analyzer: add missing macros deps
| * d7cfc1a42f scripts: generate_rust_analyzer: provide `cfg`s for `core` and `alloc`
| * 88a96a6fb1 scripts: `make rust-analyzer` for out-of-tree modules
| * d266fc89bc scripts: generate_rust_analyzer: Handle sub-modules with no Makefile
* | 919facc02c Merge 99ddc1491b ("ASoC: codecs: wm0010: Fix error handling path in wm0010_spi_probe()") into android14-6.1-lts
|\|
| * 99ddc1491b ASoC: codecs: wm0010: Fix error handling path in wm0010_spi_probe()
| * 0f0302c5fe drm/gma500: Add NULL check for pci_gfx_root in mid_get_vbt_data()
| * 694110bc24 ASoC: ops: Consistently treat platform_max as control value
| * 618c6ce834 leds: mlxreg: Use devm_mutex_init() for mutex initialization
* | 6151e5151b Revert "tcp: fix races in tcp_abort()"
* | 0f8bbe98f1 Revert "tcp: fix forever orphan socket caused by tcp_abort"
* | c5f96457ad Merge b753821e06 ("tcp: fix forever orphan socket caused by tcp_abort") into android14-6.1-lts
|\|
| * b753821e06 tcp: fix forever orphan socket caused by tcp_abort
* | 1231f555d1 Merge cae9d2b162 ("tcp: fix races in tcp_abort()") into android14-6.1-lts
|\|
| * cae9d2b162 tcp: fix races in tcp_abort()
* | e6079359f7 Merge f9d0a13727 ("lib/buildid: Handle memfd_secret() files in build_id_parse()") into android14-6.1-lts
|\|
| * f9d0a13727 lib/buildid: Handle memfd_secret() files in build_id_parse()
| * 52229ebbe0 rust: Disallow BTF generation with Rust + LTO
| * d8bc07d16b qlcnic: fix memory leak issues in qlcnic_sriov_common.c
| * 7c461a5fb8 ASoC: amd: yc: Support mic on another Lenovo ThinkPad E16 Gen 2 model
| * fa0809bb2a clk: samsung: update PLL locktime for PLL142XX used on FSD platform
* | b2b62f9ec8 Merge 4964dbc419 ("drm/amd/display: Fix slab-use-after-free on hdcp_work") into android14-6.1-lts
|\|
| * 4964dbc419 drm/amd/display: Fix slab-use-after-free on hdcp_work
| * dc831b3868 drm/amd/display: Assign normalized_pix_clk when color depth = 14
| * 889e55f2fa drm/amd/display: Restore correct backlight brightness after a GPU reset
| * e8aeee0d12 drm/dp_mst: Fix locking when skipping CSN before topology probing
| * d2ab95b8c3 drm/atomic: Filter out redundant DPMS calls
| * ec52240622 x86/microcode/AMD: Fix out-of-bounds on systems with CPU-less NUMA nodes
| * 61a9561642 USB: serial: option: match on interface class for Telit FN990B
| * 7dad504810 USB: serial: option: fix Telit Cinterion FE990A name
| * bb03a80e67 USB: serial: option: add Telit Cinterion FE990B compositions
| * 58f4fbe6d6 USB: serial: ftdi_sio: add support for Altera USB Blaster 3
* | 39fddf40eb Merge 870e3066fe ("Input: i8042 - swap old quirk combination with new quirk for more devices") into android14-6.1-lts
|\|
| * 870e3066fe Input: i8042 - swap old quirk combination with new quirk for more devices
| * e2ff9a5f7a Input: i8042 - swap old quirk combination with new quirk for several devices
| * c08785b0bd Input: i8042 - add required quirks for missing old boardnames
| * 24af158fe2 Input: i8042 - swap old quirk combination with new quirk for NHxxRZQ
| * dd889e6a4e xfs: remove conditional building of rt geometry validator functions
| * 23b8ab0c8e xfs: reset XFS_ATTR_INCOMPLETE filter on node removal
| * 858c9d5278 xfs: update dir3 leaf block metadata after swap
| * a904118d7b xfs: ensure logflagsp is initialized in xfs_bmap_del_extent_real
| * 6c20890ebf xfs: fix perag leak when growfs fails
| * 4f4e046caa xfs: add lock protection when remove perag from radix tree
| * 6587549b08 xfs: initialise di_crc in xfs_log_dinode
| * 87988e80b6 xfs: force all buffers to be written during btree bulk load
| * ec1d3a6899 xfs: recompute growfsrtfree transaction reservation while growing rt volume
| * 072a9c45d2 xfs: remove unused fields from struct xbtree_ifakeroot
| * 5c29b06524 xfs: don't allow overly small or large realtime volumes
| * 7d568f9d0f xfs: fix 32-bit truncation in xfs_compute_rextslog
| * 6a258245c5 xfs: make rextslog computation consistent with mkfs
| * f7a1233bb0 xfs: don't leak recovered attri intent items
| * c3c049984c xfs: consider minlen sized extents in xfs_rtallocate_extent_block
| * e377031115 xfs: convert rt bitmap extent lengths to xfs_rtbxlen_t
| * 6744e7b06c xfs: move the xfs_rtbitmap.c declarations to xfs_rtbitmap.h
| * a64e7b6cd1 xfs: reserve less log space when recovering log intent items
| * 5d6f3d30a4 xfs: use deferred frees for btree block freeing
| * ec35f7567b xfs: fix bounds check in xfs_defer_agfl_block()
| * fa91c6969d xfs: validate block number being freed before adding to xefi
| * ec81c519e7 xfs: pass per-ag references to xfs_free_extent
| * ab3b2a70c4 xfs: pass the xfs_bmbt_irec directly through the log intent code
| * e0e440bfea xfs: fix confusing xfs_extent_item variable names
| * 5b99dcc147 xfs: pass xfs_extent_free_item directly through the log intent code
| * 80cca6ecc9 xfs: pass refcount intent directly through the log intent code
* | 01ad57e248 Merge 9135df0218 ("io_uring: fix corner case forgetting to vunmap") into android14-6.1-lts
|\|
| * 9135df0218 io_uring: fix corner case forgetting to vunmap
| * 50edea7d4c io_uring: don't attempt to mmap larger than what the user asks for
* | abd5ee4e51 ANDROID: GKI: Update .stg file based on io_ring_ctx internal change
* | 4076744180 ANDROID: GKI: fix build breakage in io_uring during 6.1.132 merge
* | e561be4096 Merge 9aeb68337a ("io_uring: get rid of remap_pfn_range() for mapping rings/sqes") into android14-6.1-lts
|\|
| * 9aeb68337a io_uring: get rid of remap_pfn_range() for mapping rings/sqes
* | 1627bf5242 Merge 7710c04d34 ("mm: add nommu variant of vm_insert_pages()") into android14-6.1-lts
|\|
| * 7710c04d34 mm: add nommu variant of vm_insert_pages()
* | efc6c26b16 Merge a00113dc99 ("io_uring: add ring freeing helper") into android14-6.1-lts
|\|
| * a00113dc99 io_uring: add ring freeing helper
* | 468df534e5 Merge 63e6dc6172 ("io_uring: return error pointer from io_mem_alloc()") into android14-6.1-lts
|\|
| * 63e6dc6172 io_uring: return error pointer from io_mem_alloc()
* | bcca1a4a2a Merge 8cc4da21a2 ("block: fix 'kmem_cache of name 'bio-108' already exists'") into android14-6.1-lts
|\|
| * 8cc4da21a2 block: fix 'kmem_cache of name 'bio-108' already exists'
| * 82be3cb72b drm/nouveau: Do not override forced connector status
| * 3c6e077b2a mptcp: safety check before fallback
| * 452382b273 x86/irq: Define trace events conditionally
| * 9bd4fa7b52 perf/x86/intel: Use better start period for frequency mode
| * 3cb53dd557 fuse: don't truncate cached, mutated symlink
| * 5c5194a096 ASoC: tas2764: Set the SDOUT polarity correctly
| * 12566097c9 ASoC: tas2764: Fix power control mask
| * 55132107fa ASoC: tas2770: Fix volume scale
| * 8c6715b24a nvme: only allow entering LIVE from CONNECTING state
| * 638ffdc4ad sctp: Fix undefined behavior in left shift operation
| * cd3f60e499 nvmet-rdma: recheck queue state is LIVE in state lock in recv done
| * 6eea8a5c1c nvme-tcp: add basic support for the C2HTermReq PDU
| * f404cc4cde nvme-pci: quirk Acer FA100 for non-uniqueue identifiers
| * d81ee62948 net: wwan: mhi_wwan_mbim: Silence sequence number glitch errors
| * e6607c7008 ASoC: SOF: Intel: hda: add softdep pre to snd-hda-codec-hdmi module
| * 5d2ca607ad ASoC: arizona/madera: use fsleep() in up/down DAPM event delays.
| * 17458c1193 ASoC: rsnd: adjust convert rate limitation
| * 1ffc9e9423 ASoC: rsnd: don't indicate warning on rsnd_kctrl_accept_runtime()
| * ce0bdc1a74 ALSA: hda/realtek: Limit mic boost on Positivo ARN50
| * 1a95cff6e1 Xen/swiotlb: mark xen_swiotlb_fixup() __init
| * 6c31c8761a thermal/cpufreq_cooling: Remove structure member documentation
| * 4d293411ad s390/cio: Fix CHPID "configure" attribute caching
| * 4209d21f6f platform/x86: thinkpad_acpi: Support for V9 DYTC platform profiles
| * 96850a2a90 platform/x86: thinkpad_acpi: Fix invalid fan speed on ThinkPad X120e
| * 5932970c3f sched: Clarify wake_up_q()'s write to task->wake_q.next
| * 62a4c7ac84 HID: apple: fix up the F6 key on the Omoton KB066 keyboard
| * b3047f4c4a HID: hid-apple: Apple Magic Keyboard a3203 USB-C support
| * 9acdb0059f HID: ignore non-functional sensor in HP 5MP Camera
| * 3358a3dee6 HID: intel-ish-hid: Send clock sync message immediately after reset
| * fc16b17906 HID: intel-ish-hid: fix the length of MNG_SYNC_FW_CLOCK in doorbell
| * 89811c6208 vboxsf: fix building with GCC 15
| * 936041b69a alpha/elf: Fix misc/setarch test of util-linux by removing 32bit support
| * 6bbed0b3ad smb: client: fix noisy when tree connecting to DFS interlink targets
| * ae45fe47cc ACPI: resource: IRQ override for Eluktronics MECH-17
| * 24602e2664 scsi: qla1280: Fix kernel oops when debug level > 2
| * 6d816086d7 scsi: core: Use GFP_NOIO to avoid circular locking dependency
| * 9bfa80c8aa iscsi_ibft: Fix UBSAN shift-out-of-bounds warning in ibft_attr_show_nic()
| * e4beb8aa35 powercap: call put_device() on an error path in powercap_register_control_type()
| * 86f653f37b hrtimers: Mark is_migration_base() with __always_inline
| * db1daaca25 nvme-fc: go straight to connecting state when initializing
| * 39e507d4f4 net/mlx5e: Prevent bridge link show failure for non-eswitch-allowed devices
| * 86ff45f5f6 net/mlx5: Bridge, fix the crash caused by LAG state check
| * 2532adbfe9 net: openvswitch: remove misbehaving actions length check
| * b309e75426 gre: Fix IPv6 link-local address generation.
| * 42d5b131da netfilter: nft_exthdr: fix offset with ipv4_find_option()
| * e5ee00607b net_sched: Prevent creation of classes with TC_H_ROOT
| * 917e520430 ipvs: prevent integer overflow in do_ip_vs_get_ctl()
| * a62a25c6ad netfilter: nf_conncount: Fully initialize struct nf_conncount_tuple in insert_tree()
| * 418119dd3f bonding: fix incorrect MAC address setting to receive NS messages
| * af757f5ee3 net: switchdev: Convert blocking notification chain to a raw one
| * e8e3e03d69 eth: bnxt: do not update checksum in bnxt_xdp_build_skb()
| * 1598307c91 net/mlx5: handle errors in mlx5_chains_create_table()
| * 1c954950f8 Drivers: hv: vmbus: Don't release fb_mmio resource in vmbus_free_mmio()
| * c40cd24bfb drm/hyperv: Fix address space leak when Hyper-V DRM device is removed
| * 486033f577 netpoll: hold rcu read lock in __netpoll_send_skb()
| * c49e91520d net: mctp i2c: Copy headers if cloned
| * 95b5304073 net: dsa: mv88e6xxx: Verify after ATU Load ops
| * 55a173e49f Revert "Bluetooth: hci_core: Fix sleeping function called from invalid context"
| * 79d50ce658 Bluetooth: hci_event: Fix enabling passive scanning
| * 0272d4af7f wifi: cfg80211: cancel wiphy_work before freeing wiphy
| * d02c9acd68 sched: address a potential NULL pointer dereference in the GRED scheduler.
| * 4fe9566512 netfilter: nf_conncount: garbage collection is not skipped when jiffies wrap around
| * fcbacc47d1 ice: fix memory leak in aRFS after reset
| * 7a91926c76 netfilter: nft_ct: Use __refcount_inc() for per-CPU nft_ct_pcpu_template.
| * 5f7f8d9d46 pinctrl: bcm281xx: Fix incorrect regmap max_registers value
| * 01e8a8111b fbdev: hyperv_fb: iounmap() the correct memory when removing a device
| * f9c572d02f fs/ntfs3: Fix shift-out-of-bounds in ntfs_fill_super
| * 4c3712c15f hrtimer: Use and report correct timerslack values for realtime tasks
| * ba181019d1 sched/isolation: Prevent boot crash when the boot CPU is nohz_full
| * 65ae99b51e clockevents/drivers/i8253: Fix stop sequence for timer 0
* | 7c1a694998 Merge 6.1.131 into android14-6.1-lts
|\|
| * 344a096597 Linux 6.1.131
| * 5c0729c4c5 kbuild: userprogs: use correct lld when linking through clang
| * 631e00fdac vsock: Orphan socket after transport release
| * 42b33381e5 vsock: Keep the binding until socket destruction
| * 13a4362ab8 bpf, vsock: Invoke proto::close on close()
| * effac69091 fs/ntfs3: Add rough attr alloc_size check
| * dbd3e4adb9 media: mediatek: vcodec: Handle invalid decoder vsi
| * 30652c8ceb scsi: lpfc: Fix a possible data race in lpfc_unregister_fcf_rescan()
| * 1ee2d454ba nilfs2: handle errors that nilfs_prepare_chunk() may return
| * 982319391e nilfs2: eliminate staggered calls to kunmap in nilfs_rename
| * c38a305f2b nilfs2: move page release outside of nilfs_delete_entry and nilfs_set_link
| * c07bfa44f9 spi-mxs: Fix chipselect glitch
| * 260c0566e1 x86/mm: Don't disable PCID when INVLPG has been fixed by microcode
| * de03a57b5c uprobes: Fix race in uprobe_free_utask
| * 0084a61db6 Revert "KVM: PPC: e500: Mark "struct page" dirty in kvmppc_e500_shadow_map()"
| * 20228df372 Revert "KVM: PPC: e500: Mark "struct page" pfn accessed before dropping mmu_lock"
| * 44603dee08 Revert "KVM: PPC: e500: Use __kvm_faultin_pfn() to handle page faults"
| * e7d343986a Revert "KVM: e500: always restore irqs"
| * 3fa1370826 ALSA: hda: realtek: fix incorrect IS_REACHABLE() usage
| * 8427e0b5c1 iio: adc: at91-sama5d2_adc: fix sama7g5 realbits value
| * a4ee0bee3d iio: dac: ad3552r: clear reset status flag
| * 22638b6fc1 iio: filter: admv8818: Force initialization of SDO
| * 524f29d78c drivers: virt: acrn: hsm: Use kzalloc to avoid info leak in pmcmd_ioctl
| * bbfb0cfdfd eeprom: digsy_mtc: Make GPIO lookup table match the device
| * 7a5ffadd54 bus: mhi: host: pci_generic: Use pci_try_reset_function() to avoid deadlock
| * 18ae4cee05 slimbus: messaging: Free transaction ID in delayed interrupt scenario
| * dbd2dc4716 drivers: core: fix device leak in __fw_devlink_relax_cycles()
| * e130e85633 intel_th: pci: Add Panther Lake-P/U support
| * 926c07237e intel_th: pci: Add Panther Lake-H support
| * f630ab2c95 intel_th: pci: Add Arrow Lake support
| * f42cd9f2c2 mei: me: add panther lake P DID
| * 0ce61dbca7 KVM: SVM: Drop DEBUGCTL[5:2] from guest's effective value
| * 4a12b6c062 usb: xhci: Enable the TRB overfetch quirk on VIA VL805
| * 9692a67062 xhci: pci: Fix indentation in the PCI device ID definitions
| * 18f827128b usb: gadget: Check bmAttributes only if configuration is valid
| * 79d07d7f30 usb: gadget: Fix setting self-powered state on suspend
| * b589d49945 usb: gadget: Set self-powered based on MaxPower and bmAttributes
| * ceafde7ce3 usb: typec: tcpci_rt1711h: Unmask alert interrupts to fix functionality
| * 871d6eaaff usb: typec: ucsi: increase timeout for PPM reset operations
| * a9fa9f461f usb: dwc3: gadget: Prevent irq storm when TH re-executes
| * d8e4783444 usb: dwc3: Set SUSPENDENABLE soon after phy init
| * 197e78076c usb: atm: cxacru: fix a flaw in existing endpoint checks
| * 4ca078084c usb: renesas_usbhs: Flush the notify_hotplug_work
| * ad379788a5 usb: quirks: Add DELAY_INIT and NO_LPM for Prolific Mass Storage Card Reader
| * bd7072aefd usb: hub: lack of clearing xHC resources
| * f2ae16f71b usb: renesas_usbhs: Use devm_usb_get_phy()
| * 3d7f7a149c usb: renesas_usbhs: Call clk_put()
| * a55aa36d45 Revert "drivers/card_reader/rtsx_usb: Restore interrupt based detection"
| * 1f59fc0d00 gpio: rcar: Fix missing of_node_put() call
| * 09418e5946 net: ipv6: fix missing dst ref drop in ila lwtunnel
| * e8defaef4c net: ipv6: fix dst ref loop in ila lwtunnel
| * 000c9ee439 sched/fair: Fix potential memory corruption in child_cfs_rq_on_list
| * 6aae16a973 ublk: set_params: properly check if parameters can be applied
| * acbcb74ee0 net-timestamp: support TCP GSO case for a few missing flags
| * bb08e1d61b exfat: fix soft lockup in exfat_clear_bitmap
| * 2b0cbcf852 x86/sgx: Fix size overflows in sgx_encl_create()
| * 5a515d13e1 vlan: enforce underlying device type
| * 3de809a768 ppp: Fix KMSAN uninit-value warning with bpf
| * 33244e98aa net: hns3: make sure ptp clock is unregister and freed if hclge_ptp_get_cycle returns an error
| * 4393452e6c be2net: fix sleeping while atomic bugs in be_ndo_bridge_getlink
| * 957d8036f8 drm/sched: Fix preprocessor guard
| * f463358c61 hwmon: fix a NULL vs IS_ERR_OR_NULL() check in xgene_hwmon_probe()
| * 17f86e2543 llc: do not use skb_get() before dev_queue_xmit()
| * 48eb7e67c1 ALSA: usx2y: validate nrpacks module parameter on probe
| * 7d0f113aad hwmon: (ad7314) Validate leading zero bits and return error
| * 2903c12261 hwmon: (ntc_thermistor) Fix the ncpXXxh103 sensor table
| * afaf7f4516 hwmon: (pmbus) Initialise page count in pmbus_identify()
| * 29e0cd296c caif_virtio: fix wrong pointer check in cfv_probe()
| * e8db705378 net: gso: fix ownership in __udp_gso_segment
| * 4d1a05cc0b nvmet-tcp: Fix a possible sporadic response drops in weakly ordered arch
| * f5631307e3 bluetooth: btusb: Initialize .owner field of force_poll_sync_fops
| * cf1a6015d2 HID: intel-ish-hid: Fix use-after-free issue in ishtp_hid_remove()
| * 52488583e7 HID: google: fix unused variable warning under !CONFIG_ACPI
| * 88ed69f924 wifi: iwlwifi: limit printed string from FW file
| * 90c30bed20 mm: don't skip arch_sync_kernel_mappings() in error paths
| * d0f491ccfd mm/page_alloc: fix uninitialized variable
| * 30f67c1048 block: fix conversion of GPT partition name to 7-bit
| * d09cf51421 s390/traps: Fix test_monitor_call() inline assembly
| * 469761d254 dma: kmsan: export kmsan_handle_dma() for modules
| * a5f5e520e8 rapidio: fix an API misues when rio_add_net() fails
| * ad82be4298 rapidio: add check for rio_add_net() in rio_scan_alloc_net()
| * 236f41ca72 wifi: nl80211: reject cooked mode if it is set along with other flags
| * f4112cb477 wifi: cfg80211: regulatory: improve invalid hints checking
| * dc516e66fb Bluetooth: Add check for mgmt_alloc_skb() in mgmt_device_connected()
| * 37785a0104 Bluetooth: Add check for mgmt_alloc_skb() in mgmt_remote_name()
| * f1404f368c mptcp: fix 'scheduling while atomic' in mptcp_pm_nl_append_new_local_addr
| * 9ccee498a8 x86/cpu: Properly parse CPUID leaf 0x2 TLB descriptor 0x63
| * 336ab3ea08 x86/cpu: Validate CPUID leaf 0x2 EDX output
| * cfe0ecf6ce x86/cacheinfo: Validate CPUID leaf 0x2 EDX output
| * 85e3d5ba5d platform/x86: thinkpad_acpi: Add battery quirk for ThinkPad X131e
| * 15e3a8cc4e drm/radeon: Fix rs400_gpu_init for ATI mobility radeon Xpress 200M
| * c1e54752dc drm/amd/display: Fix null check for pipe_ctx->plane_state in resource_build_scaling_params
| * 010cd94654 ALSA: hda/realtek: update ALC222 depop optimize
| * dc209114b2 ALSA: hda/realtek - add supported Mic Mute LED for Lenovo platform
| * 4115d28c04 ALSA: hda: intel: Add Dell ALC3271 to power_save denylist
| * 9334c88fc2 gpio: aggregator: protect driver attr handlers against module unload
| * 3e300913c4 gpio: rcar: Use raw_spinlock to protect register access
| * 11e0e74e14 ksmbd: fix bug on trap in smb2_lock
| * 410ce35a2e ksmbd: fix use-after-free in smb2_lock
| * 6321bbda42 ksmbd: fix type confusion via race condition when using ipc_msg_send_request
| * 8d39eb8c5e HID: appleir: Fix potential NULL dereference at raw event handle
| * 12333d3362 LoongArch: Convert unreachable() to BUG()
| * 4b46c6e1ed Revert "of: reserved-memory: Fix using wrong number of cells to get property 'alignment'"
| * 0c65d13bdc x86/amd_nb: Use rdmsr_safe() in amd_get_mmconfig_range()
| * 2ff298cca9 x86/speculation: Add __update_spec_ctrl() helper
| * d2d7ee96cc cpuidle, intel_idle: Fix CPUIDLE_FLAG_IBRS
| * b3b35ff81e drm/amdgpu: disable BAR resize on Dell G5 SE
| * b0b6f8b533 drm/amdgpu: Check extended configuration space register when system uses large bar
| * c2b3f2af0a ibmvnic: Inspect header requirements before using scrq direct
| * 30875b69e3 ibmvnic: Perform tx CSO during send scrq direct
* | 727d125cb5 ANDROID: GKI: fix crc change in __icmp_send
* | 193ff8b1d4 Merge branch 'android14-6.1' into android14-6.1-lts
* | a54c40cad2 Merge 6.1.130 into android14-6.1-lts
|\|
| * 6ae7ac5c42 Linux 6.1.130
| * eeb62bb4ca media: mtk-vcodec: potential null pointer deference in SCP
| * 020ecb7681 pfifo_tail_enqueue: Drop new packet when sch->limit == 0
| * 5b99dea796 Squashfs: check the inode number is not the invalid value of zero
| * c72eda07d1 mm/memory: Use exception ip to search exception tables
| * 7b425f542f ptrace: Introduce exception_ip arch hook
| * ef3bc90758 intel_idle: Handle older CPUs, which stop the TSC in deeper C states, correctly
| * b6eac41932 amdgpu/pm/legacy: fix suspend/resume issues
| * 070fda699d drm/amd/display: fixed integer types and null check locations
| * ee3ab05cf7 riscv/futex: sign extend compare value in atomic cmpxchg
| * 84586322e0 sched/core: Prevent rescheduling when interrupts are disabled
| * 8ada478c44 vmlinux.lds: Ensure that const vars with relocations are mapped R/O
| * 1489b2dd23 mptcp: reset when MPTCP opts are dropped after join
| * 8116fb4acd mptcp: always handle address removal under msk socket lock
| * f19009e4c7 phy: exynos5-usbdrd: fix MPLL_MULTIPLIER and SSC_REFCLKSEL masks in refclk
| * 14d1a86563 phy: tegra: xusb: reset VBUS & ID OVERRIDE
| * 39f843e486 net: enetc: fix the off-by-one issue in enetc_map_tx_tso_buffs()
| * 45b8d6ce93 net: enetc: correct the xdp_tx statistics
| * 88304bb7b3 net: enetc: update UDP checksum when updating originTimestamp field
| * c55a98def7 net: enetc: keep track of correct Tx BD count in enetc_map_tx_tso_buffs()
| * 046e2669e9 net: enetc: fix the off-by-one issue in enetc_map_tx_buffs()
| * 67ebc3391c usbnet: gl620a: fix endpoint checking in genelink_bind()
| * 545b563eb0 i2c: npcm: disable interrupt enable bit before devm_request_irq
| * abb00a9a85 drm/amd/display: Fix HPD after gpu reset
| * 64f3a3523d drm/amd/display: Disable PSR-SU on eDP panels
| * 295fadbd3e perf/core: Fix low freq setting via IOC_PERIOD
| * 25a9171d9a perf/x86: Fix low freqency setting issue
| * 3b8c444e5d ALSA: usb-audio: Re-add sample rate quirk for Pioneer DJM-900NXS2
| * 9927752278 ftrace: Avoid potential division by zero in function_stat_show()
| * 5ae1b18f05 tracing: Fix bad hist from corrupting named_triggers list
| * 950866c9a1 phy: rockchip: naneng-combphy: compatible reset with old DT
| * 776eaba5b6 x86/CPU: Fix warm boot hang regression on AMD SC1100 SoC systems
| * 93cff66ff0 io_uring/net: save msg_control for compat
| * c4cb2bfa99 uprobes: Reject the shared zeropage in uprobe_write_opcode()
| * 476c1dfefa mm: Don't pin ZERO_PAGE in pin_user_pages()
| * cffd76d4e9 net: ipv6: fix dst ref loop on input in rpl lwt
| * 4c12c3c8ab net: ipv6: rpl_iptunnel: mitigate 2-realloc issue
| * 7f9aabbadf net: ipv6: fix dst ref loop on input in seg6 lwt
| * c447c5a9c4 net: ipv6: seg6_iptunnel: mitigate 2-realloc issue
| * daff29e076 include: net: add static inline dst_dev_overhead() to dst.h
| * cd60e8edfc net/mlx5: IRQ, Fix null string in debug print
| * 36c72334bf net: mvpp2: cls: Fixed Non IP flow, with vlan tag flow defination.
| * 320cb2d549 net: Clear old fragment checksum value in napi_reuse_skb
| * 57cf8c5a7a tcp: Defer ts_recent changes until req is owned
| * be5a87bd83 ipvs: Always clear ipvs_property flag in skb_scrub_packet()
| * 09e9fe147e ASoC: es8328: fix route from DAC to output
| * 90ed67b03a net: cadence: macb: Synchronize stats calculations
| * 5b8dea8d16 ipvlan: ensure network headers are in skb linear part
| * 7a62b1e441 ipvlan: Prepare ipvlan_process_v4_outbound() to future .flowi4_tos conversion.
| * 3e8520bca5 ipv4: Convert ip_route_input() to dscp_t.
| * 671fcbf9d1 ipv4: Convert icmp_route_lookup() to dscp_t.
| * ab5c0db825 ipvlan: Unmask upper DSCP bits in ipvlan_process_v4_outbound()
| * eaba5f6743 ipv4: icmp: Unmask upper DSCP bits in icmp_route_lookup()
| * 28e46a8c21 ipv4: icmp: Pass full DS field to ip_route_input()
| * 524c341cb1 net/ipv4: add tracepoint for icmp_send
| * 1774ba1faa net: set the minimum for net_hotdata.netdev_budget_usecs
| * 461fb89121 net: loopback: Avoid sending IP packets without an Ethernet header
| * 3f0ecb5b1b afs: Fix the server_list to unuse a displaced server rather than putting it
| * 1dac4025eb afs: Make it possible to find the volumes that are using a server
| * 916e5a561e afs: remove variable nr_servers
| * 31caad0f59 Bluetooth: L2CAP: Fix L2CAP_ECRED_CONN_RSP response
| * 4eb6de4176 ALSA: usb-audio: Avoid dropping MIDI events at closing multiple ports
| * ddb610241b sunrpc: suppress warnings for unused procfs functions
| * 7051b8df67 RDMA/mlx5: Fix bind QP error cleanup flow
| * 0282f5afe0 scsi: core: Clear driver private data when retrying request
| * 65344e7363 SUNRPC: Prevent looping due to rpc_signal_task() races
| * 6f0e029ead SUNRPC: convert RPC_TASK_* constants to enum
| * a7c41830ff ovl: fix UAF in ovl_dentry_update_reval by moving dput() in ovl_link_up
| * a18dc2d702 IB/mlx5: Set and get correct qp_num for a DCT QP
| * 3fa58a6fbd netfilter: allow exp not to be removed in nf_ct_find_expectation
| * cd29155818 spi: atmel-quadspi: Fix wrong register value written to MR
| * 02225f59a0 spi: atmel-quadspi: Avoid overwriting delay register settings
| * d48890ef87 media: mediatek: vcodec: Fix H264 multi stateless decoder smatch warning
| * ada4ca5fd5 block, bfq: fix bfqq uaf in bfq_limit_depth()
| * eca0025faa block, bfq: split sync bfq_queues on a per-actuator basis
| * cd78b738bc x86/cpu/kvm: SRSO: Fix possible missing IBPB on VM-Exit
| * aecca7b459 ftrace: Do not add duplicate entries in subops manager ops
| * 8096f2de05 ftrace: Correct preemption accounting for function tracing.
| * d42364dd66 EDAC/qcom: Correct interrupt enable register configuration
| * 24e8e4523d smb: client: Add check for next_buffer in receive_encrypted_standard()
| * 5801ed1c0b mtd: rawnand: cadence: fix incorrect device in dma_unmap_single
| * e630d32162 mtd: rawnand: cadence: use dma_map_resource for sdma address
| * 51a8a44e56 mtd: rawnand: cadence: fix error code in cadence_nand_init()
| * 0a0c255c39 mm,madvise,hugetlb: check for 0-length range after end address adjustment
| * 1ffa1bfc56 acct: block access to kernel internal filesystems
| * 5ee8da9bea acct: perform last write from workqueue
| * e2b7b9e4a4 ALSA: hda/conexant: Add quirk for HP ProBook 450 G4 mute LED
| * 1bb8c9cd59 ALSA: hda: Add error check for snd_ctl_rename_id() in snd_hda_create_dig_out_ctls()
| * fde718a585 ASoC: fsl_micfil: Enable default case in micfil_set_quality()
| * 1358d8e07a nfp: bpf: Add check for nfp_app_ctrl_msg_alloc()
| * fcfc00bfec drop_monitor: fix incorrect initialization order
| * ec18520f5e tee: optee: Fix supplicant wait loop
| * 64d31ab8c4 drm/i915: Make sure all planes in use by the joiner have their crtc included
| * 7e75ccfba9 drm/msm/dpu: Disable dither in phys encoder cleanup
| * 36c22125e5 bpf: skip non exist keys in generic_map_lookup_batch
| * 85f5a43484 nvme/ioctl: add missing space in err message
| * b5065a10b9 drm/msm/dpu: Don't leak bits_per_component into random DSC_ENC fields
| * 7f7f3f42e8 nouveau/svm: fix missing folio unlock + put after make_device_exclusive_range()
| * 51ae6861c4 power: supply: da9150-fg: fix potential overflow
| * de9be9c3ec bpf: Fix wrong copied_seq calculation
| * e410fd6004 strparser: Add read_sock callback
| * f615fccfc6 bpf, test_run: Fix use-after-free issue in eth_skb_pkt_type()
| * 16985c0980 drm/rcar-du: dsi: Fix PHY lock bit check
| * ff319c9f22 drm/tidss: Fix race condition while handling interrupt registers
| * 36a6e21706 drm/tidss: Add simple K2G manual reset
* | 2785dc9dde ANDROID: GKI: Fix CRC issue with change to include/net/tcp.h
* | 87c6ad8371 Merge 87858bbf21 ("tcp: drop secpath at the same time as we currently drop dst") into android14-6.1-lts
|\|
| * 87858bbf21 tcp: drop secpath at the same time as we currently drop dst
* | 3a51c14aa9 Merge cb7bea9887 ("net: axienet: Set mac_managed_pm") into android14-6.1-lts
|\|
| * cb7bea9887 net: axienet: Set mac_managed_pm
| * a0bad5c7c2 arp: switch to dev_getbyhwaddr() in arp_req_set_public()
| * 0f038b9454 net: Add non-RCU dev_getbyhwaddr() helper
| * cce3ccc0ab flow_dissector: Fix port range key handling in BPF conversion
| * 8d984c604d flow_dissector: Fix handling of mixed port and port-range keys
| * 20825e9c4c geneve: Suppress list corruption splat in geneve_destroy_tunnels().
| * b70fa591b0 gtp: Suppress list corruption splat in gtp_net_exit_batch_rtnl().
| * 501ac6a7e2 ibmvnic: Don't reference skb after sending to VIOS
| * c9543af809 ibmvnic: Add stat for tx direct vs tx batched
| * a6a19d29fb ibmvnic: Introduce send sub-crq direct
| * b92f24529e ibmvnic: Return error code on TX scrq flush fail
| * 36069c768f ALSA: hda/cirrus: Correct the full scale volume set logic
| * 904e746b2e geneve: Fix use-after-free in geneve_find_dev().
| * c905a30535 powerpc/code-patching: Fix KASAN hit by not flagging text patching area as VM_ALLOC
| * f67713b216 ALSA: hda/realtek: Fixup ALC225 depop procedure
| * 10a293b085 powerpc/64s: Rewrite __real_pte() and __rpte_to_hidx() as static inline
| * e574bf58c3 powerpc/64s/mm: Move __real_pte stubs into hash-4k.h
| * 5a0b0bc44f ASoC: rockchip: i2s-tdm: fix shift config for SND_SOC_DAIFMT_DSP_[AB]
| * 24a942610e USB: gadget: f_midi: f_midi_complete to call queue_work
| * e3bc1a9a67 usb: gadget: core: flush gadget workqueue after device removal
| * 7fb673f0f1 USB: gadget: core: create sysfs link between udc and gadget
* | 208e9672db Merge ac18d78146 ("media: uvcvideo: Remove dangling pointers") into android14-6.1-lts
|\|
| * ac18d78146 media: uvcvideo: Remove dangling pointers
| * b4d266503d media: uvcvideo: Only save async fh if success
| * 9b3e69b5a9 media: uvcvideo: Refactor iterators
| * 3c00e94d00 media: uvcvideo: Fix crash during unbind if gpio unit is in use
| * ce8d2e914b media: Switch to use dev_err_probe() helper
| * 4a7c475137 soc: mediatek: mtk-devapc: Fix leaking IO map on driver remove
| * 9b9375831d soc/mediatek: mtk-devapc: Convert to platform remove callback returning void
| * ae86c01537 soc: mediatek: mtk-devapc: Fix leaking IO map on error paths
| * 69fa8a45eb soc: mediatek: mtk-devapc: Switch to devm_clk_get_enabled()
| * 77779d1258 tpm: Change to kvalloc() in eventlog/acpi.c
| * 7a72242c9b tpm: Use managed allocation for bios event log
| * 19bb4fc2ab arm64: dts: qcom: sm8450: Fix CDSP memory length
| * 8ae7a709f6 arm64: dts: qcom: trim addresses to 8 digits
| * 257fa56e89 arm64: dts: mediatek: mt8183: Disable DSI display output by default
| * 4cc8b0110c scsi: core: Do not retry I/Os during depopulation
| * 79a43ee6ec scsi: core: Handle depopulation and restoration in progress
| * 5c1e84bc75 ASoC: renesas: rz-ssi: Add a check for negative sample_space
| * f39ec4e62c clk: mediatek: mt2701-img: add missing dummy clk
| * 67e7bcc0bb clk: mediatek: mt2701-bdp: add missing dummy clk
| * dc7378acd6 clk: mediatek: mt2701-vdec: fix conversion to mtk_clk_simple_probe
| * 58af6b786a clk: mediatek: clk-mtk: Add dummy clock ops
| * 5c5b0e363b Bluetooth: qca: Fix poor RF performance for WCN6855
| * 55d69a2d2a Bluetooth: qca: Update firmware-name to support board specific nvm
| * e3c4cc00e1 Bluetooth: qca: Support downloading board id specific NVM for WCN7850
* | e9df7dc25a Merge 0986efc3c7 ("spi: atmel-qspi: Memory barriers after memory-mapped I/O") into android14-6.1-lts
|\|
| * 0986efc3c7 spi: atmel-qspi: Memory barriers after memory-mapped I/O
| * c788bfef89 spi: atmel-quadspi: Create `atmel_qspi_ops` to support newer SoC families
| * 756bb7c73f spi: atmel-quadspi: switch to use modern name
| * baaad6765a spi: atmel-quadspi: Add support for configuring CS timing
* | 9212df9856 Merge 0a09d56e16 ("memcg: fix soft lockup in the OOM process") into android14-6.1-lts
|/
* 0a09d56e16 memcg: fix soft lockup in the OOM process
* 2ea4658783 mm: update mark_victim tracepoints fields
* 032fa54f48 md/md-bitmap: Synchronize bitmap_get_stats() with bitmap lifetime
* 249d9b9da2 md/md-bitmap: add 'sync_size' into struct md_bitmap_stats
* e83e6ea589 md/md-cluster: fix spares warnings for __le64
* e5c4b7b19b md/md-bitmap: replace md_bitmap_status() with a new helper md_bitmap_get_stats()
* a27c597f26 arm64: mte: Do not allow PROT_MTE on MAP_HUGETLB user mappings

Change-Id: I49eabb79ab13e7f138664d9fb38f9b3e0f9c116a
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-04-26 02:53:42 -07:00
Seiya Wang
25fc41bbde ANDROID: GKI: Update symbol list for mtk
3 function symbol(s) added
  'void devm_nvmem_cell_put(struct device*, struct nvmem_cell*)'
  'void fw_devlink_purge_absent_suppliers(struct fwnode_handle*)'
  'void typec_port_register_altmodes(struct typec_port*, const struct typec_altmode_ops*, void*, struct typec_altmode**, size_t)'

Bug: 413254661
Change-Id: I8a87faa27b69088467e2a09060157a0871ad0d71
Signed-off-by: Seiya Wang <seiya.wang@mediatek.com>
2025-04-25 16:53:39 -07:00
Patrick Rohr
f26d229ec8 ANDROID: Repurpose a reserved slot in ipv6_devconf for backports
This patch repurposes a ANDROID_KABI_RESERVE slot used for LTS backports
for feature backports. Slot 4 is repurposed as parts of slot 1 are
already used for accept_ra_min_lft on some branches.

Bug: 315069348
Signed-off-by: Patrick Rohr <prohr@google.com>
Change-Id: I19b9dfc16d891fb6fe48ec4379c6fa3dcb6adf89
2025-04-25 14:53:19 -07:00
Kirill A. Shutemov
16c54d6a49 mm: fix apply_to_existing_page_range()
commit a995199384347261bb3f21b2e171fa7f988bd2f8 upstream.

In the case of apply_to_existing_page_range(), apply_to_pte_range() is
reached with 'create' set to false.  When !create, the loop over the PTE
page table is broken.

apply_to_pte_range() will only move to the next PTE entry if 'create' is
true or if the current entry is not pte_none().

This means that the user of apply_to_existing_page_range() will not have
'fn' called for any entries after the first pte_none() in the PTE page
table.

Fix the loop logic in apply_to_pte_range().

There are no known runtime issues from this, but the fix is trivial enough
for stable@ even without a known buggy user.

Link: https://lkml.kernel.org/r/20250409094043.1629234-1-kirill.shutemov@linux.intel.com
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Fixes: be1db4753e ("mm/memory.c: add apply_to_existing_page_range() helper")
Cc: Daniel Axtens <dja@axtens.net>
Cc: David Hildenbrand <david@redhat.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:04 +02:00
Li Nan
aed0aac18f blk-iocost: do not WARN if iocg was already offlined
commit 01bc4fda9ea0a6b52f12326486f07a4910666cf6 upstream.

In iocg_pay_debt(), warn is triggered if 'active_list' is empty, which
is intended to confirm iocg is active when it has debt. However, warn
can be triggered during a blkcg or disk removal, if iocg_waitq_timer_fn()
is run at that time:

  WARNING: CPU: 0 PID: 2344971 at block/blk-iocost.c:1402 iocg_pay_debt+0x14c/0x190
  Call trace:
  iocg_pay_debt+0x14c/0x190
  iocg_kick_waitq+0x438/0x4c0
  iocg_waitq_timer_fn+0xd8/0x130
  __run_hrtimer+0x144/0x45c
  __hrtimer_run_queues+0x16c/0x244
  hrtimer_interrupt+0x2cc/0x7b0

The warn in this situation is meaningless. Since this iocg is being
removed, the state of the 'active_list' is irrelevant, and 'waitq_timer'
is canceled after removing 'active_list' in ioc_pd_free(), which ensures
iocg is freed after iocg_waitq_timer_fn() returns.

Therefore, add the check if iocg was already offlined to avoid warn
when removing a blkcg or disk.

Signed-off-by: Li Nan <linan122@huawei.com>
Reviewed-by: Yu Kuai <yukuai3@huawei.com>
Acked-by: Tejun Heo <tj@kernel.org>
Link: https://lore.kernel.org/r/20240419093257.3004211-1-linan666@huaweicloud.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:03 +02:00
Yu Kuai
3154d64ff9 blk-cgroup: support to track if policy is online
commit dfd6200a09 upstream.

A new field 'online' is added to blkg_policy_data to fix following
2 problem:

1) In blkcg_activate_policy(), if pd_alloc_fn() with 'GFP_NOWAIT'
   failed, 'queue_lock' will be dropped and pd_alloc_fn() will try again
   without 'GFP_NOWAIT'. In the meantime, remove cgroup can race with
   it, and pd_offline_fn() will be called without pd_init_fn() and
   pd_online_fn(). This way null-ptr-deference can be triggered.

2) In order to synchronize pd_free_fn() from blkg_free_workfn() and
   blkcg_deactivate_policy(), 'list_del_init(&blkg->q_node)' will be
   delayed to blkg_free_workfn(), hence pd_offline_fn() can be called
   first in blkg_destroy(), and then blkcg_deactivate_policy() will
   call it again, we must prevent it.

The new field 'online' will be set after pd_online_fn() and will be
cleared after pd_offline_fn(), in the meantime pd_offline_fn() will only
be called if 'online' is set.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Acked-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20230119110350.2287325-3-yukuai1@huaweicloud.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:03 +02:00
Xu Kuohai
d9a807fb7c bpf: Prevent tail call between progs attached to different hooks
commit 28ead3eaabc16ecc907cfb71876da028080f6356 upstream.

bpf progs can be attached to kernel functions, and the attached functions
can take different parameters or return different return values. If
prog attached to one kernel function tail calls prog attached to another
kernel function, the ctx access or return value verification could be
bypassed.

For example, if prog1 is attached to func1 which takes only 1 parameter
and prog2 is attached to func2 which takes two parameters. Since verifier
assumes the bpf ctx passed to prog2 is constructed based on func2's
prototype, verifier allows prog2 to access the second parameter from
the bpf ctx passed to it. The problem is that verifier does not prevent
prog1 from passing its bpf ctx to prog2 via tail call. In this case,
the bpf ctx passed to prog2 is constructed from func1 instead of func2,
that is, the assumption for ctx access verification is bypassed.

Another example, if BPF LSM prog1 is attached to hook file_alloc_security,
and BPF LSM prog2 is attached to hook bpf_lsm_audit_rule_known. Verifier
knows the return value rules for these two hooks, e.g. it is legal for
bpf_lsm_audit_rule_known to return positive number 1, and it is illegal
for file_alloc_security to return positive number. So verifier allows
prog2 to return positive number 1, but does not allow prog1 to return
positive number. The problem is that verifier does not prevent prog1
from calling prog2 via tail call. In this case, prog2's return value 1
will be used as the return value for prog1's hook file_alloc_security.
That is, the return value rule is bypassed.

This patch adds restriction for tail call to prevent such bypasses.

Signed-off-by: Xu Kuohai <xukuohai@huawei.com>
Link: https://lore.kernel.org/r/20240719110059.797546-4-xukuohai@huaweicloud.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
[Minor conflict resolved due to code context change.]
Signed-off-by: Jianqi Ren <jianqi.ren.cn@windriver.com>
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:03 +02:00
Andrii Nakryiko
4759acbd44 bpf: avoid holding freeze_mutex during mmap operation
commit bc27c52eea189e8f7492d40739b7746d67b65beb upstream.

We use map->freeze_mutex to prevent races between map_freeze() and
memory mapping BPF map contents with writable permissions. The way we
naively do this means we'll hold freeze_mutex for entire duration of all
the mm and VMA manipulations, which is completely unnecessary. This can
potentially also lead to deadlocks, as reported by syzbot in [0].

So, instead, hold freeze_mutex only during writeability checks, bump
(proactively) "write active" count for the map, unlock the mutex and
proceed with mmap logic. And only if something went wrong during mmap
logic, then undo that "write active" counter increment.

  [0] https://lore.kernel.org/bpf/678dcbc9.050a0220.303755.0066.GAE@google.com/

Fixes: fc9702273e ("bpf: Add mmap() support for BPF_MAP_TYPE_ARRAY")
Reported-by: syzbot+4dc041c686b7c816a71e@syzkaller.appspotmail.com
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/r/20250129012246.1515826-2-andrii@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David Sauerwein <dssauerw@amazon.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:03 +02:00
Haisu Wang
282d1aa225 btrfs: fix the length of reserved qgroup to free
commit 2b084d8205949dd804e279df8e68531da78be1e8 upstream.

The dealloc flag may be cleared and the extent won't reach the disk in
cow_file_range when errors path. The reserved qgroup space is freed in
commit 30479f31d44d ("btrfs: fix qgroup reserve leaks in
cow_file_range"). However, the length of untouched region to free needs
to be adjusted with the correct remaining region size.

Fixes: 30479f31d44d ("btrfs: fix qgroup reserve leaks in cow_file_range")
CC: stable@vger.kernel.org # 6.11+
Reviewed-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: Haisu Wang <haisuwang@tencent.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:03 +02:00
Paulo Alcantara
7d8bb979f6 cifs: use origin fullpath for automounts
commit 7ad54b98fc upstream.

Use TCP_Server_Info::origin_fullpath instead of cifs_tcon::tree_name
when building source paths for automounts as it will be useful for
domain-based DFS referrals where the connections and referrals would
get either re-used from the cache or re-created when chasing the dfs
link.

Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
[apanyaki: backport to v6.1-stable]
Signed-off-by: Andrew Paniakin <apanyaki@amazon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:03 +02:00
ChenXiaoSong
ec28c35029 smb/server: fix potential null-ptr-deref of lease_ctx_info in smb2_open()
commit 4e8771a3666c8f216eefd6bd2fd50121c6c437db upstream.

null-ptr-deref will occur when (req_op_level == SMB2_OPLOCK_LEVEL_LEASE)
and parse_lease_state() return NULL.

Fix this by check if 'lease_ctx_info' is NULL.

Additionally, remove the redundant parentheses in
parse_durable_handle_context().

Signed-off-by: ChenXiaoSong <chenxiaosong@kylinos.cn>
Signed-off-by: Steve French <stfrench@microsoft.com>
[ Drop the parentheses clean-up since the parentheses was introduced by
  c8efcc786146 ("ksmbd: add support for durable handles v1/v2") in v6.9
  Minor context change fixed ]
Signed-off-by: Jianqi Ren <jianqi.ren.cn@windriver.com>
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:03 +02:00
WangYuli
f27602b638 nvmet-fc: Remove unused functions
commit 1b304c006b0fb4f0517a8c4ba8c46e88f48a069c upstream.

The functions nvmet_fc_iodnum() and nvmet_fc_fodnum() are currently
unutilized.

Following commit c53432030d ("nvme-fabrics: Add target support for FC
transport"), which introduced these two functions, they have not been
used at all in practice.

Remove them to resolve the compiler warnings.

Fix follow errors with clang-19 when W=1e:
  drivers/nvme/target/fc.c:177:1: error: unused function 'nvmet_fc_iodnum' [-Werror,-Wunused-function]
    177 | nvmet_fc_iodnum(struct nvmet_fc_ls_iod *iodptr)
        | ^~~~~~~~~~~~~~~
  drivers/nvme/target/fc.c:183:1: error: unused function 'nvmet_fc_fodnum' [-Werror,-Wunused-function]
    183 | nvmet_fc_fodnum(struct nvmet_fc_fcp_iod *fodptr)
        | ^~~~~~~~~~~~~~~
  2 errors generated.
  make[8]: *** [scripts/Makefile.build:207: drivers/nvme/target/fc.o] Error 1
  make[7]: *** [scripts/Makefile.build:465: drivers/nvme/target] Error 2
  make[6]: *** [scripts/Makefile.build:465: drivers/nvme] Error 2
  make[6]: *** Waiting for unfinished jobs....

Fixes: c53432030d ("nvme-fabrics: Add target support for FC transport")
Signed-off-by: WangYuli <wangyuli@uniontech.com>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:02 +02:00
Greg Kroah-Hartman
e37eabef53 Revert "LoongArch: BPF: Fix off-by-one error in build_prologue()"
This reverts commit e9ccb262b3 which is
commit 7e2586991e36663c9bc48c828b83eab180ad30a9 upstream.

It breaks the build.

Link: https://lore.kernel.org/r/90288944-3f5b-45b7-ae7d-c7a54398db55@roeck-us.neta
Reported-by: Guenter Roeck <linux@roeck-us.net>
Cc: Vincent Li <vincent.mc.li@gmail.com>
Cc: Hengqi Chen <hengqi.chen@gmail.com>
Cc: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:02 +02:00
Mickaël Salaün
b66bc16f4c landlock: Add the errata interface
commit 15383a0d63dbcd63dc7e8d9ec1bf3a0f7ebf64ac upstream.

Some fixes may require user space to check if they are applied on the
running kernel before using a specific feature.  For instance, this
applies when a restriction was previously too restrictive and is now
getting relaxed (e.g. for compatibility reasons).  However, non-visible
changes for legitimate use (e.g. security fixes) do not require an
erratum.

Because fixes are backported down to a specific Landlock ABI, we need a
way to avoid cherry-pick conflicts.  The solution is to only update a
file related to the lower ABI impacted by this issue.  All the ABI files
are then used to create a bitmask of fixes.

The new errata interface is similar to the one used to get the supported
Landlock ABI version, but it returns a bitmask instead because the order
of fixes may not match the order of versions, and not all fixes may
apply to all versions.

The actual errata will come with dedicated commits.  The description is
not actually used in the code but serves as documentation.

Create the landlock_abi_version symbol and use its value to check errata
consistency.

Update test_base's create_ruleset_checks_ordering tests and add errata
tests.

This commit is backportable down to the first version of Landlock.

Fixes: 3532b0b435 ("landlock: Enable user space to infer supported features")
Cc: Günther Noack <gnoack@google.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250318161443.279194-3-mic@digikod.net
Signed-off-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:02 +02:00
Hersen Wu
13080d052c drm/amd/display: Stop amdgpu_dm initialize when link nums greater than max_links
commit cf8b16857db702ceb8d52f9219a4613363e2b1cf upstream.

[Why]
Coverity report OVERRUN warning. There are
only max_links elements within dc->links. link
count could up to AMDGPU_DM_MAX_DISPLAY_INDEX 31.

[How]
Make sure link count less than max_links.

Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Acked-by: Tom Chung <chiahsuan.chung@amd.com>
Signed-off-by: Hersen Wu <hersenxs.wu@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
[Minor conflict resolved due to code context change. And the macro MAX_LINKS
 is introduced by Commit 60df5628144b ("drm/amd/display: handle invalid
 connector indices") after 6.10. So here we still use the original array
 length MAX_PIPES * 2]
Signed-off-by: Jianqi Ren <jianqi.ren.cn@windriver.com>
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:02 +02:00
Greg Kroah-Hartman
615c8f70be Revert "Xen/swiotlb: mark xen_swiotlb_fixup() __init"
This reverts commit 1a95cff6e1 which is
commit 75ad02318af2e4ae669e26a79f001bd5e1f97472 upstream.

Turns out it causes build warnings and might break systems.

Link: https://lore.kernel.org/r/20250407181218.GA737271@ax162
Reported-by: Nathan Chancellor <nathan@kernel.org>
Reported-by: Salvatore Bonaccorso <carnil@debian.org>
Cc: Juergen Gross <jgross@suse.com>
Cc: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:02 +02:00
Johannes Thumshirn
eec34d7d14 btrfs: zoned: fix zone finishing with missing devices
commit 35fec1089ebb5617f85884d3fa6a699ce6337a75 upstream.

If do_zone_finish() is called with a filesystem that has missing devices
(e.g. a RAID file system mounted in degraded mode) it is accessing the
btrfs_device::zone_info pointer, which will not be set if the device
in question is missing.

Check if the device is present (by checking if it has a valid block device
pointer associated) and if not, skip zone finishing for it.

Fixes: 4dcbb8ab31 ("btrfs: zoned: make zone finishing multi stripe capable")
CC: stable@vger.kernel.org # 6.1+
Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:02 +02:00
Johannes Thumshirn
4aecf1c211 btrfs: zoned: fix zone activation with missing devices
commit 2bbc4a45e5eb6b868357c1045bf6f38f6ba576e0 upstream.

If btrfs_zone_activate() is called with a filesystem that has missing
devices (e.g. a RAID file system mounted in degraded mode) it is accessing
the btrfs_device::zone_info pointer, which will not be set if the device in
question is missing.

Check if the device is present (by checking if it has a valid block
device pointer associated) and if not, skip zone activation for it.

Fixes: f9a912a3c4 ("btrfs: zoned: make zone activation multi stripe capable")
CC: stable@vger.kernel.org # 6.1+
Reviewed-by: Naohiro Aota <naohiro.aota@wdc.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:02 +02:00
Boris Burkov
159f0f61b2 btrfs: fix qgroup reserve leaks in cow_file_range
commit 30479f31d44d47ed00ae0c7453d9b253537005b2 upstream.

In the buffered write path, the dirty page owns the qgroup reserve until
it creates an ordered_extent.

Therefore, any errors that occur before the ordered_extent is created
must free that reservation, or else the space is leaked. The fstest
generic/475 exercises various IO error paths, and is able to trigger
errors in cow_file_range where we fail to get to allocating the ordered
extent. Note that because we *do* clear delalloc, we are likely to
remove the inode from the delalloc list, so the inodes/pages to not have
invalidate/launder called on them in the commit abort path.

This results in failures at the unmount stage of the test that look like:

  BTRFS: error (device dm-8 state EA) in cleanup_transaction:2018: errno=-5 IO failure
  BTRFS: error (device dm-8 state EA) in btrfs_replace_file_extents:2416: errno=-5 IO failure
  BTRFS warning (device dm-8 state EA): qgroup 0/5 has unreleased space, type 0 rsv 28672
  ------------[ cut here ]------------
  WARNING: CPU: 3 PID: 22588 at fs/btrfs/disk-io.c:4333 close_ctree+0x222/0x4d0 [btrfs]
  Modules linked in: btrfs blake2b_generic libcrc32c xor zstd_compress raid6_pq
  CPU: 3 PID: 22588 Comm: umount Kdump: loaded Tainted: G W          6.10.0-rc7-gab56fde445b8 #21
  Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Arch Linux 1.16.3-1-1 04/01/2014
  RIP: 0010:close_ctree+0x222/0x4d0 [btrfs]
  RSP: 0018:ffffb4465283be00 EFLAGS: 00010202
  RAX: 0000000000000001 RBX: ffffa1a1818e1000 RCX: 0000000000000001
  RDX: 0000000000000000 RSI: ffffb4465283bbe0 RDI: ffffa1a19374fcb8
  RBP: ffffa1a1818e13c0 R08: 0000000100028b16 R09: 0000000000000000
  R10: 0000000000000003 R11: 0000000000000003 R12: ffffa1a18ad7972c
  R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
  FS:  00007f9168312b80(0000) GS:ffffa1a4afcc0000(0000) knlGS:0000000000000000
  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  CR2: 00007f91683c9140 CR3: 000000010acaa000 CR4: 00000000000006f0
  Call Trace:
   <TASK>
   ? close_ctree+0x222/0x4d0 [btrfs]
   ? __warn.cold+0x8e/0xea
   ? close_ctree+0x222/0x4d0 [btrfs]
   ? report_bug+0xff/0x140
   ? handle_bug+0x3b/0x70
   ? exc_invalid_op+0x17/0x70
   ? asm_exc_invalid_op+0x1a/0x20
   ? close_ctree+0x222/0x4d0 [btrfs]
   generic_shutdown_super+0x70/0x160
   kill_anon_super+0x11/0x40
   btrfs_kill_super+0x11/0x20 [btrfs]
   deactivate_locked_super+0x2e/0xa0
   cleanup_mnt+0xb5/0x150
   task_work_run+0x57/0x80
   syscall_exit_to_user_mode+0x121/0x130
   do_syscall_64+0xab/0x1a0
   entry_SYSCALL_64_after_hwframe+0x77/0x7f
  RIP: 0033:0x7f916847a887
  ---[ end trace 0000000000000000 ]---
  BTRFS error (device dm-8 state EA): qgroup reserved space leaked

Cases 2 and 3 in the out_reserve path both pertain to this type of leak
and must free the reserved qgroup data. Because it is already an error
path, I opted not to handle the possible errors in
btrfs_free_qgroup_data.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Boris Burkov <boris@bur.io>
Signed-off-by: David Sterba <dsterba@suse.com>
[Minor conflict resolved due to code context change.]
Signed-off-by: Jianqi Ren <jianqi.ren.cn@windriver.com>
Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:01 +02:00
Yuli Wang
2a07aea0ac LoongArch: Eliminate superfluous get_numa_distances_cnt()
commit a0d3c8bcb9206ac207c7ad3182027c6b0a1319bb upstream.

In LoongArch, get_numa_distances_cnt() isn't in use, resulting in a
compiler warning.

Fix follow errors with clang-18 when W=1e:

arch/loongarch/kernel/acpi.c:259:28: error: unused function 'get_numa_distances_cnt' [-Werror,-Wunused-function]
  259 | static inline unsigned int get_numa_distances_cnt(struct acpi_table_slit *slit)
      |                            ^~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Link: https://lore.kernel.org/all/Z7bHPVUH4lAezk0E@kernel.org/
Signed-off-by: Yuli Wang <wangyuli@uniontech.com>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:01 +02:00
Nathan Lynch
b137af7953 powerpc/rtas: Prevent Spectre v1 gadget construction in sys_rtas()
commit 0974d03eb479384466d828d65637814bee6b26d7 upstream.

Smatch warns:

  arch/powerpc/kernel/rtas.c:1932 __do_sys_rtas() warn: potential
  spectre issue 'args.args' [r] (local cap)

The 'nargs' and 'nret' locals come directly from a user-supplied
buffer and are used as indexes into a small stack-based array and as
inputs to copy_to_user() after they are subject to bounds checks.

Use array_index_nospec() after the bounds checks to clamp these values
for speculative execution.

Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Reported-by: Breno Leitao <leitao@debian.org>
Reviewed-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240530-sys_rtas-nargs-nret-v1-1-129acddd4d89@linux.ibm.com
[Minor context change fixed]
Signed-off-by: Cliff Liu <donghua.liu@windriver.com>
Signed-off-by: He Zhe <Zhe.He@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:01 +02:00
Ard Biesheuvel
32e3456454 x86/pvh: Call C code via the kernel virtual mapping
commit e8fbc0d9cab6c1ee6403f42c0991b0c1d5dbc092 upstream.

Calling C code via a different mapping than it was linked at is
problematic, because the compiler assumes that RIP-relative and absolute
symbol references are interchangeable. GCC in particular may use
RIP-relative per-CPU variable references even when not using -fpic.

So call xen_prepare_pvh() via its kernel virtual mapping on x86_64, so
that those RIP-relative references produce the correct values. This
matches the pre-existing behavior for i386, which also invokes
xen_prepare_pvh() via the kernel virtual mapping before invoking
startup_32 with paging disabled again.

Fixes: 7243b93345 ("xen/pvh: Bootstrap PVH guest")
Tested-by: Jason Andryuk <jason.andryuk@amd.com>
Reviewed-by: Jason Andryuk <jason.andryuk@amd.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Message-ID: <20241009160438.3884381-8-ardb+git@google.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
[ Stable context update ]
Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:01 +02:00
Maksim Davydov
8dfff85d5d x86/split_lock: Fix the delayed detection logic
commit c929d08df8bee855528b9d15b853c892c54e1eee upstream.

If the warning mode with disabled mitigation mode is used, then on each
CPU where the split lock occurred detection will be disabled in order to
make progress and delayed work will be scheduled, which then will enable
detection back.

Now it turns out that all CPUs use one global delayed work structure.
This leads to the fact that if a split lock occurs on several CPUs
at the same time (within 2 jiffies), only one CPU will schedule delayed
work, but the rest will not.

The return value of schedule_delayed_work_on() would have shown this,
but it is not checked in the code.

A diagram that can help to understand the bug reproduction:

 - sld_update_msr() enables/disables SLD on both CPUs on the same core

 - schedule_delayed_work_on() internally checks WORK_STRUCT_PENDING_BIT.
   If a work has the 'pending' status, then schedule_delayed_work_on()
   will return an error code and, most importantly, the work will not
   be placed in the workqueue.

Let's say we have a multicore system on which split_lock_mitigate=0 and
a multithreaded application is running that calls splitlock in multiple
threads. Due to the fact that sld_update_msr() affects the entire core
(both CPUs), we will consider 2 CPUs from different cores. Let the 2
threads of this application schedule to CPU0 (core 0) and to CPU 2
(core 1), then:

|                                 ||                                   |
|             CPU 0 (core 0)      ||          CPU 2 (core 1)           |
|_________________________________||___________________________________|
|                                 ||                                   |
| 1) SPLIT LOCK occured           ||                                   |
|                                 ||                                   |
| 2) split_lock_warn()            ||                                   |
|                                 ||                                   |
| 3) sysctl_sld_mitigate == 0     ||                                   |
|    (work = &sl_reenable)        ||                                   |
|                                 ||                                   |
| 4) schedule_delayed_work_on()   ||                                   |
|    (reenable will be called     ||                                   |
|     after 2 jiffies on CPU 0)   ||                                   |
|                                 ||                                   |
| 5) disable SLD for core 0       ||                                   |
|                                 ||                                   |
|    -------------------------    ||                                   |
|                                 ||                                   |
|                                 || 6) SPLIT LOCK occured             |
|                                 ||                                   |
|                                 || 7) split_lock_warn()              |
|                                 ||                                   |
|                                 || 8) sysctl_sld_mitigate == 0       |
|                                 ||    (work = &sl_reenable,          |
|                                 ||     the same address as in 3) )   |
|                                 ||                                   |
|            2 jiffies            || 9) schedule_delayed_work_on()     |
|                                 ||    fials because the work is in   |
|                                 ||    the pending state since 4).    |
|                                 ||    The work wasn't placed to the  |
|                                 ||    workqueue. reenable won't be   |
|                                 ||    called on CPU 2                |
|                                 ||                                   |
|                                 || 10) disable SLD for core 0        |
|                                 ||                                   |
|                                 ||     From now on SLD will          |
|                                 ||     never be reenabled on core 1  |
|                                 ||                                   |
|    -------------------------    ||                                   |
|                                 ||                                   |
|    11) enable SLD for core 0 by ||                                   |
|        __split_lock_reenable    ||                                   |
|                                 ||                                   |

If the application threads can be scheduled to all processor cores,
then over time there will be only one core left, on which SLD will be
enabled and split lock will be able to be detected; and on all other
cores SLD will be disabled all the time.

Most likely, this bug has not been noticed for so long because
sysctl_sld_mitigate default value is 1, and in this case a semaphore
is used that does not allow 2 different cores to have SLD disabled at
the same time, that is, strictly only one work is placed in the
workqueue.

In order to fix the warning mode with disabled mitigation mode,
delayed work has to be per-CPU. Implement it.

Fixes: 727209376f ("x86/split_lock: Add sysctl to control the misery mode")
Signed-off-by: Maksim Davydov <davydov-max@yandex-team.ru>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Tested-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ravi Bangoria <ravi.bangoria@amd.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Link: https://lore.kernel.org/r/20250115131704.132609-1-davydov-max@yandex-team.ru
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:01 +02:00
Alex Williamson
edde34b792 mm: Fix is_zero_page() usage in try_grab_page()
The backport of upstream commit c8070b7875 ("mm: Don't pin ZERO_PAGE
in pin_user_pages()") into v6.1.130 noted below in Fixes does not
account for commit 0f0892356f ("mm: allow multiple error returns in
try_grab_page()"), which changed the return value of try_grab_page()
from bool to int.  Therefore returning 0, success in the upstream
version, becomes an error here.  Fix the return value.

Fixes: 476c1dfefa ("mm: Don't pin ZERO_PAGE in pin_user_pages()")
Link: https://lore.kernel.org/all/Z_6uhLQjJ7SSzI13@eldamar.lan
Reported-by: Salvatore Bonaccorso <carnil@debian.org>
Reported-by: Milan Broz <gmazyland@gmail.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Cc: stable@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: Sasha Levin <sashal@kernel.org>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:01 +02:00
Kunihiko Hayashi
13beac8e96 misc: pci_endpoint_test: Fix 'irq_type' to convey the correct type
commit baaef0a274cfb75f9b50eab3ef93205e604f662c upstream.

There are two variables that indicate the interrupt type to be used
in the next test execution, "irq_type" as global and "test->irq_type".

The global is referenced from pci_endpoint_test_get_irq() to preserve
the current type for ioctl(PCITEST_GET_IRQTYPE).

The type set in this function isn't reflected in the global "irq_type",
so ioctl(PCITEST_GET_IRQTYPE) returns the previous type.

As a result, the wrong type is displayed in old version of "pcitest"
as follows:

  - Result of running "pcitest -i 0"

      SET IRQ TYPE TO LEGACY:         OKAY

  - Result of running "pcitest -I"

      GET IRQ TYPE:           MSI

Whereas running the new version of "pcitest" in kselftest results in an
error as follows:

  #  RUN           pci_ep_basic.LEGACY_IRQ_TEST ...
  # pci_endpoint_test.c:104:LEGACY_IRQ_TEST:Expected 0 (0) == ret (1)
  # pci_endpoint_test.c:104:LEGACY_IRQ_TEST:Can't get Legacy IRQ type

Fix this issue by propagating the current type to the global "irq_type".

Fixes: b2ba9225e0 ("misc: pci_endpoint_test: Avoid using module parameter to determine irqtype")
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
[kwilczynski: commit log]
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250225110252.28866-5-hayashi.kunihiko@socionext.com
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:01 +02:00
Mark Rutland
17c7f46efb KVM: arm64: Eagerly switch ZCR_EL{1,2}
[ Upstream commit 59419f10045bc955d2229819c7cf7a8b0b9c5b59 ]

In non-protected KVM modes, while the guest FPSIMD/SVE/SME state is live on the
CPU, the host's active SVE VL may differ from the guest's maximum SVE VL:

* For VHE hosts, when a VM uses NV, ZCR_EL2 contains a value constrained
  by the guest hypervisor, which may be less than or equal to that
  guest's maximum VL.

  Note: in this case the value of ZCR_EL1 is immaterial due to E2H.

* For nVHE/hVHE hosts, ZCR_EL1 contains a value written by the guest,
  which may be less than or greater than the guest's maximum VL.

  Note: in this case hyp code traps host SVE usage and lazily restores
  ZCR_EL2 to the host's maximum VL, which may be greater than the
  guest's maximum VL.

This can be the case between exiting a guest and kvm_arch_vcpu_put_fp().
If a softirq is taken during this period and the softirq handler tries
to use kernel-mode NEON, then the kernel will fail to save the guest's
FPSIMD/SVE state, and will pend a SIGKILL for the current thread.

This happens because kvm_arch_vcpu_ctxsync_fp() binds the guest's live
FPSIMD/SVE state with the guest's maximum SVE VL, and
fpsimd_save_user_state() verifies that the live SVE VL is as expected
before attempting to save the register state:

| if (WARN_ON(sve_get_vl() != vl)) {
|         force_signal_inject(SIGKILL, SI_KERNEL, 0, 0);
|         return;
| }

Fix this and make this a bit easier to reason about by always eagerly
switching ZCR_EL{1,2} at hyp during guest<->host transitions. With this
happening, there's no need to trap host SVE usage, and the nVHE/nVHE
__deactivate_cptr_traps() logic can be simplified to enable host access
to all present FPSIMD/SVE/SME features.

In protected nVHE/hVHE modes, the host's state is always saved/restored
by hyp, and the guest's state is saved prior to exit to the host, so
from the host's PoV the guest never has live FPSIMD/SVE/SME state, and
the host's ZCR_EL1 is never clobbered by hyp.

Fixes: 8c8010d69c ("KVM: arm64: Save/restore SVE state for nVHE")
Fixes: 2e3cf82063a00ea0 ("KVM: arm64: nv: Ensure correct VL is loaded before saving SVE state")
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Tested-by: Mark Brown <broonie@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Fuad Tabba <tabba@google.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20250210195226.1215254-9-mark.rutland@arm.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
[ v6.6 lacks pKVM saving of host SVE state, pull in discovery of maximum
  host VL separately -- broonie ]
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:00 +02:00
Kunihiko Hayashi
53f4df92a8 misc: pci_endpoint_test: Fix displaying 'irq_type' after 'request_irq' error
commit 919d14603dab6a9cf03ebbeb2cfa556df48737c8 upstream.

There are two variables that indicate the interrupt type to be used
in the next test execution, global "irq_type" and "test->irq_type".

The former is referenced from pci_endpoint_test_get_irq() to preserve
the current type for ioctl(PCITEST_GET_IRQTYPE).

In the pci_endpoint_test_request_irq(), since this global variable
is referenced when an error occurs, the unintended error message is
displayed.

For example, after running "pcitest -i 2", the following message
shows "MSI 3" even if the current IRQ type becomes "MSI-X":

  pci-endpoint-test 0000:01:00.0: Failed to request IRQ 30 for MSI 3
  SET IRQ TYPE TO MSI-X:          NOT OKAY

Fix this issue by using "test->irq_type" instead of global "irq_type".

Cc: stable@vger.kernel.org
Fixes: b2ba9225e0 ("misc: pci_endpoint_test: Avoid using module parameter to determine irqtype")
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Link: https://lore.kernel.org/r/20250225110252.28866-4-hayashi.kunihiko@socionext.com
[kwilczynski: commit log]
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:00 +02:00
Fuad Tabba
bde20e154a KVM: arm64: Calculate cptr_el2 traps on activating traps
[ Upstream commit 2fd5b4b0e7b440602455b79977bfa64dea101e6c ]

Similar to VHE, calculate the value of cptr_el2 from scratch on
activate traps. This removes the need to store cptr_el2 in every
vcpu structure. Moreover, some traps, such as whether the guest
owns the fp registers, need to be set on every vcpu run.

Reported-by: James Clark <james.clark@linaro.org>
Fixes: 5294afdbf45a ("KVM: arm64: Exclude FP ownership from kvm_vcpu_arch")
Signed-off-by: Fuad Tabba <tabba@google.com>
Link: https://lore.kernel.org/r/20241216105057.579031-13-tabba@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:00 +02:00
Kunihiko Hayashi
9d5118b107 misc: pci_endpoint_test: Avoid issue of interrupts remaining after request_irq error
commit f6cb7828c8e17520d4f5afb416515d3fae1af9a9 upstream.

After devm_request_irq() fails with error in pci_endpoint_test_request_irq(),
the pci_endpoint_test_free_irq_vectors() is called assuming that all IRQs
have been released.

However, some requested IRQs remain unreleased, so there are still
/proc/irq/* entries remaining, and this results in WARN() with the
following message:

  remove_proc_entry: removing non-empty directory 'irq/30', leaking at least 'pci-endpoint-test.0'
  WARNING: CPU: 0 PID: 202 at fs/proc/generic.c:719 remove_proc_entry +0x190/0x19c

To solve this issue, set the number of remaining IRQs to test->num_irqs,
and release IRQs in advance by calling pci_endpoint_test_release_irq().

Cc: stable@vger.kernel.org
Fixes: e03327122e ("pci_endpoint_test: Add 2 ioctl commands")
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Link: https://lore.kernel.org/r/20250225110252.28866-3-hayashi.kunihiko@socionext.com
[kwilczynski: commit log]
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:00 +02:00
Matthieu Baerts (NGI0)
6cc2c355aa mptcp: sockopt: fix getting freebind & transparent
commit e2f4ac7bab2205d3c4dd9464e6ffd82502177c51 upstream.

When adding a socket option support in MPTCP, both the get and set parts
are supposed to be implemented.

IP(V6)_FREEBIND and IP(V6)_TRANSPARENT support for the setsockopt part
has been added a while ago, but it looks like the get part got
forgotten. It should have been present as a way to verify a setting has
been set as expected, and not to act differently from TCP or any other
socket types.

Everything was in place to expose it, just the last step was missing.
Only new code is added to cover these specific getsockopt(), that seems
safe.

Fixes: c9406a23c1 ("mptcp: sockopt: add SOL_IP freebind & transparent options")
Cc: stable@vger.kernel.org
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250314-net-mptcp-fix-data-stream-corr-sockopt-v1-3-122dbb249db3@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
[ Conflict in sockopt.c due to commit e08d0b3d1723 ("inet: implement
  lockless IP_TOS") not being in this version. The conflict is in the
  context and the modification can still be applied in
  mptcp_getsockopt_v4() after the IP_TOS case.
  Also, get the values without 'inet_test_bit()' like it was done in
  this version. ]
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:00 +02:00
Arnd Bergmann
89e1132bbf media: mediatek: vcodec: mark vdec_vp9_slice_map_counts_eob_coef noinline
commit 8b55f8818900c99dd4f55a59a103f5b29e41eb2c upstream.

With KASAN enabled, clang fails to optimize the inline version of
vdec_vp9_slice_map_counts_eob_coef() properly, leading to kilobytes
of temporary values spilled to the stack:

drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c:1526:12: error: stack frame size (2160) exceeds limit (2048) in 'vdec_vp9_slice_update_prob' [-Werror,-Wframe-larger-than]

This seems to affect all versions of clang including the latest (clang-20),
but the degree of stack overhead is different per release.

Marking the function as noinline_for_stack is harmless here and avoids
the problem completely.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
[nathan: Handle file location change in older trees]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:00 +02:00
Nathan Chancellor
b3c789419f kbuild: Add '-fno-builtin-wcslen'
commit 84ffc79bfbf70c779e60218563f2f3ad45288671 upstream.

A recent optimization change in LLVM [1] aims to transform certain loop
idioms into calls to strlen() or wcslen(). This change transforms the
first while loop in UniStrcat() into a call to wcslen(), breaking the
build when UniStrcat() gets inlined into alloc_path_with_tree_prefix():

  ld.lld: error: undefined symbol: wcslen
  >>> referenced by nls_ucs2_utils.h:54 (fs/smb/client/../../nls/nls_ucs2_utils.h:54)
  >>>               vmlinux.o:(alloc_path_with_tree_prefix)
  >>> referenced by nls_ucs2_utils.h:54 (fs/smb/client/../../nls/nls_ucs2_utils.h:54)
  >>>               vmlinux.o:(alloc_path_with_tree_prefix)

Disable this optimization with '-fno-builtin-wcslen', which prevents the
compiler from assuming that wcslen() is available in the kernel's C
library.

[ More to the point - it's not that we couldn't implement wcslen(), it's
  that this isn't an optimization at all in the context of the kernel.

  Replacing a simple inlined loop with a function call to the same loop
  is just stupid and pointless if you don't have long strings and fancy
  libraries with vectorization support etc.

  For the regular 'strlen()' cases, we want the compiler to do this in
  order to handle the trivial case of constant strings. And we do have
  optimized versions of 'strlen()' on some architectures. But for
  wcslen? Just no.    - Linus ]

Cc: stable@vger.kernel.org
Link: 9694844d7e [1]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[nathan: Resolve small conflict in older trees]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:00 +02:00
Rafael J. Wysocki
0bf87fafc1 cpufreq: Reference count policy in cpufreq_update_limits()
commit 9e4e249018d208678888bdf22f6b652728106528 upstream.

Since acpi_processor_notify() can be called before registering a cpufreq
driver or even in cases when a cpufreq driver is not registered at all,
cpufreq_update_limits() needs to check if a cpufreq driver is present
and prevent it from being unregistered.

For this purpose, make it call cpufreq_cpu_get() to obtain a cpufreq
policy pointer for the given CPU and reference count the corresponding
policy object, if present.

Fixes: 5a25e3f7cc ("cpufreq: intel_pstate: Driver-specific handling of _PPC updates")
Closes: https://lore.kernel.org/linux-acpi/Z-ShAR59cTow0KcR@mail-itl
Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Cc: All applicable <stable@vger.kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Link: https://patch.msgid.link/1928789.tdWV9SEqCh@rjwysocki.net
[do not use __free(cpufreq_cpu_put) in a backport]
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:44:00 +02:00
Mark Rutland
0ff8c9a71e KVM: arm64: Mark some header functions as inline
[ Upstream commit f9dd00de1e53a47763dfad601635d18542c3836d ]

The shared hyp switch header has a number of static functions which
might not be used by all files that include the header, and when unused
they will provoke compiler warnings, e.g.

| In file included from arch/arm64/kvm/hyp/nvhe/hyp-main.c:8:
| ./arch/arm64/kvm/hyp/include/hyp/switch.h:703:13: warning: 'kvm_hyp_handle_dabt_low' defined but not used [-Wunused-function]
|   703 | static bool kvm_hyp_handle_dabt_low(struct kvm_vcpu *vcpu, u64 *exit_code)
|       |             ^~~~~~~~~~~~~~~~~~~~~~~
| ./arch/arm64/kvm/hyp/include/hyp/switch.h:682:13: warning: 'kvm_hyp_handle_cp15_32' defined but not used [-Wunused-function]
|   682 | static bool kvm_hyp_handle_cp15_32(struct kvm_vcpu *vcpu, u64 *exit_code)
|       |             ^~~~~~~~~~~~~~~~~~~~~~
| ./arch/arm64/kvm/hyp/include/hyp/switch.h:662:13: warning: 'kvm_hyp_handle_sysreg' defined but not used [-Wunused-function]
|   662 | static bool kvm_hyp_handle_sysreg(struct kvm_vcpu *vcpu, u64 *exit_code)
|       |             ^~~~~~~~~~~~~~~~~~~~~
| ./arch/arm64/kvm/hyp/include/hyp/switch.h:458:13: warning: 'kvm_hyp_handle_fpsimd' defined but not used [-Wunused-function]
|   458 | static bool kvm_hyp_handle_fpsimd(struct kvm_vcpu *vcpu, u64 *exit_code)
|       |             ^~~~~~~~~~~~~~~~~~~~~
| ./arch/arm64/kvm/hyp/include/hyp/switch.h:329:13: warning: 'kvm_hyp_handle_mops' defined but not used [-Wunused-function]
|   329 | static bool kvm_hyp_handle_mops(struct kvm_vcpu *vcpu, u64 *exit_code)
|       |             ^~~~~~~~~~~~~~~~~~~

Mark these functions as 'inline' to suppress this warning. This
shouldn't result in any functional change.

At the same time, avoid the use of __alias() in the header and alias
kvm_hyp_handle_iabt_low() and kvm_hyp_handle_watchpt_low() to
kvm_hyp_handle_memory_fault() using CPP, matching the style in the rest
of the kernel. For consistency, kvm_hyp_handle_memory_fault() is also
marked as 'inline'.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Tested-by: Mark Brown <broonie@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Fuad Tabba <tabba@google.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20250210195226.1215254-8-mark.rutland@arm.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:43:59 +02:00
Mark Rutland
60d55eb282 KVM: arm64: Refactor exit handlers
[ Upstream commit 9b66195063c5a145843547b1d692bd189be85287 ]

The hyp exit handling logic is largely shared between VHE and nVHE/hVHE,
with common logic in arch/arm64/kvm/hyp/include/hyp/switch.h. The code
in the header depends on function definitions provided by
arch/arm64/kvm/hyp/vhe/switch.c and arch/arm64/kvm/hyp/nvhe/switch.c
when they include the header.

This is an unusual header dependency, and prevents the use of
arch/arm64/kvm/hyp/include/hyp/switch.h in other files as this would
result in compiler warnings regarding missing definitions, e.g.

| In file included from arch/arm64/kvm/hyp/nvhe/hyp-main.c:8:
| ./arch/arm64/kvm/hyp/include/hyp/switch.h:733:31: warning: 'kvm_get_exit_handler_array' used but never defined
|   733 | static const exit_handler_fn *kvm_get_exit_handler_array(struct kvm_vcpu *vcpu);
|       |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~
| ./arch/arm64/kvm/hyp/include/hyp/switch.h:735:13: warning: 'early_exit_filter' used but never defined
|   735 | static void early_exit_filter(struct kvm_vcpu *vcpu, u64 *exit_code);
|       |             ^~~~~~~~~~~~~~~~~

Refactor the logic such that the header doesn't depend on anything from
the C files. There should be no functional change as a result of this
patch.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Tested-by: Mark Brown <broonie@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Fuad Tabba <tabba@google.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20250210195226.1215254-7-mark.rutland@arm.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:43:59 +02:00
Mark Rutland
6648fef8ff KVM: arm64: Remove VHE host restore of CPACR_EL1.SMEN
[ Upstream commit 407a99c4654e8ea65393f412c421a55cac539f5b ]

When KVM is in VHE mode, the host kernel tries to save and restore the
configuration of CPACR_EL1.SMEN (i.e. CPTR_EL2.SMEN when HCR_EL2.E2H=1)
across kvm_arch_vcpu_load_fp() and kvm_arch_vcpu_put_fp(), since the
configuration may be clobbered by hyp when running a vCPU. This logic
has historically been broken, and is currently redundant.

This logic was originally introduced in commit:

  861262ab86 ("KVM: arm64: Handle SME host state when running guests")

At the time, the VHE hyp code would reset CPTR_EL2.SMEN to 0b00 when
returning to the host, trapping host access to SME state. Unfortunately,
this was unsafe as the host could take a softirq before calling
kvm_arch_vcpu_put_fp(), and if a softirq handler were to use kernel mode
NEON the resulting attempt to save the live FPSIMD/SVE/SME state would
result in a fatal trap.

That issue was limited to VHE mode. For nVHE/hVHE modes, KVM always
saved/restored the host kernel's CPACR_EL1 value, and configured
CPTR_EL2.TSM to 0b0, ensuring that host usage of SME would not be
trapped.

The issue above was incidentally fixed by commit:

  375110ab51 ("KVM: arm64: Fix resetting SME trap values on reset for (h)VHE")

That commit changed the VHE hyp code to configure CPTR_EL2.SMEN to 0b01
when returning to the host, permitting host kernel usage of SME,
avoiding the issue described above. At the time, this was not identified
as a fix for commit 861262ab86.

Now that the host eagerly saves and unbinds its own FPSIMD/SVE/SME
state, there's no need to save/restore the state of the EL0 SME trap.
The kernel can safely save/restore state without trapping, as described
above, and will restore userspace state (including trap controls) before
returning to userspace.

Remove the redundant logic.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Tested-by: Mark Brown <broonie@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Fuad Tabba <tabba@google.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20250210195226.1215254-5-mark.rutland@arm.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
[Update for rework of flags storage -- broonie]
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:43:59 +02:00
Mark Rutland
9f2386b273 KVM: arm64: Remove VHE host restore of CPACR_EL1.ZEN
[ Upstream commit 459f059be702056d91537b99a129994aa6ccdd35 ]

When KVM is in VHE mode, the host kernel tries to save and restore the
configuration of CPACR_EL1.ZEN (i.e. CPTR_EL2.ZEN when HCR_EL2.E2H=1)
across kvm_arch_vcpu_load_fp() and kvm_arch_vcpu_put_fp(), since the
configuration may be clobbered by hyp when running a vCPU. This logic is
currently redundant.

The VHE hyp code unconditionally configures CPTR_EL2.ZEN to 0b01 when
returning to the host, permitting host kernel usage of SVE.

Now that the host eagerly saves and unbinds its own FPSIMD/SVE/SME
state, there's no need to save/restore the state of the EL0 SVE trap.
The kernel can safely save/restore state without trapping, as described
above, and will restore userspace state (including trap controls) before
returning to userspace.

Remove the redundant logic.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Tested-by: Mark Brown <broonie@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Fuad Tabba <tabba@google.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20250210195226.1215254-4-mark.rutland@arm.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
[Rework for refactoring of where the flags are stored -- broonie]
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:43:59 +02:00
Mark Rutland
a539ca5c23 KVM: arm64: Remove host FPSIMD saving for non-protected KVM
[ Upstream commit 8eca7f6d5100b6997df4f532090bc3f7e0203bef ]

Now that the host eagerly saves its own FPSIMD/SVE/SME state,
non-protected KVM never needs to save the host FPSIMD/SVE/SME state,
and the code to do this is never used. Protected KVM still needs to
save/restore the host FPSIMD/SVE state to avoid leaking guest state to
the host (and to avoid revealing to the host whether the guest used
FPSIMD/SVE/SME), and that code needs to be retained.

Remove the unused code and data structures.

To avoid the need for a stub copy of kvm_hyp_save_fpsimd_host() in the
VHE hyp code, the nVHE/hVHE version is moved into the shared switch
header, where it is only invoked when KVM is in protected mode.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Tested-by: Mark Brown <broonie@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Fuad Tabba <tabba@google.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20250210195226.1215254-3-mark.rutland@arm.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:43:59 +02:00
Mark Rutland
04c50cc23a KVM: arm64: Unconditionally save+flush host FPSIMD/SVE/SME state
[ Upstream commit fbc7e61195e23f744814e78524b73b59faa54ab4 ]

There are several problems with the way hyp code lazily saves the host's
FPSIMD/SVE state, including:

* Host SVE being discarded unexpectedly due to inconsistent
  configuration of TIF_SVE and CPACR_ELx.ZEN. This has been seen to
  result in QEMU crashes where SVE is used by memmove(), as reported by
  Eric Auger:

  https://issues.redhat.com/browse/RHEL-68997

* Host SVE state is discarded *after* modification by ptrace, which was an
  unintentional ptrace ABI change introduced with lazy discarding of SVE state.

* The host FPMR value can be discarded when running a non-protected VM,
  where FPMR support is not exposed to a VM, and that VM uses
  FPSIMD/SVE. In these cases the hyp code does not save the host's FPMR
  before unbinding the host's FPSIMD/SVE/SME state, leaving a stale
  value in memory.

Avoid these by eagerly saving and "flushing" the host's FPSIMD/SVE/SME
state when loading a vCPU such that KVM does not need to save any of the
host's FPSIMD/SVE/SME state. For clarity, fpsimd_kvm_prepare() is
removed and the necessary call to fpsimd_save_and_flush_cpu_state() is
placed in kvm_arch_vcpu_load_fp(). As 'fpsimd_state' and 'fpmr_ptr'
should not be used, they are set to NULL; all uses of these will be
removed in subsequent patches.

Historical problems go back at least as far as v5.17, e.g. erroneous
assumptions about TIF_SVE being clear in commit:

  8383741ab2 ("KVM: arm64: Get rid of host SVE tracking/saving")

... and so this eager save+flush probably needs to be backported to ALL
stable trees.

Fixes: 93ae6b01ba ("KVM: arm64: Discard any SVE state when entering KVM guests")
Fixes: 8c845e2731 ("arm64/sve: Leave SVE enabled on syscall if we don't context switch")
Fixes: ef3be86021c3bdf3 ("KVM: arm64: Add save/restore support for FPMR")
Reported-by: Eric Auger <eauger@redhat.com>
Reported-by: Wilco Dijkstra <wilco.dijkstra@arm.com>
Reviewed-by: Mark Brown <broonie@kernel.org>
Tested-by: Mark Brown <broonie@kernel.org>
Tested-by: Eric Auger <eric.auger@redhat.com>
Acked-by: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Florian Weimer <fweimer@redhat.com>
Cc: Fuad Tabba <tabba@google.com>
Cc: Jeremy Linton <jeremy.linton@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20250210195226.1215254-2-mark.rutland@arm.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
[ Mark: Handle vcpu/host flag conflict, remove host_data_ptr() ]
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:43:59 +02:00
Mark Brown
2fb8365017 arm64/fpsimd: Stop using TIF_SVE to manage register saving in KVM
[ Upstream commit 62021cc36a ]

Now that we are explicitly telling the host FP code which register state
it needs to save we can remove the manipulation of TIF_SVE from the KVM
code, simplifying it and allowing us to optimise our handling of normal
tasks. Remove the manipulation of TIF_SVE from KVM and instead rely on
to_save to ensure we save the correct data for it.

There should be no functional or performance impact from this change.

Signed-off-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221115094640.112848-5-broonie@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
[ Mark: trivial backport ]
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-04-25 10:43:59 +02:00