summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-06-01nvdimm/btt: Free arena sub-allocations on discover_arenas() error pathAbdun Nihaal
Memory allocated by btt_freelist_init(), btt_rtt_init(), and btt_maplocks_init() is not freed on some discover_arenas() error paths. This leaks memory when arena discovery fails. Add the missing kfree() calls to release the allocations before returning an error. [ as: commit message and log edits ] Fixes: 5212e11fde4d ("nd_btt: atomic sector updates") Cc: stable@vger.kernel.org Signed-off-by: Abdun Nihaal <nihaal@cse.iitm.ac.in> Reviewed-by: Alison Schofield <alison.schofield@intel.com> Link: https://patch.msgid.link/20260519-nvdimmleaks-v1-1-592300fb7a43@cse.iitm.ac.in Signed-off-by: Alison Schofield <alison.schofield@intel.com>
2026-06-02power: reset: sc27xx: Add platform_device_id tableOtto Pflüger
Make the poweroff driver for SC27xx-series PMICs probe automatically. Since the device representing the poweroff functionality of the SC27xx PMIC is not supposed to have a dedicated device tree node without any corresponding DT resources [1], an of_device_id table cannot be used here. Instead, use a platform_device_id table to match the poweroff sub-device instantiated by the parent MFD driver. [1]: https://lore.kernel.org/all/20251002025344.GA2958334-robh@kernel.org/ Signed-off-by: Otto Pflüger <otto.pflueger@abscue.de> Link: https://patch.msgid.link/20260528-sc27xx-mfd-cells-v3-2-25cd685d2743@abscue.de Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2026-06-02power: Unify code style for platform_device_id arraysUwe Kleine-König (The Capable Hub)
Use a single space in the list terminator and remove the trailing comma. Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com> Acked-by: Chen-Yu Tsai <wens@kernel.org> Link: https://patch.msgid.link/d840a6f83e3736510d7d859bf48c9bce04876b0c.1780048925.git.u.kleine-koenig@baylibre.com Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2026-06-02power: supply: mt6360_charger: Use of match table unconditionallyUwe Kleine-König (The Capable Hub)
mt6360_charger_of_id is defined unconditionally, so it doesn't make sense to not use it for the driver's .of_match_table member. Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com> Link: https://patch.msgid.link/ff94de5fb3ee6aeb1c0256e1a00c1c5ac350b430.1780048925.git.u.kleine-koenig@baylibre.com Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2026-06-02power: Use named initializers for platform_device_id arraysUwe Kleine-König (The Capable Hub)
Named initializers are better readable and more robust to changes of the struct definition. This robustness is relevant for a planned change to struct platform_device_id replacing .driver_data by an anonymous union. While touching these arrays unify spacing and usage of commas. Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com> Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com> Reviewed-by: Joshua Peisach <jpeisach@ubuntu.com> Link: https://patch.msgid.link/1ceacf4f9c3f827bcad85b378aa04cdca1c04635.1780048925.git.u.kleine-koenig@baylibre.com Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2026-06-02power: supply: max14577: Drop driver data in of and platform device id arraysUwe Kleine-König (The Capable Hub)
These values are not used, the relevant distinction happens in the mfd parent driver. So they can be dropped. Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/62e1b01a6591dd59406a78f2bbca619d734a9150.1780048925.git.u.kleine-koenig@baylibre.com Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2026-06-02power: Drop unused assignment of platform_device_id driver dataUwe Kleine-König (The Capable Hub)
The driver explicitly set the .driver_data member of struct platform_device_id to zero without relying on that value. Drop this unused assignments. While touching this array unify spacing, use a named initializer for .name and drop trailing commas after the list terminators. Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com> Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org> Link: https://patch.msgid.link/ba3589f74a12d86fb02ecb9fa2e89532188c22a0.1780048925.git.u.kleine-koenig@baylibre.com Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
2026-06-01drm/v3d: Clean caches before runtime suspendMaíra Canal
On runtime suspend, clean the V3D caches before suspending so all dirty lines are written back to memory before the power domain is shut down. Fixes several system hangs reported in [1][2][3]. Closes: https://github.com/raspberrypi/linux/issues/7381 [1] Closes: https://github.com/raspberrypi/linux/issues/7396 [2] Closes: https://github.com/raspberrypi/linux/issues/7397 [3] Fixes: 458f2a712ab4 ("drm/v3d: Introduce Runtime Power Management") Link: https://patch.msgid.link/20260530-v3d-fix-rpi4-freezes-v1-3-c2c8307da6ce@igalia.com Signed-off-by: Maíra Canal <mcanal@igalia.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
2026-06-01drm/v3d: Flush MMU TLB and cache during runtime resumeMaíra Canal
v3d_mmu_set_page_table() ends by calling v3d_mmu_flush_all() to flush the MMU cache and clear the TLB after reprogramming V3D_MMU_PT_PA_BASE. v3d_mmu_flush_all() is gated by pm_runtime_get_if_active(), which returns 0 unless runtime_status == RPM_ACTIVE. v3d_mmu_set_page_table() is called from two paths that *know* V3D is reachable, but where the runtime PM status might be wrong: 1. v3d_power_resume(): the runtime resume callback itself, where runtime_status is RPM_RESUMING. 2. v3d_reset(): called from the DRM scheduler timeout handler with the hung job's pm_runtime reference held, so RPM_ACTIVE, but here we don't need to take an extra reference for the duration of the flush either. In the first case pm_runtime_get_if_active() returns 0, the flush is silently skipped, and V3D resumes executing with whatever MMUC/TLB state happened to survive the last reset. This can leave stale translations live across runtime PM cycles, manifesting as random GPU hangs. Split the actual flush sequence into a helper that does the writes unconditionally, and have v3d_mmu_set_page_table() call it directly. Fixes: 458f2a712ab4 ("drm/v3d: Introduce Runtime Power Management") Link: https://patch.msgid.link/20260530-v3d-fix-rpi4-freezes-v1-2-c2c8307da6ce@igalia.com Signed-off-by: Maíra Canal <mcanal@igalia.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
2026-06-01ARM: dts: imx7d-pico-pi: add OV5645 camera supportLech Perczak
Add OV5645 camera device node and enable relevant components in the video capture data path, so output stream can be captured, and the camera itself can be controlled over I2C bus. This is roughly based on descriptions found in downstream kernel tree [1], adapted to match upstream bindings. Link: https://github.com/technexion-android/kernel_imx/blob/ce8fd74abf518dac0a09e8dcb37f3496f6375124/arch/arm/boot/dts/imx7d-pico.dtsi#L874 [1] Signed-off-by: Lech Perczak <lech.perczak@gmail.com> Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01ARM: dts: imx6-display5: replace marvell,88E1510 with ethernet-phy-ieee802.3-c22Frank Li
Replace the vendor-specific PHY compatible string with the generic ethernet-phy-ieee802.3-c22 compatible. The marvell,88E1510 compatible is listed in whitelist_phys[] and is never matched against a PHY driver. PHY devices are expected to use the generic ethernet-phy-ieee802.3-c22 compatible unless a specific MDIO driver match is required. The 88E1510 is compatible with Clause 22 PHY devices, so use the generic compatible string instead. Fix below CHECK_DTBS warnings: arch/arm/boot/dts/nxp/imx/imx6q-display5-tianma-tm070-1280x768.dtb: /soc/bus@2100000/ethernet@2188000/mdio/ethernet-phy@0: failed to match any schema with compatible: ['marvell,88E1510'] Known other user (uboot) did not use marvell,88E1510. Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01ARM: dts: imx: replace undocumented compatible string edt,edt-ft5x06 with ↵Frank Li
edt,edt-ft5206 The edt,edt-ft5x06 compatible is not referenced in drivers/input/touchscreen/edt-ft5x06.c and is not documented. There is no publicly available datasheet or binding information that distinguishes edt-ft5206/ft5306/ft5406 variants and the driver treats these FT5x06-family controllers with the same configuration model. So switch to the lowest common and documented baseline compatible edt,edt-ft5206. Fix below CHECK_DTBS warnings: arch/arm/boot/dts/nxp/imx/imx53-m53menlo.dtb: /soc/bus@60000000/i2c@63fc8000/touchscreen@38: failed to match any schema with compatible: ['edt,edt-ft5x06'] ABI impact consideration: Not affect Linux kernel. The I2C subsystem uses a legacy fallback mechanism where it strips the vendor prefix from the compatible string to derive the client name, resulting in edt-ft5x06 { .name = "edt-ft5x06", .driver_data = (long)&edt_ft5x06_data }, After this, the driver was actively binding to these devices based on the compatible string. Known user (U-Boot) does not parse or use edt,edt-ft* touchscreen compatibles. Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01ARM: dts: imx6qdl-tx6: remove undocumented karo,imx6qdl-tx6-sgtl5000 and ↵Frank Li
keep only simple-audio-card Remove the undocumented and unused compatible karo,imx6qdl-tx6-sgtl5000 and retain only the generic simple-audio-card sound configuration. The karo,imx6qdl-tx6-sgtl5000 compatible is not documented and is not referenced by any in-kernel driver. The audio setup is already fully described using simple-audio-card, which is the standard and supported binding for this hardware configuration. No known users (such as uboot) rely on karo,imx6qdl-tx6-sgtl5000. Fix below CHECK_DTBS warnings: arch/arm/boot/dts/nxp/imx/imx6dl-tx6dl-comtft.dtb: /sound: failed to match any schema with compatible: ['karo,imx6qdl-tx6-sgtl5000', 'simple-audio-card'] Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01ARM: dts: imx: Add bus-type for ov5642/ov5640Frank Li
Add bus-type (MEDIA_BUS_TYPE_PARALLEL) for ov5642/ov5640. i.MX53 and i.MX6UL only supports parallel csi interface. Fix below CHECK_DTBS warnings: arm/boot/dts/nxp/imx/imx53-smd.dtb: ov5642@3c (ovti,ov5642): port:endpoint: 'bus-type' is a required property Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01ARM: dts: imx: remove redundant bus-width for video-muxFrank Li
Remove redundant bus-width property according to video-mux.yaml to fix below CHECK_DTBS warnings: arch/arm/boot/dts/nxp/imx/imx6dl-gw51xx.dtb: ipu1_csi0_mux (video-mux): port@4:endpoint: Unevaluated properties are not allowed ('bus-width' was unexpected) from schema $id: http://devicetree.org/schemas/media/video-mux.yaml The bus-width already set at remote endpoint (camera). Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01ARM: dts: imx: add (power|vdd)-supply for related nodeFrank Li
Add required power-supply and vdd-supply properties to fix below CHECK_DTB warnings: arch/arm/boot/dts/nxp/imx/imx53-m53menlo.dtb: panel (edt,etm0700g0dh6): 'power-supply' is a required property Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01Merge tag 'ep93xx-20260529' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/asv/linux into soc/arm The patch removes the dependency on <asm/mach-types.h> in the decompressor for EP93xx-based boards that no longer have legacy board files. This is a preparatory step for cleaning up a large number of stale entries in mach-types. Link: https://lore.kernel.org/all/20260509223820.50347-1-enelsonmoore@gmail.com/ * tag 'ep93xx-20260529' of https://git.kernel.org/pub/scm/linux/kernel/git/asv/linux: arm: boot: ep93xx: don't rely on machine_is_*() for removed board files Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-01nvdimm/btt: Handle preemption in BTT lane acquisitionAlison Schofield
BTT lanes serialize access to per-lane metadata and workspace state during BTT I/O. The btt-check unit test reports data mismatches during BTT writes due to a race in lane acquisition that can lead to silent data corruption. The existing lane model uses a spinlock together with a per-CPU recursion count. That recursion model stopped being valid after BTT lanes became preemptible: another task can run on the same CPU, observe a non-zero recursion count, bypass locking, and use the same lane concurrently. BTT lanes are also held across arena_write_bytes() calls. That path reaches nsio_rw_bytes(), which flushes writes with nvdimm_flush(). Some provider flush callbacks can sleep, making a spinlock the wrong primitive for the lane lifetime. Replace the spinlock-based recursion model with a dynamically allocated per-lane mutex array and take the lane lock unconditionally. Add might_sleep() to catch any future atomic-context caller. Found with the ndctl unit test btt-check.sh. Fixes: 36c75ce3bd29 ("nd_btt: Make BTT lanes preemptible") Assisted-by: Claude-Sonnet:4.5 Tested-by: Aboorva Devarajan <aboorvad@linux.ibm.com> Reviewed-by: Aboorva Devarajan <aboorvad@linux.ibm.com> Reviewed-by: Vishal Verma <vishal.l.verma@intel.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> Link: https://patch.msgid.link/20260528021625.618462-1-alison.schofield@intel.com Signed-off-by: Alison Schofield <alison.schofield@intel.com>
2026-06-01x86/cpu: Keep the PROCESSOR_SELECT menu togetherRandy Dunlap
Having a stray kconfig symbol in the middle of the PROCESSOR_SELECT menu (this symbol plus its dependent symbols) causes the menu dependencies not to be displayed correctly in "make {menu,n,g,x}config". Move the BROADCAST_TLB_FLUSH symbol away from the PROCESSOR_SELECT menu so that the list of processors is displayed correctly. Fixes: 767ae437a32d ("x86/mm: Add INVLPGB feature and Kconfig entry") Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Link: https://patch.msgid.link/20260519173526.10985-1-rdunlap@infradead.org
2026-06-01Merge tag 'zx29-docfix-for-7.2' of ↵Linus Walleij
https://gitlab.com/stefandoesinger/zx297520-kernel into soc/arm ARM: zte: clean up zx297520v3 doc. warnings This pull request contains fixes for building the zx29 SoC documentation contributed by Randy Dunlap. * tag 'zx29-docfix-for-7.2' of https://gitlab.com/stefandoesinger/zx297520-kernel: ARM: zte: clean up zx297520v3 doc. warnings Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-06-01Merge tag 'cix-dt-v7.2-rc1' of ↵Linus Walleij
git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/cix into soc/dt - Add cpuidle and cpufreq support for Sky1 * tag 'cix-dt-v7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/cix: arm64: dts: cix: Add CPU idle states for Sky1 arm64: dts: cix: Add SCMI performance domains for CPUFreq on Sky1 Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-06-01ARM: imx31: Fix IIM mapping leak in revision checkYuho Choi
mx31_read_cpu_rev() maps the IIM registers with of_iomap() to read the silicon revision, but returns without unmapping the MMIO mapping. Keep the normalized revision value in a local variable and route the return path through iounmap() after the revision register has been read. Fixes: 3172225d45bd ("ARM: imx31: Retrieve the IIM base address from devicetree") Signed-off-by: Yuho Choi <dbgh9129@gmail.com> Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01arm64: dts: apple: Initial t8122 (M3) device treesJanne Grunau
Add minimal device trees for all t8122 based devices. The devices are - iMac (24-inch, M3, 2023) - MacBook Air (13-inch, M3, 2024) - MacBook Air (15-inch, M3, 2024) - MacBook Pro (14-inch, M3, 2023) The device trees have a minimal set of devices limited to CPU cores, interrupt controller, power states, watchdog, serial, pin controller, i2c and the boot framebuffer. The device trees for the notebooks add a PWM controller for the keyboard LED illumination. The iMacs and the 14-inch device trees add the i2c based Apple cd321x USB Type-C port controller. Co-developed-by: Michael Reeves <michael.reeves077@gmail.com> Signed-off-by: Michael Reeves <michael.reeves077@gmail.com> Reviewed-by: Joshua Peisach <jpeisach@ubuntu.com> Reviewed-by: Neal Gompa <neal@gompa.dev> Signed-off-by: Janne Grunau <j@jannau.net> Link: https://patch.msgid.link/20260507-apple-m3-initial-devicetrees-v3-5-ca07c81b5dc7@jannau.net Signed-off-by: Sven Peter <sven@kernel.org>
2026-06-01dt-bindings: arm: apple: Add M3 based devicesJanne Grunau
The Apple devices with the t8122 SoC (M3) are very similar to their M1 and M2 predecessors. Only the 13-inch Macbook Pro is replaced by a 14-inch version based on the design of the 14-inch Macbook Pro with (M1/M2 Pro/Max). The Mac mini was not offered with M3. Acked-by: Rob Herring (Arm) <robh@kernel.org> Reviewed-by: Joshua Peisach <jpeisach@ubuntu.com> Reviewed-by: Neal Gompa <neal@gompa.dev> Signed-off-by: Janne Grunau <j@jannau.net> Link: https://patch.msgid.link/20260507-apple-m3-initial-devicetrees-v3-4-ca07c81b5dc7@jannau.net Signed-off-by: Sven Peter <sven@kernel.org>
2026-06-01dt-bindings: pwm: apple,s5l-fpwm: Add t8122 compatibleJanne Grunau
The PWM controller on the Apple silicon t8122 (M3) SoC is compatible with the existing driver. Add "apple,t8122-fpwm" as SoC specific compatible under "apple,s5l-fpwm" used by the driver. Acked-by: Rob Herring (Arm) <robh@kernel.org> Acked-by: Uwe Kleine-König <ukleinek@kernel.org> Reviewed-by: Joshua Peisach <jpeisach@ubuntu.com> Reviewed-by: Neal Gompa <neal@gompa.dev> Signed-off-by: Janne Grunau <j@jannau.net> Link: https://patch.msgid.link/20260507-apple-m3-initial-devicetrees-v3-3-ca07c81b5dc7@jannau.net Signed-off-by: Sven Peter <sven@kernel.org>
2026-06-01dt-bindings: power: apple,pmgr-pwrstate: Add t8122 compatibleJanne Grunau
The device power state management of the PMGR blocks on Apple's t8122 SoC (M3) is compatible with the existing driver. Add "apple,t8122-pmgr-pwrstate" as SoC specific compatible under the existing "apple,t8103-pmgr-pwrstate" used by the driver. Acked-by: Rob Herring (Arm) <robh@kernel.org> Reviewed-by: Joshua Peisach <jpeisach@ubuntu.com> Reviewed-by: Neal Gompa <neal@gompa.dev> Signed-off-by: Janne Grunau <j@jannau.net> Link: https://patch.msgid.link/20260507-apple-m3-initial-devicetrees-v3-1-ca07c81b5dc7@jannau.net Signed-off-by: Sven Peter <sven@kernel.org>
2026-06-01dt-bindings: arm: apple: apple,pmgr: Add t8122 compatibleJanne Grunau
The PMGR blocks on Apple silicon M3 SoCs (t8122) are compatible with the M1 and M2 predecessors. Add "apple,t8122-pmgr" as M3 specific compatible. Acked-by: Rob Herring (Arm) <robh@kernel.org> Reviewed-by: Joshua Peisach <jpeisach@ubuntu.com> Reviewed-by: Neal Gompa <neal@gompa.dev> Signed-off-by: Janne Grunau <j@jannau.net> Link: https://patch.msgid.link/20260505-apple-m3-initial-devicetrees-v2-1-b0c2f3519e0e@jannau.net Signed-off-by: Sven Peter <sven@kernel.org>
2026-06-01docs/dyndbg: explain flags parse 1stJim Cromie
When writing queries to >control, flags are parsed 1st, since they are the only required field, and they require specific compositions. So if the flags draw an error (on those specifics), then keyword errors aren't reported. This can be mildly confusing/annoying, so explain it instead. cc: linux-doc@vger.kernel.org Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com> Signed-off-by: Jim Cromie <jim.cromie@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260502-dyndbg-doc-v1-2-67cc4a93a77e@gmail.com>
2026-06-01docs/dyndbg: update examples \012 to \nJim Cromie
commit 47ea6f99d06e ("dyndbg: use ESCAPE_SPACE for cat control") changed the control-file to display format strings with "\n" rather than "\012". Update the docs to match the new reality. Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com> Tested-by: Louis Chauvet <louis.chauvet@bootlin.com> Signed-off-by: Jim Cromie <jim.cromie@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260502-dyndbg-doc-v1-1-67cc4a93a77e@gmail.com>
2026-06-01docs: kernel-parameters: Fix stale sticore file pathsCosta Shulyupin
Update file paths for sticore references that became stale when drivers were reorganized: - drivers/video/console/sticore.c -> drivers/video/ Assisted-by: Claude:claude-opus-4-6 Signed-off-by: Costa Shulyupin <costa.shul@redhat.com> Acked-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260531140541.4115641-1-costa.shul@redhat.com>
2026-06-01docs: real-time: Fix duplicated sched(7) textCosta Shulyupin
The man page reference appeared twice - once as plain text and once as a hyperlink. Remove the plain text duplicate. Assisted-by: Claude:claude-opus-4-6 Signed-off-by: Costa Shulyupin <costa.shul@redhat.com> Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Acked-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260531141823.4118954-1-costa.shul@redhat.com>
2026-06-01docs: kgdb: Fix stale source file pathsCosta Shulyupin
Update two file paths that became stale when kgdb/kdb sources were reorganized: - kernel/debugger/debug_core.c -> kernel/debug/debug_core.c - drivers/char/kdb_keyboard.c -> kernel/debug/kdb/kdb_keyboard.c Assisted-by: Claude:claude-opus-4-6 Signed-off-by: Costa Shulyupin <costa.shul@redhat.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260531140207.4114764-1-costa.shul@redhat.com>
2026-06-01docs: sonypi: Fix stale header file pathCosta Shulyupin
The sonypi.h header was moved from drivers/char/ to include/linux/. Update the reference. Assisted-by: Claude:claude-opus-4-6 Signed-off-by: Costa Shulyupin <costa.shul@redhat.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260531135850.4113774-1-costa.shul@redhat.com>
2026-06-01docs: kernel-parameters: Remove sa1100ir IrDA parameterCosta Shulyupin
The sa1100ir parameter referenced drivers/net/irda/sa1100_ir.c, which was removed along with the entire IrDA stack in commit d64c2a76123f ("staging: irda: remove the irda network stack and drivers"). Assisted-by: Claude:claude-opus-4-6 Signed-off-by: Costa Shulyupin <costa.shul@redhat.com> Acked-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260531135455.4113157-1-costa.shul@redhat.com>
2026-06-01iommu: Documentation: rearrange, update kernel-parametersRandy Dunlap
Add text for some undescribed iommu= parameters (merge, nomerge, biomerge, panic, nopanic, pt, nopt). Add "usedac" and its description. Add that iommu=pt is equivalent to iommu.passthrough=1 and that iommu=nopt is equivalent to iommu.passthrough=0. Move the PPC/POWERNV heading & its option "nobypass" to a separate area since the current "iommu=" applies only to X86 (according to its heading). Unindent the AMD GART IOMMU options heading to make it stand out. Also add its kconfig symbol name to be explicit about what these options apply to. Make sure that the IOMMU options that are listed under AMD Gart HW IOMMU-specific options are only for that product; i.e., add "force" there and move "merge", "nomerge", and "panic" to the general IOMMU options area. Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260528054611.1524937-1-rdunlap@infradead.org>
2026-06-01Merge tag 'md-7.2-20260531' of ↵Jens Axboe
https://git.kernel.org/pub/scm/linux/kernel/git/mdraid/linux into for-7.2/block Pull MD updates and fixes from Yu Kuai: "Bug Fixes: - Only requeue dm-raid bios when dm is suspending. (Benjamin Marzinski) - Reset raid10 read_slot when reusing r10bio for discard. (Chen Cheng) - Fix raid1/raid10 deadlock in read error recovery path. (Abd-Alrhman Masalkhi) - Fix raid1/raid10 error-path detection with md_cloned_bio(). (Abd-Alrhman Masalkhi) - Fix raid1/raid10 bio accounting for split md cloned bios. (Abd-Alrhman Masalkhi) - Fix raid1 nr_pending leak in REQ_ATOMIC bad-block path. (Abd-Alrhman Masalkhi) Improvements: - Skip redundant raid_disks updates when the value is unchanged. (Abd-Alrhman Masalkhi) Cleanups: - Update MAINTAINERS email addresses. (Yu Kuai, Li Nan) - Clean up raid1 read error handling. (Christoph Hellwig) - Move the exceed_read_errors condition out of fix_read_error(). (Christoph Hellwig) - Use str_plural() in raid0 dump_zones(). (Thorsten Blum)" * tag 'md-7.2-20260531' of https://git.kernel.org/pub/scm/linux/kernel/git/mdraid/linux: md/raid0: use str_plural helper in dump_zones raid1: fix nr_pending leak in REQ_ATOMIC bad-block error path md/raid1: move the exceed_read_errors condition out of fix_read_error md/raid1: cleanup handle_read_error md/raid1,raid10: fix bio accounting for split md cloned bios md/raid1,raid10: fix error-path detection with md_cloned_bio() md/raid1,raid10: fix deadlock in read error recovery path md/raid10: reset read_slot when reusing r10bio for discard md: skip redundant raid_disks update when value is unchanged dm-raid: only requeue bios when dm is suspending MAINTAINERS: Update Li Nan's E-mail address MAINTAINERS: update Yu Kuai's email address
2026-06-01docs: md: fix grammar in speed_limit descriptionMiguel Martín Gil
Replace 'This are' with 'These are' in the md sysfs speed limit section to correct grammar and improve readability. Signed-off-by: Miguel Martín Gil <miguel.martin.gil.uni@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260525214554.2196-1-miguel.martin.gil.uni@gmail.com>
2026-06-01docs: changes.rst: restore pahole 1.26 minimum (regressed by sort)Zhan Xusheng
Commit 9edd04c4189e ("docs: Raise minimum pahole version to 1.26 for KF_IMPLICIT_ARGS kfuncs") raised the minimum required pahole version from 1.22 to 1.26 in the requirements table and added a paragraph explaining the failure mode for distributions still shipping pahole v1.25 (e.g. Ubuntu 24.04 LTS). The next day, commit ece7e57afd51 ("docs: changes.rst and ver_linux: sort the lists") came through a different tree (docs vs sched_ext) and re-flowed the table alphabetically, but its base did not include 9edd04c4189e. When the two commits met in mainline, the textual rewrite of the table won and the version bump was lost. The added "Since Linux 7.0..." paragraph also disappeared. The result is that changes.rst on master (v7.1-rc5) lists pahole 1.22 again, even though sched_ext kfuncs annotated with KF_IMPLICIT_ARGS genuinely require v1.26 to produce a correct vmlinux BTF. Users on distributions with pahole v1.25 hit "func_proto incompatible with vmlinux" when loading any sched_ext BPF program (scx_simple, scx_qmap, ...) and have no documentation pointing them at the version gap. Restore both changes from 9edd04c4189e. Fixes: ece7e57afd51 ("docs: changes.rst and ver_linux: sort the lists") Signed-off-by: Zhan Xusheng <zhanxusheng@xiaomi.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260526022033.1301884-1-zhanxusheng@xiaomi.com>
2026-06-01Documentation: Fix syntax of kmalloc_objs example in coding style docUwe Kleine-König
The first parameter should match the variable that the allocated memory is assigned to. Fix the example accordingly, the one for kmalloc_obj got it right already. Fixes: 7c6d969d5349 ("Documentation: adopt new coding style of type-aware kmalloc-family") Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260529081006.2019687-2-ukleinek@kernel.org>
2026-06-01docs: pt_BR: update maintainer-handbooksAmanda Corrêa
Update the content of the maintainer-handbooks documentation to Brazilian Portuguese. Signed-off-by: Amanda Corrêa <amandacorreasilvax@gmail.com> Acked-by: Daniel Pereira <danielmaraboo@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260528041958.57231-1-amandacorreasilvax@gmail.com>
2026-06-01docs: pt_BR: add translation for kernel development process guidesDaniel Pereira
Add the Brazilian Portuguese (pt_BR) translation for the 'development-process.rst' and '2.process.rst' files under the 'process/' directory. The main 'index.rst' file is also updated to include references to the newly translated documents in the toctree. Signed-off-by: Daniel Pereira <danielmaraboo@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260527155350.202569-1-danielmaraboo@gmail.com>
2026-06-01drm/v3d: Wait for pending L2T flush before cleaning cachesMaíra Canal
v3d_clean_caches() starts the cache-clean sequence by writing V3D_L2TCACTL_TMUWCF to V3D_CTL_L2TCACTL and then polling for that bit to clear. It does not, however, check for an L2T flush (L2TFLS) that may still be in flight from a previous operation. On pre-V3D 7.1 hardware, kicking off the TMU write-combiner flush while an L2T flush is still pending can clobber bits in L2TCACTL and cause cache inconsistencies. Poll for L2TFLS to clear before writing L2TCACTL on V3D < 7.1, ensuring any pending flush has completed before a new clean is issued. Cc: stable@vger.kernel.org Fixes: d223f98f0209 ("drm/v3d: Add support for compute shader dispatch.") Link: https://patch.msgid.link/20260530-v3d-fix-rpi4-freezes-v1-1-c2c8307da6ce@igalia.com Signed-off-by: Maíra Canal <mcanal@igalia.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
2026-06-01ACPI: CPPC: Add support for CPPC v4Sumit Gupta
CPPC v4 (ACPI 6.6, Section 8.4.6) adds two optional entries to the _CPC package: 1. OSPM Nominal Performance (8.4.6.1.2.6): A write-only register that lets OSPM inform the platform what it considers nominal performance. The platform classifies performance above this level as boost and below as throttle for its power/thermal decisions. 2. Resource Priority (8.4.6.1.2.7): A Package of Resource Priority Register Descriptor sub-packages that allow OSPM to set relative priority among processors for shared resources (boost, throttle, L2/L3 cache, memory bandwidth). Parsing the full structure is not yet supported; such entries are marked as unsupported. Add v4 _CPC table parsing (25 entries) and update REG_OPTIONAL to mark the two new registers as optional. Signed-off-by: Sumit Gupta <sumitg@nvidia.com> Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org> Reviewed-by: Pierre Gondois <pierre.gondois@arm.com> Link: https://patch.msgid.link/20260527194626.185286-2-sumitg@nvidia.com Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-06-01thermal: intel: Use sysfs_emit() for powerclamp cpumaskYury Norov
cpumask_get() is used as a sysfs getter for the cpumask module parameter. Use sysfs_emit() and cpumask_pr_args() to emit the mask. This prepares for removing cpumap_print_to_pagebuf(). Signed-off-by: Yury Norov <ynorov@nvidia.com> Link: https://patch.msgid.link/20260528183625.870813-16-ynorov@nvidia.com Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-06-01powercap: intel_rapl: Use sysfs_emit() in cpumask_show()Yury Norov
cpumask_show() is a sysfs show callback, so use sysfs_emit() and cpumask_pr_args() to emit the mask in it. This prepares for removing cpumap_print_to_pagebuf(). Signed-off-by: Yury Norov <ynorov@nvidia.com> [ rjw: Subject and changelog tweaks ] Link: https://patch.msgid.link/20260528183625.870813-15-ynorov@nvidia.com Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-06-01iommufd/selftest: Add boundary tests for veventq_depthNicolin Chen
Test veventq_depth to cover a memory exhaustion vulnerability. Keep veventq_depth=2 for the existing callers. Link: https://patch.msgid.link/r/acfa370fa4e89e4626f71954bad7ad2bd64cf63b.1779408671.git.nicolinc@nvidia.com Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Nicolin Chen <nicolinc@nvidia.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2026-06-01iommufd: Set veventq_depth upper boundNicolin Chen
iommufd_veventq_alloc() accepts any !0 veventq_depth from userspace, with an upper bound at U32_MAX. This leaves a vulnerability where userspace can allocate excessively large queues to exhaust kernel memory reserves. Cap the veventq_depth (maximum number of entries) to 1 << 19, matching the maximum number of entries in the SMMUv3 EVTQ (the largest use case today). Fixes: e36ba5ab808e ("iommufd: Add IOMMUFD_OBJ_VEVENTQ and IOMMUFD_CMD_VEVENTQ_ALLOC") Link: https://patch.msgid.link/r/8426cbaa5e8294472ec7f076ef427cc473be5985.1779408671.git.nicolinc@nvidia.com Cc: stable@vger.kernel.org Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Nicolin Chen <nicolinc@nvidia.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2026-06-01iommufd: Move vevent memory allocation outside spinlockNicolin Chen
The veventq memory allocation happens inside the spinlock. Given its depth is decided by the user space, this leaves a vulnerability, where userspace can allocate large queues to exhaust atomic memory reserves. Move the allocation outside the spinlock and use GFP_NOWAIT, which can fail fast under memory pressure without dipping into the GFP_ATOMIC reserves or direct-reclaiming from the threaded IRQ handler. On allocation failure, queue the lost_events_header (so userspace learns of the drop) and return -ENOMEM so the caller learns of the kernel-side memory pressure. This is intentionally distinct from the queue-overflow path, which also queues the lost_events_header but returns 0: a full queue is an expected userspace-pacing condition rather than a kernel error. A subsequent change will cap the upper bound of the veventq_depth. Fixes: e36ba5ab808e ("iommufd: Add IOMMUFD_OBJ_VEVENTQ and IOMMUFD_CMD_VEVENTQ_ALLOC") Link: https://patch.msgid.link/r/5ff36b5d80f7f6299f851be532a5195c1d2f1dae.1779408671.git.nicolinc@nvidia.com Cc: stable@vger.kernel.org Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Nicolin Chen <nicolinc@nvidia.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2026-06-01iommufd: Fix data_len byte-count vs element-count mismatchNicolin Chen
kzalloc_flex() computes the allocation size. With event_data typed as u64, data_len is interpreted as a u64 element count. Yet, every caller and the read path treat data_len as a byte count. The current code over-allocates by sizeof(u64) and the __counted_by() annotation overstates the length by the same factor. Re-type event_data as u8. No functional change in user-visible behavior. Fixes: e36ba5ab808e ("iommufd: Add IOMMUFD_OBJ_VEVENTQ and IOMMUFD_CMD_VEVENTQ_ALLOC") Link: https://patch.msgid.link/r/f7665f839b9dce917d6bd394375a1cf56568d86b.1779408671.git.nicolinc@nvidia.com Cc: stable@vger.kernel.org Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Nicolin Chen <nicolinc@nvidia.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2026-06-02erofs: fix EFSCORRUPTED on multi-algorithm images in z_erofs_map_sanity_check()Zhan Xusheng
Commit a5242d37c83a ("erofs: error out obviously illegal extents in advance") changed the per-extent algorithm presence check from "is the bit set" to "is the only bit set": - !(sbi->available_compr_algs & (1 << map->m_algorithmformat)) + (sbi->available_compr_algs ^ BIT(map->m_algorithmformat)) `available_compr_algs` is a bitmap of every compression algorithm available in the image (z_erofs_parse_cfgs() iterates it with for_each_set_bit()), so an image that enables more than one algorithm has multiple bits set. XOR is zero only when the bitmap is exactly BIT(map->m_algorithmformat); for any image with two or more algorithms the test is non-zero for every extent and the read fails with -EFSCORRUPTED ("inconsistent algorithmtype %u"). Reproducer (mkfs.erofs from erofs-utils 1.7.1): $ mkdir src $ yes A | head -c 100K > src/a $ head -c 64K /dev/zero > src/b $ mkfs.erofs -zlz4:deflate multi.erofs src $ mount -t erofs -o loop multi.erofs /mnt $ cat /mnt/a >/dev/null cat: /mnt/a: Structure needs cleaning $ dmesg | tail erofs (device loop0): inconsistent algorithmtype 0 for nid 46 erofs (device loop0): read error -117 @ 0 of nid 46 The erofs on-disk format (Z_EROFS_COMPRESSION_MAX = 4 with LZ4, LZMA, DEFLATE, ZSTD) and the kernel parser explicitly support multi-algorithm images, and erofs-utils 1.7.1 generates them via the "-z X:Y" syntax. Restore the original per-bit presence check. Fixes: a5242d37c83a ("erofs: error out obviously illegal extents in advance") Signed-off-by: Zhan Xusheng <zhanxusheng@xiaomi.com> Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>