summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2026-08-10Merge tag 'samsung-soc-7.3' of ↵Arnd Bergmann1-1/+1
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/arm Samsung mach/soc changes for v7.3 Two minor cleanups: 1. Replace __ASSEMBLY__ with __ASSEMBLER__ in headers to have consistency with what compilers define. 2. Drop redundant mailing lists from Samsung MAINTAINERS entries (less code). * tag 'samsung-soc-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: MAINTAINERS: Drop redundant lists from various Samsung entries ARM: s3c: Replace __ASSEMBLY__ with __ASSEMBLER__ in header files Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'apple-soc-dt-7.3' of ↵Arnd Bergmann45-0/+5967
https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux into soc/dt Apple SoC DTS changes for 7.3 - Initial M3 Pro, Max and Ultra device trees, which are responsible for the majority of the diffstat. These include CPU cores, interrupt controller, power state, watchdog, serial pin/gpio controller, i2c and the boot framebuffer. They are now on par with the base M3 device trees. - HWMON sensors for M1/M2 - "pmgr-misc" nodes for M1/2 Pro/Max/Ultra which saves about 1W of power on these machines. The corresponding driver and dt-binding are part of the Apple SoC driver changes tag for this cycle. Signed-off-by: Sven Peter <sven@kernel.org> * tag 'apple-soc-dt-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux: (22 commits) arm64: dts: apple: Initial T6030 (M3 Pro) device trees arm64: dts: apple: Initial T603[124] (M3 Max and Ultra) device trees dt-bindings: pwm: apple,s5l-fpwm: Add t6030 and t6031 compatibles dt-bindings: i2c: apple,i2c: Add t6030 and t6031 compatibles dt-bindings: power: apple,pmgr-pwrstate: Add t6030 and t6031 compatibles dt-bindings: arm: apple: apple,pmgr: Add t6030 and t6031 compatibles dt-bindings: interrupt-controller: apple,aic2: Add apple,t6031-aic3 compatible dt-bindings: interrupt-controller: apple,aic2: Invert #interrupt-cells condition dt-bindings: arm: apple: Add M3 Pro/Max/Ultra devices (T603x) arm64: dts: apple: t60xx: jxxx: Add device-specific SMC hwmon sensors arm64: dts: apple: t8112: jxxx: Add device-specific SMC hwmon sensors arm64: dts: apple: t8103: jxxx: Add device-specific SMC hwmon sensors arm64: dts: apple: t602x: Add common SMC hwmon sensors arm64: dts: apple: t600x: Add common SMC hwmon sensors arm64: dts: apple: t8112: Add common SMC hwmon sensors arm64: dts: apple: t8103: Add common SMC hwmon sensors arm64: dts: apple: Add common SMC hwmon infrastructure arm64: dts: apple: t602x: Add SMC hwmon node arm64: dts: apple: t600x: Add SMC hwmon node arm64: dts: apple: t8103: Add SMC hwmon node ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'qcom-arm32-for-7.3' of ↵Arnd Bergmann9-8/+918
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt Qualcomm Arm32 DeviceTree updates for v7.3 Add initial device tree support for the MSM8926-based Sony Xperia M2 and the MSM8226-based Motorola Moto G2 (2014). Add touchscreen, Bluetooth pin configuration, NFC, and multicolor status LED support to the MSM8974-based HTC One M8 device tree. Add the coreriver,tc360-touchkey compatible touchkey node to the MSM8960 Samsung ExpressATT device tree and label PM8921 XOADC channels. Consolidate shared IPA properties in the SDX55 device tree. * tag 'qcom-arm32-for-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: ARM: dts: qcom: msm8926-sony-xperia-yukon-eagle: add initial device tree ARM: dts: qcom: msm8960: expressatt: Add coreriver,tc360-touchkey ARM: dts: qcom: msm8226: Support Motorola Moto G2 (2014) ARM: dts: qcom: pm8921: add labels for ADC channels ARM: dts: qcom: sdx55: consolidate IPA properties ARM: dts: qcom: msm8974pro-htc-m8: add touchscreen ARM: dts: qcom: msm8974pro-htc-m8: add Bluetooth pins ARM: dts: qcom: msm8974pro-htc-m8: add NFC support ARM: dts: qcom: msm8974pro-htc-m8: add status LEDs Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'qcom-arm64-for-7.3-2' of ↵Arnd Bergmann154-635/+5909
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt More Qualcomm Arm64 DeviceTree updates for v7.3 Introduce the Asus Zenbook A16 (UX3607OA). Add IPQ9574 PCIe bridge descriptions and enable PCIe0 and PCIe2 for QCN92xx Wi-Fi cards on RDP454. Align IPQ5018, IPQ6018, and IPQ8074 PCIe PHY and reset descriptions with the port-node binding. Extend Shikra platform enablement with CQM and IQS SoM Wi-Fi and Bluetooth descriptions. Enable CDSP, LPAICP, and MPSS remote processors on CQM, CQS, and IQS EVKs, and add SMP2P, QUPv3, DDR bandwidth monitor, CPU frequency hardware, EPSS L3 interconnect, OPP tables, thermal zones, GPIO reservations, and display and GPU clock controllers. Enable Eliza CQS EVK audio and add its LPASS macro and SoundWire descriptions. Add PMIC ADC support for Hamoa, Monaco, and Lemans, and ADC channel macros for the third-generation ADC block. Add minidump SRAM configurations across affected Qualcomm platforms. Fix QMP PHY vdda-phy and vdda-pll supply assignments across Qualcomm platforms. Correct PCIe IOMMU mappings for QCS6490, Lemans, Monaco, Talos, SM, SC, and related boards. Fix the Glymur/Mahua PDC interrupt mapping, USB HS properties, and wakeup configuration; correct board identifiers, pin configuration, GPIO supplies, default bus frequency, and DT validation issues. Enable the X1E80100 deepest idle state, configure SPMI ADC thermal monitoring on SM8550 and SM8650, add the Milos GPU clock controller, and assign SM8650 CCI clock rates. * tag 'qcom-arm64-for-7.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (117 commits) arm64: dts: qcom: talos-evk: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sa8155p-adp: Fix swapped USB and UFS QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: eliza-mtp: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: lemans: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: glymur: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: kaanapali: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sar2130p: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sm8750: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sm8650: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: purwa: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: hamoa: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sc8180x: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sc7280: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sc7180: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sm7225-fairphone-fp4: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: qcs6490: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: qcm6490: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: qcs8550-aim300: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sm8550: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sm8450: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'ti-k3-dts-for-v7.3' of ↵Arnd Bergmann41-12/+4259
https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/dt TI K3 device tree updates for v7.3 SoC Specific Changes: AM64: - Non critical clock ID update for ICSSG MDIO Board Specific Changes: AM62L BeagleBadge: - New AM62L based BeagleBadge board Variscite VAR-SOM-AM62(P): - Add support for Variscite VAR-SOM-AM62 and Symphony carrier board - var-som-am62p: Fix Ethernet PHY configuration and update audio codec configuration - am62p5-var-som-symphony: Add touchscreen and TPM support AM69 Aquila (Toradex): - DSI adapters and Display addon board overlays - OV5640 CSI camera overlays AM62x (Toradex Verdin): - DSI adapters and Display addon board overlays AM62P-Verdin: - Add Toradex OV5640 CSI camera overlay - Add NAU8822 Bridge Tied Load audio support AM642 TQMa64xxl: - Misc non-urgent fixes AM67A BeagleY-AI: - Setup I2C for CSI/DSI connectors and add DSI0/CSI1 mux - Add IMX219 CSI0/CSI1 camera overlays - Add gpio line names AM68 phyBOARD-Izar: - Add pwm fan support AM625-BeaglePlay: - Add LincolnTech OLDI LCD-185 overlay AM625-SK: - Add Microtips OLDI SK-LCD1 overlay AM62L: - Add bootph-all property to usb0 AM62A7-SK: - Add bootph-all property in cpsw_mac_syscon node * tag 'ti-k3-dts-for-v7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: (37 commits) arm64: dts: ti: Correct white-space style arm64: dts: ti: k3-am64: Fix MDIO clock reference for ICSSG0 node arm64: dts: ti: k3-am67a-beagley-ai: Add gpio line names arm64: dts: ti: k3-am62a7-sk: Add bootph-all property in cpsw_mac_syscon node arm64: dts: ti: k3-am67a-beagley-ai: Add overlay for IMX219 on CSI1 arm64: dts: ti: k3-am67a-beagley-ai: Add overlay for IMX219 on CSI0 arm64: dts: ti: k3-am67a-beagley-ai: Add DSI0/CSI1 mux arm64: dts: ti: k3-am67a-beagley-ai: Setup I2C for CSI/DSI connectors arm64: dts: ti: Add LincolnTech OLDI LCD-185 Overlay for AM625-BeaglePlay arm64: dts: ti: k3-am68-phyboard-izar: Add pwm fan arm64: dts: ti: Add Microtips OLDI SK-LCD1 Overlay for AM625-SK arm64: dts: ti: k3-am62l: Add bootph to usb0 arm64: dts: ti: k3-am62x-verdin: Share UART_4 MCU reservation overlay arm64: dts: ti: k3-am62p-verdin: Add Toradex OV5640 CSI Cameras arm64: dts: ti: k3-am62p-verdin: Add NAU8822 Bridge Tied Load arm64: dts: ti: k3-am62-verdin: Add RPi Touch Display 2 7-inch arm64: dts: ti: k3-am62-verdin: Add Mezzanine with Toradex Display 10.1" LVDS arm64: dts: ti: k3-am62-verdin: Add Toradex DSI to LVDS adapter with the 10.1" V2 display arm64: dts: ti: k3-am62-verdin: Add Toradex Capacitive Touch Display 10.1" LVDS V2 arm64: dts: am62p5-var-som-symphony: add TPM support ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'zynqmp-dt-for-7.3' of https://github.com/Xilinx/linux-xlnx into ↵Arnd Bergmann20-138/+713
soc/dt arm64: Xilinx DT changes for 7.3 bindings: - Cleanup xilinx.txt - Update ZynqMP firmware and clock descriptions zynq: - Drop bias-high-impedance on SD zynqmp: - Drop bias-high-impedance on SD - Correct indentation versalnet: - Enable firmware interface including clock, power and reset * tag 'zynqmp-dt-for-7.3' of https://github.com/Xilinx/linux-xlnx: arm64: versal-net: Switch Versal NET to firmware clock interface dt-bindings: clock: versal-clk: Fix Versal NET clock validation dt-bindings: clock: Move xlnx,zynqmp-clk to its own schema dt-bindings: clock: versal-clk: Fix mio_clk index range in clock-names pattern dt-bindings: firmware: xilinx: Add missing example for ZynqMP dt-bindings: xilinx: Remove EDK/Ethernet references arm64: dts: xilinx: zynqmp-sck: Correct indentation arm: dts: xilinx: drop bias-high-impedance on SDIO CD/WP pins arm64: dts: xilinx: drop bias-high-impedance on SDIO CD/WP pins Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'dt-cleanup-7.3' of ↵Arnd Bergmann23-129/+129
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt Minor improvements in DTS for v7.3 Several non-functional (white-space and style) changes to match with DTS coding style as reported by recent dt-check-style tool. * tag 'dt-cleanup-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt: ARM: dts: Correct white-space style ARM: dts: nvidia: tegra114-asus-tf701t: Correct trailing whitespace ARM: dts: vt8500: Correct indentation ARM: dts: microchip: at91: Correct indentation ARM: dts: arm: Correct indentation ARM: dts: sigmastar: Correct indentation Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'dt64-cleanup-7.3' of ↵Arnd Bergmann17-145/+128
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt Minor improvements in arm64 DTS for v7.3 Several non-functional (white-space and style) changes to match with DTS coding style as reported by recent dt-check-style tool. Goal is to get to no `dt-check-style --mode strict` warnings over time. * tag 'dt64-cleanup-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt: arm64: dts: Correct white-space style arm64: dts: amd: seattle: Remove useless xgbe DTSI include arm64: dts: amd: seattle: Remove useless clocks DTSI include Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'samsung-dt-7.3' of ↵Arnd Bergmann1-1/+40
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt Samsung DTS ARM changes for v7.3 Add Bluetooth to Exynos5250-based Google Manta (Nexus 10) board. * tag 'samsung-dt-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: dts: exynos: Add bluetooth support to manta Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'samsung-dt64-7.3-2' of ↵Arnd Bergmann37-411/+1170
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt Samsung DTS ARM64 changes for v7.3, part two Several non-functional (white-space and style) changes to match with DTS coding style as reported by recent dt-check-style tool. Goal is to get to no `dt-check-style --mode strict` warnings over time. * tag 'samsung-dt64-7.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: arm64: dts: exynos: Correct white-space style arm64: dts: fsd: Align continued properties and add missing blank lines arm64: dts: fsd: Move 'status' to the end to match coding style arm64: dts: google: Align continued properties and add missing blank lines arm64: dts: google: Move 'status' to the end to match coding style arm64: dts: exynos: Re-order clocks and align continued properties arm64: dts: exynos5433: Override thermal zones by phandle arm64: dts: exynos: Align continued properties and add missing blank lines arm64: dts: exynos: Move 'status' to the end to match coding style Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'v7.3-rockchip-dts64-2' of ↵Arnd Bergmann16-6/+4563
https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt More new boards: LincStation E1, Vicharak Vaaman, EmbedFire LubanCat 4, ArmSoM CM5 + IO-board and the Anbernic RG Vita-Pro handheld Apart from that some board-level changes and style fixes. * tag 'v7.3-rockchip-dts64-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: arm64: dts: rockchip: Add LincStation E1 dt-bindings: arm: rockchip: Add LincStation E1 arm64: dts: rockchip: Add Vicharak Vaaman board dt-bindings: arm: rockchip: Add Vicharak Vaaman board arm64: dts: rockchip: Add icm42607p IMU for RG-DS arm64: dts: rockchip: Correct white-space style arm64: dts: rockchip: Add EmbedFire LubanCat 4 board dt-bindings: arm: rockchip: Add EmbedFire LubanCat 4 board arm64: dts: rockchip: Keep rk3399-roc-pc-plus work LED on arm64: dts: rockchip: Enable wireless on rk3399-roc-pc-plus arm64: dts: rockchip: Fix rk3399-roc-pc-plus analog audio arm64: dts: rockchip: Add CSI-2 bus type to ROCK 5B+ camera overlays arm64: dts: rockchip: Drop data-mapping from Engicam PX30 Core arm64: dts: rockchip: Add Anbernic RG Vita-Pro dt-bindings: arm: rockchip: Add Anbernic RG Vita-Pro arm64: dts: rockchip: Add ArmSoM CM5 and CM5-IO dt-bindings: arm: rockchip: Add ArmSoM CM5 and CM5-IO Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'v7.3-rockchip-dts32-2' of ↵Arnd Bergmann7-7/+7
https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt Whitespace fixes * tag 'v7.3-rockchip-dts32-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: Correct white-space style Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'arm-sophgo-dt-for-v7.3' of https://github.com/sophgo/linux into ↵Arnd Bergmann2-0/+245
soc/dt ARM Devicetrees for v7.3 Sophgo: Add initial support for "Duo S" Board. This board uses SG2000(old codename CV181xH), which is dual-arch, RISC-V and ARM64. This patch adds the support for ARM64. Signed-off-by: Chen Wang <chen.wang@linux.dev> * tag 'arm-sophgo-dt-for-v7.3' of https://github.com/sophgo/linux: arm64: dts: sophgo: add initial Milk-V Duo S board support Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'riscv-sophgo-dt-for-v7.3' of https://github.com/sophgo/linux into ↵Arnd Bergmann5-1/+439
soc/dt RISC-V Devicetrees for v7.3 Sophgo: The changes of this PR are all for CV18xx serials. There are three major changes. The first is to allow DMA multiplexer setting channel number for DMA controller; the second is to add initial RISC-V support for "Duo S" board, which uses SG2000, a dual-arch SoC (RISC-V and ARM64); the third is to add support for "Duo 256M" board, another dev-board based on SG2002 SoC. Signed-off-by: Chen Wang <chen.wang@linux.dev> * tag 'riscv-sophgo-dt-for-v7.3' of https://github.com/sophgo/linux: riscv: dts: sophgo: Add Milk-V Duo 256M board support riscv: dts: sophgo: cv180x: Add PWR_GPIO controller dt-bindings: soc: sophgo: add Milk-V Duo 256M board riscv64: dts: sophgo: add initial Milk-V Duo S board support riscv64: dts: sophgo: add SG2000 dtsi riscv: dts: sophgo: cv180x: Allow the DMA multiplexer to set channel number for DMA controller Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Revert "riscv: dts: spacemit: k3: add i2s0-i2s5 nodes"Arnd Bergmann1-119/+0
This reverts commit cd01c677869affe1b01403ca2fad8fc0fe85e8bd, which caused a build failure: Lexical error: ../arch/riscv/boot/dts/spacemit/k3.dtsi:1181.20-39 Unexpected 'CLK_MPMU_I2S_SYSCLK' Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10arm64: Disable KCSAN instrumentation in delay.oMarco Elver1-0/+4
KCSAN relies on udelay() for injecting delays. To avoid recursively triggering a watchpoint, where KCSAN sets up watchpoint on an address that is accessed by udelay() in the same thread, disable instrumentation in arm64's delay implementation. Paul found a manifestation of this as follows: | BUG: KCSAN: data-race in __delay / set_need_resched_current | | read (marked) to 0xffff000005899b48 of 8 bytes by interrupt on cpu 8: | __delay+0xb0/0x378 | __udelay+0x4c/0x60 | kcsan_setup_watchpoint+0x3b4/0x820 | __tsan_unaligned_write4+0x228/0x26c | set_need_resched_current+0x138/0x1a8 | rcu_exp_handler+0x418/0x4a0 | __flush_smp_call_function_queue+0x36c/0x4a0 | generic_smp_call_function_single_interrupt+0x20/0x30 | ipi_handler+0xec/0x558 | handle_percpu_devid_irq+0x220/0x2a0 | generic_handle_domain_irq+0x84/0xb4 | gic_handle_irq+0x64/0x144 | call_on_irq_stack+0x30/0x48 | do_interrupt_handler+0x80/0xb8 | el1_interrupt+0x3c/0x60 | el1h_64_irq_handler+0x18/0x24 | el1h_64_irq+0x6c/0x70 | smp_call_function_single+0x18c/0x25c | sync_rcu_exp_select_node_cpus+0x534/0x8bc | rcu_exp_sel_wait_wake+0x358/0xef4 | wait_rcu_exp_gp+0x30/0x44 | kthread_worker_fn+0x1b4/0x5dc | kthread+0x1d8/0x204 | ret_from_fork+0x10/0x20 | | write to 0xffff000005899b4c of 4 bytes by interrupt on cpu 8: | set_need_resched_current+0x138/0x1a8 | [...] This matches what is already done in arch/x86/lib/Makefile. Reported-by: "Paul E. McKenney" <paulmck@kernel.org> Fixes: dd03762ab608 ("arm64: Enable KCSAN") Signed-off-by: Marco Elver <elver@google.com> Signed-off-by: Will Deacon <will@kernel.org>
2026-08-10x86/platform/geode: Remove old TODO message about leds-net5501.cEshaan Deshmukh2-8/+0
The TODO comment in alix.c and geos.c mentions moving leds-net5501.c to platform code. But, leds-net5501.c was already replaced by arch/x86/platform/geode/net5501.c. Signed-off-by: Eshaan Deshmukh <eshaan2031@icloud.com> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> Link: https://patch.msgid.link/20260810064953.2048373-1-eshaan2031@icloud.com
2026-08-10LoongArch: Remove CONFIG_GENERIC_GETTIMEOFDAY ifdefferyThomas Weißschuh1-2/+0
Now that there is a definition of VDSO_CLOCKMODE_CPU even if no vDSO is built, the ugly ifdeffery can be removed. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Link: https://patch.msgid.link/20260724-vdso-arch-clockmodes-v4-7-ddbe447be860@linutronix.de
2026-08-10MIPS: csrc-r4k: Remove CONFIG_GENERIC_GETTIMEOFDAY ifdefferyThomas Weißschuh1-2/+0
Now that there is a definition of VDSO_CLOCKMODE_R4K even if no vDSO is built, the ugly ifdeffery can be removed. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Link: https://patch.msgid.link/20260724-vdso-arch-clockmodes-v4-3-ddbe447be860@linutronix.de
2026-08-10x86/CPU: Add a tlbi= cmdline switchRik van Riel1-0/+10
With the recently found INVLPGB / TLBSYNC issue, there has been some interest in disabling INVLPGB-based TLB flushing, in order to rule out that CPU issue as a cause of userspace crashes. Add a kernel command line option to control the TLB flushing behavior. If the need arises, we will add a "tlbi=broadcast" for the case when TLB invalidation broadcasts need to be explicitly selected, but this is not needed now yet. [ bp: Rewrite commit message, move to cpu/common.c, add documentation. ] Fixes: 767ae437a32d ("x86/mm: Add INVLPGB feature and Kconfig entry") Suggested-by: Borislav Petkov <bp@alien8.de> Signed-off-by: Rik van Riel <riel@surriel.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Cc: <stable@kernel.org> Link: https://patch.msgid.link/20260729204341.3eb0b5ea@fangorn
2026-08-10perf/x86: Optimize ACR handling in match_prev_assignment()Dapeng Mi2-2/+13
match_prev_assignment() currently forces a mismatch for ACR events, so ACR counter indices are reprogrammed on every scheduling pass. That causes avoidable overhead because disable and enable paths must touch multiple MSRs. The previous ACR assignment is already cached in acr_cfg_b[]. Use that state to compare the newly computed ACR counter indices in hwc->config1 against the cached value in acr_cfg_b[hwc->idx]. If they match, skip unnecessary disable and enable work. Also tighten is_acr_self_reload_event() so it first verifies the event is an ACR event before testing for the self-reload case. Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Thomas Falcon <thomas.falcon@intel.com> Reviewed-by: Zide Chen <zide.chen@intel.com> Link: https://patch.msgid.link/20260717080342.1879573-8-dapeng1.mi@linux.intel.com
2026-08-10perf/x86/intel: Fix intel_cap handling on hybrid PMUsDapeng Mi1-11/+29
intel_cap (IA32_PERF_CAPABILITIES) updates are currently tied to X86_FEATURE_ARCH_PERFMON_EXT, but these are independent feature paths. As a result, hybrid PMU capability state can be updated under the wrong condition. Also, intel_pmu_broken_perf_cap() is too narrow. Per RPL018, the missing PERF_METRICS_AVAILABLE bit affects both Raptor Lake and Meteor Lake parts, not only the currently covered subset. Move intel_cap updates out of the ARCH_PERFMON_EXT-gated path, extend intel_pmu_broken_perf_cap() coverage to both RPL and MTL families, and introduce intel_update_pmu_caps() to centralize PMU capability updates. Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Thomas Falcon <thomas.falcon@intel.com> Reviewed-by: Zide Chen <zide.chen@intel.com> Link: https://patch.msgid.link/20260717080342.1879573-7-dapeng1.mi@linux.intel.com
2026-08-10perf/x86: Remove stale fixed counter helper and fix hybrid PMU accessDapeng Mi3-17/+4
On hybrid systems, init_hw_perf_events() can call check_hw_exists() with the global PMU pointer after perf_is_hybrid is set. In that case, fixed_counter_disabled() uses hybrid() on a non-hybrid PMU object, so the intel_ctrl access is taken from the wrong layout and can read out of bounds. fixed_counter_disabled() was added in commit 32451614da2a ("perf/x86/intel: Support CPUID 10.ECX to disable fixed counters"), when fixed counters were tracked via num_fixed_counters. Today fixed counters are represented by fixed_cntr_mask, so this helper is obsolete. Remove fixed_counter_disabled() and its callers, and rely directly on the fixed-counter bitmask. With the helper gone, check_hw_exists() no longer needs a PMU argument, so drop that parameter as well. This removes the invalid hybrid access and closes the out-of-bounds read risk. Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Thomas Falcon <thomas.falcon@intel.com> Reviewed-by: Zide Chen <zide.chen@intel.com> Link: https://patch.msgid.link/20260717080342.1879573-6-dapeng1.mi@linux.intel.com
2026-08-10perf/x86/intel: Unwind cpuc state if PEBS buffer setup failsDapeng Mi1-2/+9
intel_pmu_cpu_prepare() allocates per-CPU perf state first and then sets up the arch PEBS buffer. If alloc_arch_pebs_buf_on_cpu() fails, the previously allocated cpuc resources are left behind. Make the failure path call intel_cpuc_finish(cpuc) to release the per-CPU state allocated by intel_cpuc_prepare(). Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Thomas Falcon <thomas.falcon@intel.com> Reviewed-by: Zide Chen <zide.chen@intel.com> Link: https://patch.msgid.link/20260717080342.1879573-5-dapeng1.mi@linux.intel.com
2026-08-10perf/x86: Guard intel_pmu_cpu_dead() against invalid hybrid PMU castsDapeng Mi3-2/+11
In failure paths, cpuc->pmu can still point to the global static pmu instead of an embedded x86_hybrid_pmu::pmu. Calling hybrid_pmu() on that pointer causes an invalid container conversion and may lead to out-of-bounds access. This can happen in at least two cases: - init_hybrid_pmu() fails check_hw_exists() and leaves cpuc->pmu as-is. - CPU hotplug fails between CPUHP_PERF_X86_PREPARE and CPUHP_AP_PERF_X86_STARTING, and rollback invokes intel_pmu_cpu_dead(). Fix both paths by: - Clear cpuc->pmu to NULL when check_hw_exists() fails. - Validat that cpuc->pmu is not the global static pmu before calling hybrid_pmu() in intel_pmu_cpu_dead(). A new helper x86_get_static_pmu() is added to get the global static pmu. Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Thomas Falcon <thomas.falcon@intel.com> Reviewed-by: Zide Chen <zide.chen@intel.com> Link: https://patch.msgid.link/20260717080342.1879573-4-dapeng1.mi@linux.intel.com
2026-08-10perf/x86: Free hybrid state on PMU init failureDapeng Mi1-3/+12
If PMU initialization fails, for example in check_hw_exists(), hybrid state can be left partially initialized: x86_pmu.hybrid_pmu is not freed and perf_is_hybrid remains set. This can leak memory and leave stale hybrid state reachable after a failed init path. Add x86_pmu_free_hybrid() and use it on PMU init failure paths so all hybrid-related state is consistently reset. Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Thomas Falcon <thomas.falcon@intel.com> Reviewed-by: Zide Chen <zide.chen@intel.com> Link: https://patch.msgid.link/20260717080342.1879573-3-dapeng1.mi@linux.intel.com
2026-08-10perf/x86: Unregister PMI handler on PMU init failureDapeng Mi1-1/+3
Fix an NMI handler leak in init_hw_perf_events(). When PMU initialization fails after register_nmi_handler(), the error path exits without calling unregister_nmi_handler(), leaving a stale NMI_LOCAL "PMI" handler registered. Add the missing call before clearing x86_pmu state. Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Thomas Falcon <thomas.falcon@intel.com> Reviewed-by: Zide Chen <zide.chen@intel.com> Link: https://patch.msgid.link/20260717080342.1879573-2-dapeng1.mi@linux.intel.com
2026-08-10KVM: s390: vsie: Create constant SCB_ALIGNMENT_SHIFTChristoph Schlameuss2-4/+7
Create a simple constant for the SCB alignment shift. Signed-off-by: Christoph Schlameuss <schlameuss@linux.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
2026-08-10KVM: s390: vsie: Assert crycb alignment in vsie_pageChristoph Schlameuss1-0/+1
The crypto control block address is required to have double word alignment. Add a static_assert to enforce correct alignment. Signed-off-by: Christoph Schlameuss <schlameuss@linux.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com> [borntraeger@linux.ibm.com: improve commit message] Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
2026-08-10KVM: s390: vsie: Assert mcck_info offset in vsie_pageChristoph Schlameuss1-4/+2
Ensure that the backup info for machine check is the same offset as that in struct sie_page! With the assertion in place we do not need the comment anymore. Signed-off-by: Christoph Schlameuss <schlameuss@linux.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
2026-08-10KVM: s390: vsie: Convert shift to phys_to_pfn()Christoph Schlameuss1-1/+1
Make the code slightly more readable by using phys_to_pfn instead of an open coded shift. Signed-off-by: Christoph Schlameuss <schlameuss@linux.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com> [borntraeger@linux.ibm.com: improve commit message] Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
2026-08-10KVM: s390: vsie: Remove duplicate assertionChristoph Schlameuss1-1/+0
Remove useless BUILD_BUG_ON() checking the size of struct vsie_page. This is already covered by a static_assert at the struct vsie_page definition. Fixes: e38c884df921 ("KVM: s390: Switch to new gmap") Signed-off-by: Christoph Schlameuss <schlameuss@linux.ibm.com> [borntraeger@linux.ibm.com: improve commit message] Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
2026-08-10KVM: s390: Remove double 64bscao feature checkChristoph Schlameuss1-2/+1
sclp.has_64bscao is already verified in the guard clause a few lines above this. So we cannot reach this code if it is not true. Reviewed-by: Hendrik Brueckner <brueckner@linux.ibm.com> Reviewed-by: Eric Farman <farman@linux.ibm.com> Reviewed-by: Janosch Frank <frankja@linux.ibm.com> Signed-off-by: Christoph Schlameuss <schlameuss@linux.ibm.com> Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com> Reviewed-by: Janosch Frank <frankja@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@linux.ibm.com>
2026-08-10m68k: Fix backtraces for non-running tasksKarl Mehltretter1-2/+2
When no stack pointer is supplied, show_stack() starts at thread.esp0. This is the saved userspace register frame, not where a task was switched out. For kernel threads it points to the zeroed frame created by copy_thread(), so sched_show_task() prints no useful backtrace. Use thread.ksp for non-current tasks. It is saved by switch_to() and is already used by __get_wchan(). For current, start at the current stack frame, as is already done when no task is supplied. Tested on qemu-system-m68k -M virt using SysRq-t. All task dumps contained resolved frames. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com> Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> Tested-by: Geert Uytterhoeven <geert@linux-m68k.org> Link: https://patch.msgid.link/20260723041055.47289-1-kmehltretter@gmail.com Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2026-08-10m68k: defconfig: Update defconfigs for v7.2-rc1Geert Uytterhoeven12-60/+0
- Drop CONFIG_CRYPTO_CAMELLIA=m, CONFIG_CRYPTO_CTS=m, CONFIG_CRYPTO_CMAC=m, CONFIG_CRYPTO_SHA1=m, and CONFIG_CRYPTO_SHA512=m (auto-enabled since commit bf8672b99402abd8 ("SUNRPC: Add Kconfig dependency on CRYPTO_KRB5")). Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Link: https://patch.msgid.link/9842659245b4b16187fab67813cc98217d8a7036.1783937585.git.geert@linux-m68k.org
2026-08-10m68k: amiga: Remove redundant amiga_reset() prototypeThorsten Blum1-3/+1
Remove the redundant amiga_reset() prototype and mark the first one as __noreturn instead. Tested-by: Daniel Palmer <daniel@thingy.jp> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> Link: https://patch.msgid.link/20260629120426.680032-4-thorsten.blum@linux.dev Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
2026-08-10s390/preempt: Enable HAS_SEPARATE_PREEMPT_RESCHED_BITSHeiko Carstens3-27/+30
Convert s390's preempt_count to 64 bit, and change the preempt primitives accordingly. [boqun: Apply the corrected comment for asm block] Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Boqun Feng <boqun@kernel.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://patch.msgid.link/20260804161447.84806-13-boqun@kernel.org
2026-08-10arm64: sched/preempt: Enable HAS_SEPARATE_PREEMPT_RESCHED_BITSBoqun Feng1-0/+1
Arm64 already uses 64-bit preempt count and the need reschedule bit is maintained in a separate 32-bit word from the preempt count. Therefore preempt count has enough bits to represent 16 levels of NMI nesting, hence enable it for arm64. This saves a per-CPU variable and additional instructions in the NMI path. Signed-off-by: Boqun Feng <boqun@kernel.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://patch.msgid.link/20260804161447.84806-12-boqun@kernel.org
2026-08-10preempt: Introduce HAS_SEPARATE_PREEMPT_RESCHED_BITSBoqun Feng3-18/+40
With the changes that enable preempt count to track IRQ disabling nesting, we don't have enough bits in 32-bit preempt count implementation, as a result we move NMI nesting bits out of the 32-bit preempt count. However on the architectures that can support 64-bit preempt count implementation, we can keep the NMI nesting bits in the 32-bit preempt count and avoid maintaining NMI nesting bits outside of the same cache line. Therefore HAS_SEPARATE_PREEMPT_RESCHED_BITS is introduced to allow architectures to select this. Note that under this Kconfig, preempt count is maintained in a 64-bit word however preempt_count() still remains as an int because all the effective bits still fit in (previously we mask out NEED_RESCHED bit in preempt_count()). This should make no functional changes for existing preempt_count() users. Enable this for x86_64 along with the introduction of the Kconfig. [boqun: Undo the __preempt_count_{add,sub}() optimization in 32-bit preempt count since it may introduce {over,under}flow] Originally-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Boqun Feng <boqun@kernel.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://patch.msgid.link/20260804161447.84806-11-boqun@kernel.org
2026-08-10Merge tag 'omap-for-v7.3/soc-signed' of ↵Arnd Bergmann2-10/+21
git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap into soc/arm soc: OMAP2 updates for v7.3 - minor fixes * tag 'omap-for-v7.3/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap: ARM: OMAP2+: Fix OF node reference leaks in omap_hwmod ARM: OMAP2+: Add CFI type for omap4_finish_suspend Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'soc_fsl-7.3-1' of ↵Arnd Bergmann1-8/+0
https://git.kernel.org/pub/scm/linux/kernel/git/chleroy/linux into soc/drivers FSL SOC Changes for 7.3 Freescale QUICC Engine: - Use generic I/O helpers in interrupt controller for IO Ports - Move CONFIG_QE_GPIO out of powerpc - Fix DT scan for GPIO nodes - Convert IO ports interrupt controller to generic IRQ chip - Add support of IRQs in GPIO controller - Implement get_direction() in GPIO controller - Check platform_driver_register() in interrupt controller for IO Ports Data Path I/O: - Replace maintainer - Remove redundant dev_err() - Fix kernel-doc typos Freescale Management Complex: - Use strscpy() to copy strings into arrays - Remove redundant dev_err() - Drop unused assignment of acpi_device_id::driver_data Other changes: - Add kernel and device tree binding support for RCW override, completing the SerDes PHY driver functionality - Fix kernel-doc warnings and typos in DPAA header * tag 'soc_fsl-7.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/chleroy/linux: (31 commits) bus: fsl-mc: drop unused assignment of acpi_device_id::driver_data soc: fsl: qe: check platform_driver_register() in qe_ic_of_init() phy: lynx-10g: use RCW override procedure for dynamic protocol change soc: fsl: guts: implement the RCW override procedure dt-bindings: fsl: layerscape-dcfg: define DCFG_DCSR region soc: fsl: guts: make fsl_soc_data available after fsl_guts_init() soc: fsl: guts: make it easier to determine on which SoC we are running soc: fsl: guts: add a central fsl_guts_read() function soc: fsl: guts: add a global structure to hold state soc: fsl: guts: use a macro to encode the DCFG CCSR space soc: fsl: guts: perform fsl_guts_init() error teardown in reverse order of setup soc: fsl: dpio: fix kernel-doc typos soc: fsl: fix kernel-doc warnings and typos bus: fsl-mc: Remove redundant dev_err() soc: fsl: qe: Add support of IRQs in QE GPIO soc: fsl: qe: Rename irq variable to parent_irq soc: fsl: qe: Convert to generic IRQ chip soc: fsl: qe: Handle spurious interrupts soc: fsl: qe: Iterate over all pending interrupts in cascade handler soc: fsl: qe: Use generic_handle_domain_irq() ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'ti-k3-config-for-v7.3' of ↵Arnd Bergmann1-0/+5
https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/defconfig TI K3 defconfig updates for v7.3 Board Specific Features AM62L BeagleBadge: - Enable drivers for components on BeagleBadge board * tag 'ti-k3-config-for-v7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: arm64: defconfig: Enable drivers for BeagleBadge Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'tegra-for-7.2-arm64-dt-fixes-v2' of ↵Arnd Bergmann1-0/+2
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/fixes arm64: tegra: Device tree fixes for v7.2 This contains a single fix adding an interrupt to the architected timer's device tree node for the EL2 virtual timer. This prevents a warning from the driver at boot time. * tag 'tegra-for-7.2-arm64-dt-fixes-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: arm64: tegra: Add EL2 virtual timer interrupt for Tegra194 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'apple-soc-fixes-7.2' of ↵Arnd Bergmann1-15/+15
https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux into arm/fixes Apple SoC fixes for 7.2 Just a single commit that fixes the i2c IRQ and MMIO ranges for the M3 SoC. Signed-off-by: Sven Peter <sven@kernel.org> * tag 'apple-soc-fixes-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux: arm64: dts: apple: t8122: Fix I2C resources Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10LoongArch: KVM: Replace kvm_err() with kvm_pr_unimpl()Bibo Mao6-45/+45
Since guest kernel and ioctl() parameter from user mode is untrusted, there may be noise kernel log output in host hypervisor with abnormal state. Here replace kvm_err() with kvm_pr_unimpl() to reduce this kind of noise kernel log, and there is no function change. Signed-off-by: Bibo Mao <maobibo@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2026-08-10LoongArch: KVM: Use internal API to deliver interrupt in kernel modeBibo Mao4-16/+22
API kvm_vcpu_ioctl_interrupt() is mainly to used to deliver interrupt from user mode, and internal APIs kvm_queue_irq() and kvm_dequeue_irq() are used in kernel mode. Also move IPI inject and ack within lock protection to avoid contention in ipi_set() and ipi_clear(). Signed-off-by: Bibo Mao <maobibo@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2026-08-10LoongArch: KVM: Fix uninitialized stack variable issue with dmsintcBibo Mao1-2/+1
Variable vector[] is declared on stack in function dmsintc_inject_irq() and sometimes it is used without initialized. Here fix this issue. Cc: stable@vger.kernel.org Fixes: 03de5eecb0f0 ("LoongArch: KVM: Add DMSINTC inject msi to vCPU") Signed-off-by: Bibo Mao <maobibo@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2026-08-10LoongArch: KVM: Return directly when IPI address is not alignedBibo Mao1-9/+13
When IPI address is not aligned with its access size, it should return directly in read/write operations, rather than only print a message with WARN_ON_ONCE(). The method is the same with in kernel EIOINTC and PCHPIC operations. Signed-off-by: Bibo Mao <maobibo@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2026-08-10LoongArch: KVM: Set default MAILBOX access size with 8Bibo Mao1-7/+2
With IOCSR instruction emulation in function kvm_emu_iocsr(), possible size combination is 1/2/4/8 and no other combinations. Here remove the old default case and replace the default case with 8 in read_mailbox() and write_mailbox(). Signed-off-by: Bibo Mao <maobibo@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
2026-08-10LoongArch: KVM: Set vcpu->cpu before IN_GUEST_MODE is setBibo Mao1-1/+1
In function kvm_make_vcpu_request(), it will send IPI to physical CPU when vCPU is in IN_GUEST_MODE mode. And physical CPU is set in function kvm_check_vpid(), thus it should be called before IN_GUEST_MODE is set. Otherwise IPI will send to wrong old physical CPU where vCPU is running. Cc: stable@vger.kernel.org Fixes: 2fc3bd86db4b ("LoongArch: KVM: Implement basic vcpu interfaces") Signed-off-by: Bibo Mao <maobibo@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>