summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2026-01-28Merge tag 'qcom-arm64-for-6.20-2' of ↵Arnd Bergmann18-275/+1502
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt More Qualcomm Arm64 DeviceTree updates for v6.20 Enable ADSP FastRPC and add missing GPU memory regions on Agatti. Also add the missing GPU regions on SM6115. Describe the application subsystem watchdog on Hamoa and enable this in the EL2 configurations. Add the camera control interface (CCI) I2C controller on MSM8953, and describe the camera regulators and the camera EEPROM on Fairphone FP3. Specify clock frequency for the i2c4 bus on OnePlus 6, to silence the warnings about missing frequency definition. Add FastRPC and associated heap memory, as well as Coresight, on SM8750 Switch a variety of platforms to use the generic RPMPD_ constants, instead of target-specific duplicated, to allow us to drop these from the header files. Drop the invalid opp-shared on the QUP OPP table for Talos. * tag 'qcom-arm64-for-6.20-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: arm64: dts: qcom: sm6115: Add CX_MEM/DBGC GPU regions arm64: dts: qcom: agatti: Add CX_MEM/DBGC GPU regions arm64: dts: qcom: sm8750: add ADSP fastrpc-compute-cb nodes arm64: dts: qcom: sm8750: add memory node for adsp fastrpc arm64: dts: qcom: switch to RPMPD_* indices arm64: dts: qcom: oneplus-enchilada: Specify i2c4 clock frequency arm64: dts: qcom: sm6350: Add clocks for aggre1 & aggre2 NoC arm64: dts: qcom: agatti: enable FastRPC on the ADSP arm64: qcom: dts: sm8750: add coresight nodes arm64: dts: qcom: talos: Drop opp-shared from QUP OPP table arm64: dts: qcom: x1-el2: Enable the APSS watchdog arm64: dts: qcom: hamoa: Add the APSS watchdog dt-bindings: watchdog: Document X1E80100 compatible arm64: dts: qcom: sdm632-fairphone-fp3: Enable CCI and add EEPROM arm64: dts: qcom: sdm632-fairphone-fp3: Add camera fixed regulators arm64: dts: qcom: msm8953: Add CCI nodes arm64: dts: qcom: msm8953: Re-sort tlmm pinctrl states Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'v6.20-rockchip-dts64-2' of ↵Arnd Bergmann26-45/+2474
https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt New boards: Anberic RG-DS game console, Radxa CM3J module + baseboard for the Rpi CM4 IO board, QNAP TS133 from the RK3568 NAS series. 2 display outputs for the Lion board (old RK3368), TPS65185 pmic for the PineNote and fixes for the PCIe ranges on both RK356x and RK3588. These came quite late, so I wanted to give them the time till 6.20-rc1 and have them migrate to stable-kernels afterwards. The rest is small stuff on a number of boards wrt gpios and compatibles. * tag 'v6.20-rockchip-dts64-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (25 commits) arm64: dts: rockchip: Fix rk3588 PCIe range mappings arm64: dts: rockchip: Fix rk356x PCIe range mappings arm64: dts: rockchip: Add Anbernic RG-DS dt-bindings: input: touchscreen: goodix: Add "panel" property dt-bindings: arm: rockchip: Add Anbernic RG-DS arm64: dts: rockchip: Explicitly request UFS reset pin on RK3576 arm64: dts: rockchip: Add TPS65185 for PineNote arm64: dts: rockchip: Do not enable hdmi_sound node on Pinebook Pro arm64: dts: rockchip: Fix imx258 variant on pinephone pro arm64: dts: rockchip: Add the Video-Demo overlay for Lion Haikou arm64: dts: rockchip: Enable pwm1 on rk3368-lion-haikou arm64: dts: rockchip: Enable HDMI output on RK3368-Lion-Haikou arm64: dts: rockchip: Add HDMI node to RK3368 arm64: dts: rockchip: Use phandle for i2c_lvds_blc on rk3368-lion haikou arm64: dts: rockchip: Fix SD card support for RK3576 Nanopi R76s arm64: dts: rockchip: Fix SD card support for RK3576 EVB1 arm64: dts: rockchip: Add Radxa CM3J on RPi CM4 IO Board arm64: dts: rockchip: Add Radxa CM3J dt-bindings: arm: rockchip: Add Radxa CM3J on RPi CM4 IO Board arm64: dts: rockchip: Make eeprom read-only for Radxa ROCK 3C/5A/5C ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'v6.20-rockchip-dts32-2' of ↵Arnd Bergmann1-3/+0
https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt Removal of the obsolete mshc aliases from RK3036. * tag 'v6.20-rockchip-dts32-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: rk3036: remove mshc aliases Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'at91-dt-6.20' of ↵Arnd Bergmann4-94/+412
https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt Microchip AT91 device tree updates for v6.20 This update includes: - update the SAMA7D65 flexcom nodes to add the missing i2c, spi, and usart child nodes; the flexcom child nodes were also updated with DMA properties - add basic support for the PCB8385 board, based on LAN966X SoC - drop usb_a9g20-dab-mmx.dtsi as it is not used anywhere in the tree * tag 'at91-dt-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux: ARM: dts: microchip: Drop usb_a9g20-dab-mmx.dtsi ARM: dts: Add support for pcb8385 dt-bindings: arm: at91: add lan966 pcb8385 board ARM: dts: microchip: sama7d65: add missing flexcom nodes ARM: dts: microchip: sama7d65: add fifo-size to usart ARM: dts: microchip: sama7d65: add dma properties to usart6 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'cix-dt-v6.20-rc1' of ↵Arnd Bergmann3-1/+85
git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/cix into soc/dt - add OrangePi 6 Plus board - one small improvement * tag 'cix-dt-v6.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/cix: arm64: dts: cix: Add OrangePi 6 Plus board support arm64: dts: cix: Use lowercase hex Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'mvebu-dt64-6.20-1' of ↵Arnd Bergmann19-18/+242
git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/dt mvebu dt64 for 6.20 (part 1) Add support for Armada 7020 Express Type 7 CPU module board by Marvell, including: - COM Express CPU module and carrier board (Marvell DB-98CX85x0) - DDR4 memory, 1Gbit OOB Ethernet, 10G KR Ethernet, NAND/SPI flash, PCIe, SATA, USB, and UART interfaces Add SoC-specific compatibles for SafeXcel crypto engine on Armada 37xx and CP11x Fix regulator type from "regulator-gpio" to "regulator-fixed" where no GPIO control is present Add missing GPIO properties for "nxp,pca9536" on cn9131-cf-solidwan Fix and clean up pinctrl-names properties and typos Add missing "#phy-cells" to "usb-nop-xceiv" nodes MAINTAINERS: Add Falcon DB to the list of maintained Marvell Armada dts files * tag 'mvebu-dt64-6.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu: MAINTAINERS: Add Falcon DB arm64: dts: a7k: add COM Express boards arm64: dts: marvell: Add SoC specific compatibles to SafeXcel crypto arm64: dts: marvell: change regulator-gpio to regulator-fixed arm64: dts: marvell: cn9131-cf-solidwan: Add missing GPIO properties on "nxp,pca9536" arm64: dts: marvell: Fix stray and typo "pinctrl-names" properties arm64: dts: marvell: Add missing "#phy-cells" to "usb-nop-xceiv" Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'mtk-dts64-for-v6.20' of ↵Arnd Bergmann30-220/+2781
https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt MediaTek ARM64 Device Tree updates This adds support for new boards and variants based on different already supported MediaTek SoCs, and improves support for current boards. In particular: - New machines: - Ezurio Tungsten 510 (MediaTek Genio 510 SoC) - Ezurio Tungsten 700 (MediaTek Genio 700 SoC) ...improvements for already supported SoCs and machines: - MT7981b gains support for PCI-Express, USB, Ethernet and for the "GED" WiFi HW offload - OpenWRT One board gains support for the same - MT8188/8195/8390/8395 gains support for the DPI1 interface and HDMI output from the SoC's HDMI Tx controller along with its HDMI PHY and DDC IPs, usable on a selection of boards that expose a HDMI connector, namely: - All MT8390 Genio EVK based boards - All MT8395 Genio EVK based boards - Radxa NIO-12L (MT8395) ...and dtbs_check warning fixes for many of the MTK devicetrees, including MT6795, MT7981, MT7986, MT7988, MT8173, MT8183, MT8186, MT8188, MT8192, and a dts coding style fix for Airoha EN7581-EVB. This also includes a fix for the new devicetree overlay warnings, adding dtbs with applied overlays for all of the devices having at least one overlay. * tag 'mtk-dts64-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (47 commits) arm64: dts: mediatek: mt8192: Rename mt8192-afe-pcm to audio-controller dt-bindings: arm: mediatek: audsys: Support mt8192-audsys variant arm64: dts: mediatek: mt7988a: Fix PCI-Express T-PHY node address arm64: dts: mediatek: mt8186-evb: Add vproc fixed regulator arm64: dts: mediatek: mt7981b-openwrt-one: Add address/size cells to eth arm64: dts: mediatek: mt8183-kukui: Clean up IT6505 regulator supply arm64: dts: mediatek: mt7986a: Change compatible for SafeXcel crypto arm64: dts: mediatek: mt8173-evb: Add interrupts to DA9211 regulator arm64: dts: mediatek: mt6795-xperia-m5: Rename PMIC leds node arm64: dts: mediatek: mt6795: Fix issues in SCPSYS node arm64: dts: mediatek: mt6331: Fix VCAM IO regulator name arm64: dts: mediatek: mt6795-xperia-m5: Add UHS pins for MMC1 and 2 arm64: dts: mediatek: mt8192-asurada: Remove unused clock-stretch-ns arm64: dts: mediatek: mt8173-elm: Remove regulators from thermal node arm64: dts: mediatek: mt8173-elm: Fix dsi0 ports warning arm64: dts: mediatek: mt8173-elm: Fix bluetooth node name and reorder arm64: dts: mediatek: mt8183-pumpkin: Fix pinmux node names arm64: dts: mediatek: mt8183-jacuzzi-pico6: Fix typo in pinmux node arm64: dts: mediatek: mt7981b-openwrt-one: Remove useless cells from flash@0 arm64: dts: mediatek: mt8183-evb: Fix dtbs_check warnings ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'omap-for-v6.20/dt-signed' of ↵Arnd Bergmann14-360/+15
git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap into soc/dt ARM: dts: OMAP updates for v6.20 * tag 'omap-for-v6.20/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap: ARM: dts: omap: dra7: Remove bogus #syscon-cells property ARM: dts: ti/omap: omap*: fix watchdog node names ARM: dts: ti: Drop unused .dtsi ARM: dts: Drop am335x-base0033 devicetree ARM: dts: tps65910: Add gpio & interrupt properties ARM: dts: omap: enable panic-indicator option ARM: dts: ti/omap: omap4-epson-embt2ws: add powerbutton Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'sunxi-dt-for-6.20' of ↵Arnd Bergmann14-4/+254
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt Allwinner device tree changes for 6.20 Not many changes this cycle. - The A523 family of SoCs gained support for SPI controllers. - Some cleanup of old ARM device tree files to fix DT binding validation errors. - D1 and A100 SoCs gained support for their LED controller. This was from a couple years ago. The driver made it in, but the DT patches were missed. - D1 and T113 SoCs gained support for the internal thermal sensor. * tag 'sunxi-dt-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: riscv: dts: allwinner: d1: Add CPU thermal sensor and zone ARM: dts: allwinner: Replace status "failed" with "fail" riscv: dts: allwinner: d1: Add RGB LEDs to boards riscv: dts: allwinner: d1: Add LED controller node arm64: dts: allwinner: a100: Add LED controller node ARM: dts: allwinner: sun5i-a13-utoo-p66: delete "power-gpios" property arm64: dts: allwinner: t527: orangepi-4a: Enable SPI-NOR flash arm64: dts: allwinner: sun55i: Add SPI controllers Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'amlogic-arm-dt-for-v6.20' of ↵Arnd Bergmann1-5/+0
https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt Amlogic ARM DT for v6.20: - drop iio-hwmon in favour of generic-adc-thermal * tag 'amlogic-arm-dt-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: ARM: dts: meson: drop iio-hwmon in favour of generic-adc-thermal Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'amlogic-arm64-dt-for-v6.20' of ↵Arnd Bergmann78-247/+434
https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt Amlogic ARM64 DT for v6.20: - Cleanups: - Use lowercase hex - Use hyphen in node names - move CPU OPP table and clock assignment to SoC.dtsi - drop useless assigned-clock-parents - MMC clock fixup across multiple families - Add type-c controller on Radxa Zero 2 and enable NPU - New board: - Khadas VIM1s based on Amlogic S4 * tag 'amlogic-arm64-dt-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: arm64: dts: amlogic: meson-s4-s905y4-khadas-vim1s: enable SDIO interface arm64: dts: amlogic: add the type-c controller on Radxa Zero 2 arm64: dts: amlogic: meson-sm1-odroid: Eliminate Odroid HC4 power glitches during boot. arm64: dts: amlogic: meson-s4-s905y4-khadas-vim1s: enable eMMC storage arm64: dts: meson-s4-s905y4-khadas-vim1s: add initial device tree arm64: dts: meson-s4-aq222: update compatible string with s805x2 dt-bindings: arm: amlogic: introduce specific compatibles for S4 family arm64: dts: amlogic: Enable the npu node on Radxa Zero 2 arm64: dts: amlogic: g12: assign the MMC A signal clock arm64: dts: amlogic: g12: assign the MMC B and C signal clocks arm64: dts: amlogic: gx: assign the MMC signal clocks arm64: dts: amlogic: axg: assign the MMC signal clocks arm64: dts: amlogic: a1: align the mmc clock setup arm64: dts: amlogic: c3: assign the MMC signal clocks arm64: dts: amlogic: s4: fix mmc clock assignment arm64: dts: amlogic: s4: assign mmc b clock to 24MHz arm64: dts: amlogic: drop useless assigned-clock-parents arm64: dts: amlogic: move CPU OPP table and clock assignment to SoC.dtsi arm64: dts: amlogic: Use lowercase hex arm64: dts: amlogic: Use hyphen in node names Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'spacemit-dt-for-6.20-1' of https://github.com/spacemit-com/linux ↵Arnd Bergmann9-17/+1107
into soc/dt RISC-V SpacemiT DT changes for 6.20 - Disable Ethernet PHY auto sleep mode - Add pinctrl IO power support - Add K3 Pico-ITX board - Add support for K3 SoC - Add DWC USB support - Add reset for eMMC(sdhci)/I2C - Add PCIe support - Support PMIC for Jupiter board * tag 'spacemit-dt-for-6.20-1' of https://github.com/spacemit-com/linux: riscv: dts: spacemit: Disable ETH PHY sleep mode for OrangePi riscv: dts: spacemit: pinctrl: update register and IO power riscv: dts: spacemit: add K3 Pico-ITX board support riscv: dts: spacemit: add initial support for K3 SoC dt-bindings: riscv: spacemit: add K3 and Pico-ITX board bindings dt-bindings: interrupt-controller: add SpacemiT K3 IMSIC dt-bindings: interrupt-controller: add SpacemiT K3 APLIC dt-bindings: timer: add SpacemiT K3 CLINT dt-bindings: riscv: add SpacemiT X100 CPU compatible riscv: dts: spacemit: k1: Add "b" ISA extension riscv: dts: spacemit: Enable USB3.0 on BananaPi-F3 riscv: dts: spacemit: Add DWC3 USB 3.0 controller node for K1 riscv: dts: spacemit: Add USB2 PHY node for K1 riscv: dts: spacemit: sdhci: add reset support riscv: dts: spacemit: add reset property riscv: dts: spacemit: PCIe and PHY-related updates riscv: dts: spacemit: Add a PCIe regulator riscv: dts: spacemit: Define the P1 PMIC regulators for Milk-V Jupiter riscv: dts: spacemit: Define fixed regulators for Milk-V Jupiter riscv: dts: spacemit: Enable i2c8 adapter for Milk-V Jupiter Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'samsung-dt64-6.20-2' of ↵Arnd Bergmann1-0/+17
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt Samsung DTS ARM64 changes for v6.20, part two Add DPU clock management unit nodes to Google GS101. * tag 'samsung-dt64-6.20-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: arm64: dts: exynos: gs101: add cmu_dpu and sysreg_dpu dt nodes dt-bindings: clock: google,gs101-clock: Add DPU clock management unit dt-bindings: clock: google,gs101-clock: fix alphanumeric ordering Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'arm-soc/for-6.20/devicetree-arm64' of ↵Arnd Bergmann12-419/+275
https://github.com/Broadcom/stblinux into soc/dt This pull request contains Broadcom ARM64-based SoCs DT changes for 6.20, please pull the following: - Peter enables the RNG on 2712 (Raspberry Pi 5) - Stanimir adds the watchdog DT node on 2712 - Rob removes undocumneted nodes, reworks clock nodes, fixes the "simple-bus" node names, and cleans up additional properties and nodes for all Broadcom ARM64-based SoCs * tag 'arm-soc/for-6.20/devicetree-arm64' of https://github.com/Broadcom/stblinux: arm64: dts: broadcom: bcm4906-netgear-r8000p: Drop unnecessary "ranges" in partition node arm64: dts: broadcom: northstar2: Drop "arm,cci-400-pmu" fallback compatible arm64: dts: broadcom: northstar2: Drop QSPI "clock-names" arm64: dts: broadcom: northstar2: Drop unused and undocumented "brcm,pcie-ob-oarr-size" properties arm64: dts: broadcom: northstar2: Rework clock nodes arm64: dts: broadcom: ns2-svk: Use non-deprecated at25 properties arm64: dts: broadcom: Use preferred node names arm64: dts: broadcom: stingray: Move raid nodes out of bus arm64: dts: broadcom: stingray: Fix 'simple-bus' node names arm64: dts: broadcom: stingray: Rework clock nodes arm64: dts: broadcom: Remove unused and undocumented nodes arm64: dts: broadcom: bcm2712: Add watchdog DT node arm64: dts: broadcom: bcm2712: Enable RNG Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'arm-soc/for-6.20/devicetree' of ↵Arnd Bergmann1-2/+2
https://github.com/Broadcom/stblinux into soc/dt This pull request contains Broadcom ARM-based SoCs DT changes for 6.20, please pull the following: - Rob fixes the simple-bus node names in the BCM2711 .dtsi file * tag 'arm-soc/for-6.20/devicetree' of https://github.com/Broadcom/stblinux: ARM: dts: broadcom: bcm2711: Fix 'simple-bus' node names Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28arm64: poe: fix stale POR_EL0 values for ptraceJoey Gouly1-0/+3
If a process wrote to POR_EL0 and then crashed before a context switch happened, the coredump would contain an incorrect value for POR_EL0. The value read in poe_get() would be a stale value left in thread.por_el0. Fix this by reading the value from the system register, if the target thread is the current thread. This matches what gcs/fpsimd do. Fixes: 175198199262 ("arm64/ptrace: add support for FEAT_POE") Reported-by: David Spickett <david.spickett@arm.com> Cc: stable@vger.kernel.org Signed-off-by: Joey Gouly <joey.gouly@arm.com> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Reviewed-by: Kevin Brodsky <kevin.brodsky@arm.com> Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Will Deacon <will@kernel.org>
2026-01-28Merge tag 'riscv-sophgo-dt-for-v6.20' of https://github.com/sophgo/linux ↵Arnd Bergmann5-521/+544
into soc/dt RISC-V/Sophgo Devicetrees for v6.20 Sophgo: For CV18xx serials: Update RX/TX FIFO size to fix the USB transfer issue. For SG2042: Optimize the DTS file format, including moving PLIC/CLINT nodes into cpu dtsi and sorting peripheral nodes by address. In addition, we also enable RTC for Pioneerbox. For SG2044: Add "b" ISA extension to fix dtbs_check warnings. Signed-off-by: Chen Wang <unicorn_wang@outlook.com> * tag 'riscv-sophgo-dt-for-v6.20' of https://github.com/sophgo/linux: riscv: dts: sophgo: sg2044: Add "b" ISA extension riscv: dts: sophgo: fix the node order of SG2042 peripheral riscv: dts: sophgo: Move PLIC and CLINT node into CPU dtsi riscv: dts: sophgo: enable hardware clock (RTC) on the Milk-V Pioneer riscv: dts: sophgo: cv180x: fix USB dwc2 FIFO sizes Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'stm32-dt-for-v6.20-1' of ↵Arnd Bergmann25-228/+356
git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into soc/dt STM32 DT for v6.20, round 1 Highlights: ---------- - MCU: - Update/add Led support on ST boards. - MPU: - STM32MP13: - Add boot led and red led on ST DK board. - STMP32MP15: - Add boot led and red led on ST DK boards. - Add SPI1 sleep pinctrl group. - STM32MP23: - Add green ,orange and boot leds on ST boards. - Add SPI, I2C, DCMIPP and CSI instances to CLUSTER_PD power domain. - Enable analog-filter to all I2C instances. - STM32MP25: - Add green ,orange and boot leds on ST boards. - Add SPI, I2C, DCMIPP and CSI instances to CLUSTER_PD power domain. - Enable analog-filter to all I2C instances. - Add LPDDR/DDR channels to ST boards. * tag 'stm32-dt-for-v6.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: (31 commits) arm/arm64: dts: st: Drop unused .dtsi arm64: STM32: drop an undefined Kconfig symbol arm64: dts: st: Minor whitespace cleanup arm64: dts: st: Use hyphen in node names arm64: dts: st: add power-domain of dcmipp in stm32mp231.dtsi arm64: dts: st: add power-domain of dcmipp in stm32mp251.dtsi dt-bindings: media: st: dcmipp: add 'power-domains' property arm64: dts: st: add power-domain of csi in stm32mp231.dtsi arm64: dts: st: add power-domain of csi in stm32mp251.dtsi dt-bindings: media: st: csi: add 'power-domains' property ARM: dts: stm32: add spi1 sleep state pinctrl on stm32mp157c-ev1 arm64: dts: st: add DDR channel to stm32mp257f-ev1 board arm64: dts: st: add LPDDR channel to stm32mp257f-dk board arm64: dts: st: enable i2c analog-filter in stm32mp231.dtsi arm64: dts: st: enable i2c analog-filter in stm32mp251.dtsi arm64: dts: st: add power-domains in all i2c of stm32mp231.dtsi arm64: dts: st: add power-domains in all i2c of stm32mp251.dtsi dt-bindings: i2c: st,stm32-i2c: add 'power-domains' property arm64: dts: st: add power-domains in all spi of stm32mp231.dtsi arm64: dts: st: add power-domains in all spi of stm32mp251.dtsi ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'pinctrl-v6.19-3' of ↵Linus Torvalds1-1/+0
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control fixes from Linus Walleij: - Mark the Meson GPIO controller as sleeping to avoid a context splat - Fix up the I2S2 and SWR TX group settings in the Qualcomm SM8350 LPASS pin controller, and implement the proper .get_direction() callback - Fix a pin typo in the TG1520 pin controller - Fix a group name in the Marvell armada 3710 XB pin controller that got mangled in a DT schema rewrite * tag 'pinctrl-v6.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: dt-bindings: pinctrl: marvell,armada3710-xb-pinctrl: fix 'usb32_drvvbus0' group name pinctrl: lpass-lpi: implement .get_direction() for the GPIO driver pinctrl: th1520: Fix typo pinctrl: qcom: sm8350-lpass-lpi: Merge with SC7280 to fix I2S2 and SWR TX pins pinctrl: meson: mark the GPIO controller as sleeping
2026-01-28Merge tag 'imx-dt64-6.20' of ↵Arnd Bergmann101-365/+10176
https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt i.MX arm64 device tree changes for 6.20: - New board support: i.MX8MP/i.MX91/i.MX93/i.MX95 FRDM, ifm VHIP4 EvalBoard, Apalis iMX8QP, TQ-Systems MBLS1028A/MBLS1028A-IND - A number of series from Alexander Stein improving lpcg indices description for tqma8xxs board, moving BMAN/QMAN buffers for tqmls1046a, refreshing tqma8mpql-mba8mpxl support a bit, adding HDMI audio support for tqma8mpql-mba8mp-ras314 etc. - A series from Chancel Liu adding various audio features for imx93-14x14-evk board - A series from Francesco Dolcini enabling hdmi_pai device for imx8mp-verdin and imx8mp-toradex-smarc - A couple of changes from Francesco Valla enabling more devices and correcting CAN transceiver gpio for imx93-11x11-frdm - A few changes from Frank Li adding DDR perf support for imx8qm, adding camera support for imx8mp-evk, enabling thermal support for i.MX91, etc. - A series from Haibo Chen adding flexcan support for imx943-evk and imx952-evk boards - A series from Krzysztof Kozlowski fixing up coding style issues - A couple of changes from Marek Vasut updating Data Modul i.MX8M Plus eDM SBC DT to rev.903, using GPU_CGC as core clock for GPU on i.MX95 - A series from Markus Niebel to clean up imx8mm-tqma8mqml board regulators - A couple of series from Peng Fan replacing xceiver-supply with phys for NXP EVK boards, improving imx952-evk board support - A series from Sebastian Krzyszkowiak to refresh imx8mq-librem5 support - A couple of series from Stefano Radaelli to improve imx93-var-som-symphony and imx8mp-var-som support - Other random changes for various boards * tag 'imx-dt64-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (104 commits) arm64: dts: freescale: imx95: Add support for i.MX95 15x15 FRDM board arm64: dts: imx91-11x11-frdm: fix CAN transceiver gpio arm64: dts: imx93-11x11-frdm: enable additional devices arm64: dts: imx93-11x11-frdm: Add MQS audio support arm64: dts: imx952-evk: Add nxp,ctrl-ids for scmi misc arm64: dts: imx952-evk: Add flexcan support arm64: dts: imx952-evk: Enable TPM[3,6] arm64: dts: imx952-evk: Enable wdog3 arm64: dts: imx952-evk: Enable USB[1,2] arm64: dts: imx952-evk: Enable SPI7 arm64: dts: imx952-evk: Enable UART5 arm64: dts: imx952-evk: Enable I2C[2,3,4,6,7] bus arm64: dts: imx952-evk: Change the usdhc1_200mhz drive strength to DSE4 arm64: dts: imx952: Add idle-states node arm64: dts: imx8mn: Add ifm VHIP4 EvalBoard v1 and v2 arm64: dts: imx8mn: Add SNVS LPGPR arm64: dts: imx8mq-librem5: Don't set mic-cfg for wm8962 arm64: dts: imx8mq-librem5: Set cap-power-off-card for usdhc2 arm64: dts: imx8mq-librem5: Limit uSDHC2 frequency to 50MHz arm64: dts: imx8mq-librem5: Enable SNVS RTC ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28x86/hyperv: Fix smp_ops build failure on UP kernelsIngo Molnar1-0/+2
CI testing found this build failure: arch/x86/hyperv/hv_crash.c:631:9: error: ‘smp_ops’ undeclared (first use in this function) And I bisected it back to the initial commit that enabled this feature: 77c860d2dbb72d1f3c6a2e882a07d19eca399db5 is the first bad commit commit 77c860d2dbb72d1f3c6a2e882a07d19eca399db5 (HEAD) Author: Mukesh Rathor <mrathor@linux.microsoft.com> Date: Mon Oct 6 15:42:08 2025 -0700 x86/hyperv: Enable build of hypervisor crashdump collection files Hyperv should probably be limited to SMP kernels, as nobody appears to be testing it on UP kernels. Until then, fix the smp_ops assumption. Build tested only. Fixes: 77c860d2dbb72 ("x86/hyperv: Enable build of hypervisor crashdump collection files") Cc: Mukesh Rathor <mrathor@linux.microsoft.com> Cc: Wei Liu <wei.liu@kernel.org> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
2026-01-28x86/entry/vdso: Add vdso2c to .gitignoreBorislav Petkov (AMD)1-0/+1
The commit a76108d05ee1 ("x86/entry/vdso: Move vdso2c to arch/x86/tools") moved vdso2c to arch/x86/tools/ and commit 93d73005bff4 ("x86/entry/vdso: Rename vdso_image_* to vdso*_image") renamed .so files but also dropped vdso2c from arch/x86/entry/vdso/.gitignore. It should've moved it to arch/x86/tools/.gitignore instead. Do that. Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Link: https://patch.msgid.link/20260127221633.GAaXk5QcG8ILa1VWYR@fat_crate.local
2026-01-27KVM: arm64: Correct test for ICH_HCR_EL2_TDIR cap for GICv5 hostsSascha Bischoff1-4/+4
The original order of checks in the ICH_HCR_EL2_TDIR test returned with false early in the case where the native GICv3 CPUIF was not present. The result was that on GICv5 hosts with legacy support - which do not have the GICv3 CPUIF - the test always returned false. Reshuffle the checks such that support for GICv5 legacy is checked prior to checking for the native GICv3 CPUIF. Signed-off-by: Sascha Bischoff <sascha.bischoff@arm.com> Fixes: 2a28810cbb8b2 ("KVM: arm64: GICv3: Detect and work around the lack of ICV_DIR_EL1 trapping") Link: https://patch.msgid.link/20251208152724.3637157-4-sascha.bischoff@arm.com Signed-off-by: Marc Zyngier <maz@kernel.org>
2026-01-27KVM: arm64: gic: Enable GICv3 CPUIF trapping on GICv5 hosts if requiredSascha Bischoff3-10/+18
Factor out the enable (and printing of) the GICv3 CPUIF traps from the main GICv3 probe into a separate function. Call said function from the GICv5 probe for legacy support, ensuring that any required GICv3 CPUIF traps on GICv5 hosts will be correctly handled, rather than injecting an undef into the guest. Signed-off-by: Sascha Bischoff <sascha.bischoff@arm.com> Link: https://patch.msgid.link/20251208152724.3637157-3-sascha.bischoff@arm.com Signed-off-by: Marc Zyngier <maz@kernel.org>
2026-01-27s390/perf: Disable register readout on sampling eventsThomas Richter1-1/+1
Running commands # ./perf record -IR0,R1 -a sleep 1 extracts and displays register value of general purpose register r1 and r0. However the value displayed of any register is random and does not reflect the register value recorded at the time of the sample interrupt. The sampling device driver on s390 creates a very large buffer for the hardware to store the samples. Only when that large buffer gets full an interrupt is generated and many hundreds of sample entries are processed and copied to the kernel ring buffer and eventually get copied to the perf tool. It is during the copy to the kernel ring buffer that each sample is processed (on s390) and at that time the register values are extracted. This is not the original goal, the register values should be read when the samples are created not when the samples are copied to the kernel ring buffer. Prevent this event from being installed in the first place and return -EOPNOTSUPP. This is already the case for PERF_SAMPLE_REGS_USER. Signed-off-by: Thomas Richter <tmricht@linux.ibm.com> Reviewed-by: Jan Polensky <japo@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2026-01-27s390/Kconfig: Define non-zero ILLEGAL_POINTER_VALUEGerd Bayer4-0/+8
Define CONFIG_ILLEGAL_POINTER_VALUE to the eye-catching non-zero value of 0xdead000000000000, consistent with other architectures. Assert at compile-time that the poison pointers that include/linux/poison.h defines based on this illegal pointer are beyond the largest useful virtual addresses. Also, assert at compile-time that the range of poison pointers per include/linux/poison.h (currently a range of less than 0x10000 addresses) does not overlap with the range used for address handles for s390's non-MIO PCI instructions. This enables s390 to track the DMA mappings by the network stack's page_pool that was introduced with [0]. Other functional changes are not intended. Other archictectures have introduced this for various other reasons with commit 5c178472af24 ("riscv: define ILLEGAL_POINTER_VALUE for 64bit") commit f6853eb561fb ("powerpc/64: Define ILLEGAL_POINTER_VALUE for 64-bit") commit bf0c4e047324 ("arm64: kconfig: Move LIST_POISON to a safe value") commit a29815a333c6 ("core, x86: make LIST_POISON less deadly") [0] https://lore.kernel.org/all/20250409-page-pool-track-dma-v9-0-6a9ef2e0cba8@redhat.com/ Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com> Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com> Acked-by: Alexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2026-01-27s390/bug: Prevent tail-call optimizationHeiko Carstens1-0/+2
For the exception based __WARN_trap() implementation it is technically not necessary to prevent tail-call optimization, however it may be confusing to see warning messages like: WARNING: arch/s390/kernel/setup.c:1017 at foobar+0x2c/0x50, CPU#0: swapper/0/0 together with a disassembly of a different function caused by tail-call optimization for the __WARN_trap() call. Prevent that by adding an empty asm statement. This generates slightly worse code, but should hopefully avoid confusion. With this the output looks like: WARNING: arch/s390/kernel/setup.c:1017 at foobar+0x2c/0x50, CPU#0: swapper/0/0 ... Krnl PSW : 0704c00180000000 000003ffe0119788 (foobar+0x38/0x50) ... Krnl Code: 000003ffe0119776: e3e0f0980024 stg %r14,152(%r15) 000003ffe011977c: c02000b8992a larl %r2,000003ffe182c9d0 *000003ffe0119782: c0e5007270b7 brasl %r14,000003ffe0f678f0 >000003ffe0119788: ebeff0a00004 lmg %r14,%r15,160(%r15) 000003ffe011978e: 07fe bcr 15,%r14 000003ffe0119790: 47000700 bc 0,1792 000003ffe0119794: 0707 bcr 0,%r7 000003ffe0119796: 0707 bcr 0,%r7 Call Trace: [<000003ffe0119788>] foobar+0x38/0x50 [<000003ffe185bc2e>] arch_cpu_finalize_init+0x26/0x60 [<000003ffe185654c>] start_kernel+0x53c/0x5d8 [<000003ffe010002e>] startup_continue+0x2e/0x40 A better solution would be to replace or patch the branch instruction to __WARN_trap() with the monitor call instruction, similar to what is done for x86 [1]. However s390 does not support static_cond_calls(). Therefore use the simple approach for the time being. [1] commit 860238af7a33 ("x86_64/bug: Inline the UD1") Reviewed-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2026-01-27s390/bug: Skip __WARN_trap() in call tracesHeiko Carstens1-2/+4
In order to avoid rather pointless warning disassemblies of __WARN_trap() set the PSW address to the return address of the function which called __WARN_trap(). This is the address to which __WARN_trap() would return in any case. The result is a disassembly of the function which called __WARN_trap(), which is much more helpful. Before: WARNING: arch/s390/kernel/setup.c:1017 at foobar+0x2c/0x20, CPU#0: swapper/0/0 ... Krnl PSW : 0704c00180000000 000003ffe0f675f4 (__WARN_trap+0x4/0x10) ... Krnl Code: 000003ffe0f675ec: 0707 bcr 0,%r7 000003ffe0f675ee: 0707 bcr 0,%r7 *000003ffe0f675f0: af000001 mc 1,0 >000003ffe0f675f4: 07fe bcr 15,%r14 000003ffe0f675f6: 47000700 bc 0,1792 000003ffe0f675fa: 0707 bcr 0,%r7 000003ffe0f675fc: 0707 bcr 0,%r7 000003ffe0f675fe: 0707 bcr 0,%r7 Call Trace: [<000003ffe0f675f4>] __WARN_trap+0x4/0x10 [<000003ffe185bc2e>] arch_cpu_finalize_init+0x26/0x60 [<000003ffe185654c>] start_kernel+0x53c/0x5d8 [<000003ffe010002e>] startup_continue+0x2e/0x40 Afterwards: WARNING: arch/s390/kernel/setup.c:1017 at foobar+0x12/0x30, CPU#0: swapper/0/0 ... Krnl PSW : 0704c00180000000 000003ffe185bc2e (arch_cpu_finalize_init+0x26/0x60) ... Krnl Code: 000003ffe185bc1c: e3f0ff98ff71 lay %r15,-104(%r15) 000003ffe185bc22: e3e0f0980024 stg %r14,152(%r15) *000003ffe185bc28: c0e5ff45ed94 brasl %r14,000003ffe0119750 >000003ffe185bc2e: c0e5ffa052b9 brasl %r14,000003ffe0c661a0 000003ffe185bc34: c020fffe86d6 larl %r2,000003ffe182c9e0 000003ffe185bc3a: e548f0a80006 mvghi 168(%r15),6 000003ffe185bc40: e548f0a00005 mvghi 160(%r15),5 000003ffe185bc46: a7690004 lghi %r6,4 Call Trace: [<000003ffe185bc2e>] arch_cpu_finalize_init+0x26/0x60 [<000003ffe185654c>] start_kernel+0x53c/0x5d8 [<000003ffe010002e>] startup_continue+0x2e/0x40 Reviewed-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2026-01-27s390/bug: Implement WARN_ONCE()Heiko Carstens1-0/+11
This is the s390 variant of commit 11bb4944f014 ("x86/bug: Implement WARN_ONCE()"). Reviewed-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2026-01-27s390/bug: Implement __WARN_printf()Heiko Carstens4-7/+105
This is the s390 variant of commit 5b472b6e5bd9 ("x86_64/bug: Implement __WARN_printf()"). See the x86 commit for the general idea; there are only implementation details which are different. With the new exception based __WARN_printf() implementation the generated code for a simple WARN() is simplified. For example: void foo(int a) { WARN(a, "bar"); } Before this change the generated code looks like this: 0000000000000210 <foo>: 210: c0 04 00 00 00 00 jgnop 210 <foo> 216: ec 26 00 06 00 7c cgijne %r2,0,222 <foo+0x12> 21c: c0 f4 00 00 00 00 jg 21c <foo+0xc> 21e: R_390_PC32DBL __s390_indirect_jump_r14+0x2 222: eb ef f0 88 00 24 stmg %r14,%r15,136(%r15) 228: b9 04 00 ef lgr %r14,%r15 22c: e3 f0 ff e8 ff 71 lay %r15,-24(%r15) 232: e3 e0 f0 98 00 24 stg %r14,152(%r15) 238: c0 20 00 00 00 00 larl %r2,238 <foo+0x28> 23a: R_390_PC32DBL .LC48+0x2 23e: c0 e5 00 00 00 00 brasl %r14,23e <foo+0x2e> 240: R_390_PLT32DBL __warn_printk+0x2 244: af 00 00 00 mc 0,0 248: eb ef f0 a0 00 04 lmg %r14,%r15,160(%r15) 24e: c0 f4 00 00 00 00 jg 24e <foo+0x3e> 250: R_390_PC32DBL __s390_indirect_jump_r14+0x2 With this change the generated code looks like this: 0000000000000210 <foo>: 210: c0 04 00 00 00 00 jgnop 210 <foo> 216: ec 26 00 06 00 7c cgijne %r2,0,222 <foo+0x12> 21c: c0 f4 00 00 00 00 jg 21c <foo+0xc> 21e: R_390_PC32DBL __s390_indirect_jump_r14+0x2 222: c0 20 00 00 00 00 larl %r2,222 <foobar+0x12> 224: R_390_PC32DBL __bug_table+0x2 228: c0 f4 00 00 00 00 jg 228 <foobar+0x18> 22a: R_390_PLT32DBL __WARN_trap+0x2 Downside is that the call trace now starts at __WARN_trap(): ------------[ cut here ]------------ bar WARNING: arch/s390/kernel/setup.c:1017 at 0x0, CPU#0: swapper/0/0 ... Krnl PSW : 0704c00180000000 000003ffe0f6a3b4 (__WARN_trap+0x4/0x10) ... Krnl Code: 000003ffe0f6a3ac: 0707 bcr 0,%r7 000003ffe0f6a3ae: 0707 bcr 0,%r7 *000003ffe0f6a3b0: af000001 mc 1,0 >000003ffe0f6a3b4: 07fe bcr 15,%r14 000003ffe0f6a3b6: 47000700 bc 0,1792 000003ffe0f6a3ba: 0707 bcr 0,%r7 000003ffe0f6a3bc: 0707 bcr 0,%r7 000003ffe0f6a3be: 0707 bcr 0,%r7 Call Trace: [<000003ffe0f6a3b4>] __WARN_trap+0x4/0x10 ([<000003ffe185a54c>] start_kernel+0x53c/0x5d8) [<000003ffe010002e>] startup_continue+0x2e/0x40 Which isn't too helpful. This can be addressed by just skipping __WARN_trap(), which will be addressed in a later patch. Reviewed-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2026-01-27s390/traps: Copy monitor code to pt_regsHeiko Carstens2-1/+5
In case of a monitor call program check the CPU stores the monitor code to lowcore. Let the program check handler copy it to the pt_regs structure so it can be used by the monitor call exception handler. Instead of increasing the pt_regs size add a union which contains both orig_gpr2 and monitor_code, since orig_gpr2 is not used in case of a program check. Reviewed-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2026-01-27s390/bug: Introduce and use monitor code macroHeiko Carstens2-4/+11
The first operand address of the monitor call (mc) instruction is the monitor code. Currently the monitor code is ignored, but this will change. Therefore add and use MONCODE_BUG instead of a hardcoded zero. Reviewed-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2026-01-27s390/bug: Use BUG_FORMAT for DEBUG_BUGVERBOSE_DETAILEDHeiko Carstens1-4/+13
This is just the s390 variant of commit 4f1b701f24be ("x86/bug: Use BUG_FORMAT for DEBUG_BUGVERBOSE_DETAILED"). Reviewed-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2026-01-27s390/bug: Convert to inline assembly with input operandsHeiko Carstens1-42/+31
Rewrite the bug inline assembly so it uses input operands again instead of pure macro replacements. This more or less reverts the conversion done when 'cond_str' support was added [1]. Reason for this is that the upcoming __WARN_printf() implementation requires an inline assembly with an output operand. At the same time input strings (format specifier and condition string) may contain the special '%' character. As soon as an inline assembly is specified to have input/output operands the '%' has a special meaning: e.g. converting the existing #define __BUG_FLAGS(cond_str, flags) \ asm_inline volatile(__stringify(ASM_BUG_FLAGS(cond_str, flags))); to #define __BUG_FLAGS(cond_str, flags) \ asm_inline volatile(__stringify(ASM_BUG_FLAGS(cond_str, flags))::); will result in a compile error as soon as 'cond_str' contains a '%' character: net/core/neighbour.c: In function ‘neigh_table_init’: ././include/linux/compiler_types.h:546:20: error: invalid 'asm': invalid %-code ... net/core/neighbour.c:1838:17: note: in expansion of macro ‘WARN_ON’ 1838 | WARN_ON(tbl->entry_size % NEIGH_PRIV_ALIGN); | ^~~~~~~ Convert the code, use immediate operands, and also add comments similar to x86 which are emitted to the generated assembly file, which makes debugging much easier. Note: since gcc-8 does not support strings as immediate input operands, guard the new implementation with CC_HAS_ASM_IMMEDIATE_STRINGS and fallback to the generic non-exception based warning implementation for incompatible compilers. [1] 6584ff203aec ("bugs/s390: Use 'cond_str' in __EMIT_BUG()") Reviewed-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2026-01-27s390: Add CC_HAS_ASM_IMMEDIATE_STRINGSHeiko Carstens1-0/+6
Upcoming changes to s390 specific inline assemblies require the usage of strings as immediate input operands. This works only with gcc-9 and newer compilers. With gcc-8 this leads to a compile error: void bar(void) { asm volatile("" :: "i" ("foo")); } Results in: In function 'bar': warning: asm operand 0 probably doesn't match constraints asm volatile("" :: "i" ("foo")); ^~~ error: impossible constraint in 'asm' Provide a CC_HAS_ASM_IMMEDIATE_STRINGS config option which allows to tell if the compiler supports strings as immediate input operands. Based on that conditional code can be provided. Reviewed-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2026-01-27arm64: mte: Set TCMA1 whenever MTE is present in the kernelCarl Worth1-5/+5
Set the TCMA1 bit so that access to TTBR1 addresses with 0xf in their tag bits will be treated as tag unchecked. This is important to avoid unwanted tag checking on some systems. Specifically, SCTLR_EL1.TCF can be set to indicate that no tag check faults are desired. But the architecture doesn't guarantee that in this case the system won't still perform tag checks. Use TCMA1 to ensure that undesired tag checks are not performed. This bit was already set in the KASAN case. Adding it to the non-KASAN case prevents tag checking since all TTBR1 address will have a value of 0xf in their tag bits. This patch has been measured on an Ampere system to improve the following: * Eliminate over 98% of kernel-side tag checks during "perf bench futex hash", as measured with "perf stat". * Eliminate all MTE overhead (was previously a 25% performance penalty) from the Phoronix pts/memcached benchmark (1:10 Set:Get ration with 96 cores). Reported-by: Taehyun Noh <taehyun@utexas.edu> Suggested-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Carl Worth <carl@os.amperecomputing.com> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will@kernel.org>
2026-01-27arm64/ptrace: Return early for ptrace_report_syscall_entry() errorJinjie Ruan1-5/+9
The generic entry abort the syscall_trace_enter() sequence if ptrace_report_syscall_entry() errors out, but arm64 not. When ptrace requests interception, it should prevent all subsequent system-call processing, including audit and seccomp. In preparation for moving arm64 over to the generic entry code, return early if ptrace_report_syscall_entry() encounters an error. Reviewed-by: Kevin Brodsky <kevin.brodsky@arm.com> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Signed-off-by: Will Deacon <will@kernel.org>
2026-01-27arm64/ptrace: Split report_syscall()Jinjie Ruan1-12/+29
The generic syscall entry code has the form: | syscall_trace_enter() | { | ptrace_report_syscall_entry() | } | | syscall_exit_work() | { | ptrace_report_syscall_exit() | } In preparation for moving arm64 over to the generic entry code, split report_syscall() to two separate enter and exit functions to align the structure of the arm64 code with syscall_trace_enter() and syscall_exit_work() from the generic entry code. No functional changes. Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> Reviewed-by: Kevin Brodsky <kevin.brodsky@arm.com> Suggested-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Signed-off-by: Will Deacon <will@kernel.org>
2026-01-27arm64: Remove unused _TIF_WORK_MASKJinjie Ruan1-6/+0
Since commit b3cf07851b6c ("arm64: entry: Switch to generic IRQ entry"), _TIF_WORK_MASK is never used, so remove it. Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> Reviewed-by: Kevin Brodsky <kevin.brodsky@arm.com> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com> Signed-off-by: Will Deacon <will@kernel.org>
2026-01-27powerpc/mm: support page table checkRohan McLure8-18/+73
On creation and clearing of a page table mapping, instrument such calls by invoking page_table_check_pte_set and page_table_check_pte_clear respectively. These calls serve as a sanity check against illegal mappings. Enable ARCH_SUPPORTS_PAGE_TABLE_CHECK on powerpc, except when HUGETLB_PAGE is enabled (powerpc has some weirdness in how it implements set_huge_pte_at(), which may require some further work). See also: riscv support in commit 3fee229a8eb9 ("riscv/mm: enable ARCH_SUPPORTS_PAGE_TABLE_CHECK") arm64 in commit 42b2547137f5 ("arm64/mm: enable ARCH_SUPPORTS_PAGE_TABLE_CHECK") x86_64 in commit d283d422c6c4 ("x86: mm: add x86_64 support for page table check") [ajd@linux.ibm.com: rebase, add additional instrumentation, misc fixes] Link: https://lkml.kernel.org/r/20251219-pgtable_check_v18rebase-v18-12-755bc151a50b@linux.ibm.com Signed-off-by: Rohan McLure <rmclure@linux.ibm.com> Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com> Acked-by: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Alexandre Ghiti <alexghiti@rivosinc.com> Cc: Alistair Popple <apopple@nvidia.com> Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Donet Tom <donettom@linux.ibm.com> Cc: Guo Weikang <guoweikang.kernel@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Magnus Lindholm <linmag7@gmail.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nicholas Miehlbradt <nicholas@linux.ibm.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Paul Mackerras <paulus@ozlabs.org> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Sweet Tea Dorminy <sweettea-kernel@dorminy.me> Cc: Thomas Huth <thuth@redhat.com> Cc: "Vishal Moola (Oracle)" <vishal.moola@gmail.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27powerpc/mm: use set_pte_at_unchecked() for internal usagesRohan McLure4-6/+16
In the new set_ptes() API, set_pte_at() (a special case of set_ptes()) is intended to be instrumented by the page table check facility. There are however several other routines that constitute the API for setting page table entries, including set_pmd_at() among others. Such routines are themselves implemented in terms of set_ptes_at(). A future patch providing support for page table checking on powerpc must take care to avoid duplicate calls to page_table_check_p{te,md,ud}_set(). Allow for assignment of pte entries without instrumentation through the set_pte_at_unchecked() routine introduced in this patch. Cause API-facing routines that call set_pte_at() to instead call set_pte_at_unchecked(), which will remain uninstrumented by page table check. set_ptes() is itself implemented by calls to __set_pte_at(), so this eliminates redundant code. [ajd@linux.ibm.com: don't change to unchecked for early boot/kernel mappings] Link: https://lkml.kernel.org/r/20251219-pgtable_check_v18rebase-v18-11-755bc151a50b@linux.ibm.com Signed-off-by: Rohan McLure <rmclure@linux.ibm.com> Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com> Acked-by: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Alexandre Ghiti <alexghiti@rivosinc.com> Cc: Alistair Popple <apopple@nvidia.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Donet Tom <donettom@linux.ibm.com> Cc: Guo Weikang <guoweikang.kernel@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Magnus Lindholm <linmag7@gmail.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nicholas Miehlbradt <nicholas@linux.ibm.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Pasha Tatashin <pasha.tatashin@soleen.com> Cc: Paul Mackerras <paulus@ozlabs.org> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Sweet Tea Dorminy <sweettea-kernel@dorminy.me> Cc: Thomas Huth <thuth@redhat.com> Cc: "Vishal Moola (Oracle)" <vishal.moola@gmail.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27powerpc/mm: implement *_user_accessible_page() for ptesRohan McLure4-0/+35
Page table checking depends on architectures providing an implementation of p{te,md,ud}_user_accessible_page. With refactorisations made on powerpc/mm, the pte_access_permitted() and similar methods verify whether a userland page is accessible with the required permissions. Since page table checking is the only user of p{te,md,ud}_user_accessible_page(), implement these for all platforms, using some of the same preliminary checks taken by pte_access_permitted() on that platform. Since commit 8e9bd41e4ce1 ("powerpc/nohash: Replace pte_user() by pte_read()") pte_user() is no longer required to be present on all platforms as it may be equivalent to or implied by pte_read(). Hence implementations of pte_user_accessible_page() are specialised. [ajd@linux.ibm.com: rebase and clean up] Link: https://lkml.kernel.org/r/20251219-pgtable_check_v18rebase-v18-10-755bc151a50b@linux.ibm.com Signed-off-by: Rohan McLure <rmclure@linux.ibm.com> Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com> Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com> Acked-by: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Alexandre Ghiti <alexghiti@rivosinc.com> Cc: Alistair Popple <apopple@nvidia.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Donet Tom <donettom@linux.ibm.com> Cc: Guo Weikang <guoweikang.kernel@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Magnus Lindholm <linmag7@gmail.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nicholas Miehlbradt <nicholas@linux.ibm.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Paul Mackerras <paulus@ozlabs.org> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Sweet Tea Dorminy <sweettea-kernel@dorminy.me> Cc: Thomas Huth <thuth@redhat.com> Cc: "Vishal Moola (Oracle)" <vishal.moola@gmail.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27mm: provide address parameter to p{te,md,ud}_user_accessible_page()Rohan McLure3-9/+9
On several powerpc platforms, a page table entry may not imply whether the relevant mapping is for userspace or kernelspace. Instead, such platforms infer this by the address which is being accessed. Add an additional address argument to each of these routines in order to provide support for page table check on powerpc. [ajd@linux.ibm.com: rebase on arm64 changes] Link: https://lkml.kernel.org/r/20251219-pgtable_check_v18rebase-v18-9-755bc151a50b@linux.ibm.com Signed-off-by: Rohan McLure <rmclure@linux.ibm.com> Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com> Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com> Acked-by: Ingo Molnar <mingo@kernel.org> # x86 Acked-by: Alexandre Ghiti <alexghiti@rivosinc.com> # riscv Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Alistair Popple <apopple@nvidia.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Donet Tom <donettom@linux.ibm.com> Cc: Guo Weikang <guoweikang.kernel@gmail.com> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Magnus Lindholm <linmag7@gmail.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nicholas Miehlbradt <nicholas@linux.ibm.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Paul Mackerras <paulus@ozlabs.org> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Sweet Tea Dorminy <sweettea-kernel@dorminy.me> Cc: Thomas Huth <thuth@redhat.com> Cc: "Vishal Moola (Oracle)" <vishal.moola@gmail.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27mm/page_table_check: reinstate address parameter in ↵Rohan McLure3-4/+4
[__]page_table_check_pte_clear() This reverts commit aa232204c468 ("mm/page_table_check: remove unused parameter in [__]page_table_check_pte_clear"). Reinstate previously unused parameters for the purpose of supporting powerpc platforms, as many do not encode user/kernel ownership of the page in the pte, but instead in the address of the access. [ajd@linux.ibm.com: rebase, fix additional occurrence and loop handling] Link: https://lkml.kernel.org/r/20251219-pgtable_check_v18rebase-v18-8-755bc151a50b@linux.ibm.com Signed-off-by: Rohan McLure <rmclure@linux.ibm.com> Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com> Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com> Acked-by: Ingo Molnar <mingo@kernel.org> # x86 Acked-by: Alexandre Ghiti <alexghiti@rivosinc.com> # riscv Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Alistair Popple <apopple@nvidia.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Donet Tom <donettom@linux.ibm.com> Cc: Guo Weikang <guoweikang.kernel@gmail.com> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Magnus Lindholm <linmag7@gmail.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nicholas Miehlbradt <nicholas@linux.ibm.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Paul Mackerras <paulus@ozlabs.org> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Sweet Tea Dorminy <sweettea-kernel@dorminy.me> Cc: Thomas Huth <thuth@redhat.com> Cc: "Vishal Moola (Oracle)" <vishal.moola@gmail.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27mm/page_table_check: reinstate address parameter in ↵Rohan McLure3-3/+3
[__]page_table_check_pmd_clear() This reverts commit 1831414cd729 ("mm/page_table_check: remove unused parameter in [__]page_table_check_pmd_clear"). Reinstate previously unused parameters for the purpose of supporting powerpc platforms, as many do not encode user/kernel ownership of the page in the pte, but instead in the address of the access. [ajd@linux.ibm.com: rebase on arm64 changes] Link: https://lkml.kernel.org/r/20251219-pgtable_check_v18rebase-v18-7-755bc151a50b@linux.ibm.com Signed-off-by: Rohan McLure <rmclure@linux.ibm.com> Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com> Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com> Acked-by: Ingo Molnar <mingo@kernel.org> # x86 Acked-by: Alexandre Ghiti <alexghiti@rivosinc.com> # riscv Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Alistair Popple <apopple@nvidia.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Donet Tom <donettom@linux.ibm.com> Cc: Guo Weikang <guoweikang.kernel@gmail.com> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Magnus Lindholm <linmag7@gmail.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nicholas Miehlbradt <nicholas@linux.ibm.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Paul Mackerras <paulus@ozlabs.org> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Sweet Tea Dorminy <sweettea-kernel@dorminy.me> Cc: Thomas Huth <thuth@redhat.com> Cc: "Vishal Moola (Oracle)" <vishal.moola@gmail.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27mm/page_table_check: reinstate address parameter in ↵Rohan McLure3-3/+3
[__]page_table_check_pud_clear() This reverts commit 931c38e16499 ("mm/page_table_check: remove unused parameter in [__]page_table_check_pud_clear"). Reinstate previously unused parameters for the purpose of supporting powerpc platforms, as many do not encode user/kernel ownership of the page in the pte, but instead in the address of the access. [ajd@linux.ibm.com: rebase on arm64 changes] Link: https://lkml.kernel.org/r/20251219-pgtable_check_v18rebase-v18-6-755bc151a50b@linux.ibm.com Signed-off-by: Rohan McLure <rmclure@linux.ibm.com> Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com> Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com> Acked-by: Ingo Molnar <mingo@kernel.org> # x86 Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Alexandre Ghiti <alexghiti@rivosinc.com> Cc: Alistair Popple <apopple@nvidia.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Donet Tom <donettom@linux.ibm.com> Cc: Guo Weikang <guoweikang.kernel@gmail.com> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Magnus Lindholm <linmag7@gmail.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nicholas Miehlbradt <nicholas@linux.ibm.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Paul Mackerras <paulus@ozlabs.org> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Sweet Tea Dorminy <sweettea-kernel@dorminy.me> Cc: Thomas Huth <thuth@redhat.com> Cc: "Vishal Moola (Oracle)" <vishal.moola@gmail.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27mm/page_table_check: provide addr parameter to page_table_check_ptes_set()Rohan McLure2-2/+2
To provide support for powerpc platforms, provide an addr parameter to the __page_table_check_ptes_set() and page_table_check_ptes_set() routines. This parameter is needed on some powerpc platforms which do not encode whether a mapping is for user or kernel in the pte. On such platforms, this can be inferred from the addr parameter. [ajd@linux.ibm.com: rebase on arm64 + riscv changes, update commit message] Link: https://lkml.kernel.org/r/20251219-pgtable_check_v18rebase-v18-5-755bc151a50b@linux.ibm.com Signed-off-by: Rohan McLure <rmclure@linux.ibm.com> Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com> Acked-by: Alexandre Ghiti <alexghiti@rivosinc.com> # riscv Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Alistair Popple <apopple@nvidia.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Donet Tom <donettom@linux.ibm.com> Cc: Guo Weikang <guoweikang.kernel@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Magnus Lindholm <linmag7@gmail.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nicholas Miehlbradt <nicholas@linux.ibm.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Paul Mackerras <paulus@ozlabs.org> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Sweet Tea Dorminy <sweettea-kernel@dorminy.me> Cc: Thomas Huth <thuth@redhat.com> Cc: "Vishal Moola (Oracle)" <vishal.moola@gmail.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27mm/page_table_check: reinstate address parameter in ↵Rohan McLure3-6/+7
[__]page_table_check_pmd[s]_set() This reverts commit a3b837130b58 ("mm/page_table_check: remove unused parameter in [__]page_table_check_pmd_set"). Reinstate previously unused parameters for the purpose of supporting powerpc platforms, as many do not encode user/kernel ownership of the page in the pte, but instead in the address of the access. Apply this to __page_table_check_pmds_set(), page_table_check_pmd_set(), and the page_table_check_pmd_set() wrapper macro. [ajd@linux.ibm.com: rebase on arm64 + riscv changes, update commit message] Link: https://lkml.kernel.org/r/20251219-pgtable_check_v18rebase-v18-4-755bc151a50b@linux.ibm.com Signed-off-by: Rohan McLure <rmclure@linux.ibm.com> Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com> Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com> Acked-by: Ingo Molnar <mingo@kernel.org> # x86 Acked-by: Alexandre Ghiti <alexghiti@rivosinc.com> # riscv Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Alistair Popple <apopple@nvidia.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Donet Tom <donettom@linux.ibm.com> Cc: Guo Weikang <guoweikang.kernel@gmail.com> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Magnus Lindholm <linmag7@gmail.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nicholas Miehlbradt <nicholas@linux.ibm.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Paul Mackerras <paulus@ozlabs.org> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Sweet Tea Dorminy <sweettea-kernel@dorminy.me> Cc: Thomas Huth <thuth@redhat.com> Cc: "Vishal Moola (Oracle)" <vishal.moola@gmail.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27mm/page_table_check: reinstate address parameter in ↵Rohan McLure3-5/+6
[__]page_table_check_pud[s]_set() This reverts commit 6d144436d954 ("mm/page_table_check: remove unused parameter in [__]page_table_check_pud_set"). Reinstate previously unused parameters for the purpose of supporting powerpc platforms, as many do not encode user/kernel ownership of the page in the pte, but instead in the address of the access. Apply this to __page_table_check_puds_set(), page_table_check_puds_set() and the page_table_check_pud_set() wrapper macro. [ajd@linux.ibm.com: rebase on riscv + arm64 changes, update commit message] Link: https://lkml.kernel.org/r/20251219-pgtable_check_v18rebase-v18-3-755bc151a50b@linux.ibm.com Signed-off-by: Rohan McLure <rmclure@linux.ibm.com> Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com> Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com> Acked-by: Ingo Molnar <mingo@kernel.org> # x86 Acked-by: Alexandre Ghiti <alexghiti@rivosinc.com> # riscv Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Alistair Popple <apopple@nvidia.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Donet Tom <donettom@linux.ibm.com> Cc: Guo Weikang <guoweikang.kernel@gmail.com> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Magnus Lindholm <linmag7@gmail.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nicholas Miehlbradt <nicholas@linux.ibm.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Paul Mackerras <paulus@ozlabs.org> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Sweet Tea Dorminy <sweettea-kernel@dorminy.me> Cc: Thomas Huth <thuth@redhat.com> Cc: "Vishal Moola (Oracle)" <vishal.moola@gmail.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27arm64/mm: add addr parameter to __ptep_get_and_clear_anysz()Andrew Donnellan2-5/+7
To provide support for page table check on powerpc, we need to reinstate the address parameter in several functions, including page_table_check_{pte,pmd,pud}_clear(). In preparation for this, add the addr parameter to arm64's __ptep_get_and_clear_anysz() and change its callsites accordingly. Link: https://lkml.kernel.org/r/20251219-pgtable_check_v18rebase-v18-2-755bc151a50b@linux.ibm.com Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com> Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alexandre Ghiti <alex@ghiti.fr> Cc: Alexandre Ghiti <alexghiti@rivosinc.com> Cc: Alistair Popple <apopple@nvidia.com> Cc: Christophe Leroy <christophe.leroy@csgroup.eu> Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org> Cc: David Hildenbrand <david@kernel.org> Cc: Donet Tom <donettom@linux.ibm.com> Cc: Guo Weikang <guoweikang.kernel@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Kevin Brodsky <kevin.brodsky@arm.com> Cc: Madhavan Srinivasan <maddy@linux.ibm.com> Cc: Magnus Lindholm <linmag7@gmail.com> Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nicholas Miehlbradt <nicholas@linux.ibm.com> Cc: Nicholas Piggin <npiggin@gmail.com> Cc: Paul Mackerras <paulus@ozlabs.org> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Rohan McLure <rmclure@linux.ibm.com> Cc: Sweet Tea Dorminy <sweettea-kernel@dorminy.me> Cc: Thomas Huth <thuth@redhat.com> Cc: "Vishal Moola (Oracle)" <vishal.moola@gmail.com> Cc: Zi Yan <ziy@nvidia.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>