summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2026-08-13tee: optee: prevent use-after-free when the client exits before the supplicantAmirreza Zarrabi
Commit 70b0d6b0a199 ("tee: optee: Fix supplicant wait loop") made the client wait as killable so it can be interrupted during shutdown or after a supplicant crash. This changes the original lifetime expectations: the client task can now terminate while the supplicant is still processing its request. If the client exits first it removes the request from its queue and kfree()s it, while the request ID remains in supp->idr. A subsequent lookup on the supplicant path then dereferences freed memory, leading to a use-after-free. Serialise access to the request with supp->mutex: * Hold supp->mutex in optee_supp_recv() and optee_supp_send() while looking up and touching the request. * Let optee_supp_thrd_req() notice that the client has terminated and signal optee_supp_send() accordingly. With these changes the request cannot be freed while the supplicant still has a reference, eliminating the race. Link: https://lore.kernel.org/all/20260216-fix-use-after-free-v5-1-0d6fd12d1f09@oss.qualcomm.com/ Fixes: 70b0d6b0a199 ("tee: optee: Fix supplicant wait loop") Signed-off-by: Amirreza Zarrabi <amirreza.zarrabi@oss.qualcomm.com> Signed-off-by: Martin Kurbanov <mmkurbanov@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13leds: aw200xx: add support for "all" in pattern LED selectionMartin Kurbanov
Currently, users must explicitly specify each LED, which is cumbersome for devices with a large number of channels. Add support for a special "all" keyword to both select_leds and clear_leds sysfs attributes. Signed-off-by: Martin Kurbanov <mmkurbanov@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13clk: meson: a1: audio: use meson common reset auxiliary driverDmitry Rokosov
Remove the implementation of the reset driver in a1 audio clock driver and migrate to the one provided by reset framework on the auxiliary bus. Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13clk: meson: a1: apply dev pointer for pdev->dev for shorter usageDmitry Rokosov
Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13leds: aw200xx: Share framebuffer's leds with patternsGeorge Stark
Allow to use framebuffer's leds in patterns only if framebuffer is not opened and dont allow to open framebuffer if its leds are used in patterns. Signed-off-by: George Stark <gnstark@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13leds: aw200xx: Support for hw pattern controllersMartin Kurbanov
This led-controller supports 3 pattern controllers for auto breathing or group dimming control. Each pattern controller can work in auto breathing or manual control mode. All breathing parameters including rising/falling slope, on/off time, repeat times, min/max brightness and so on are configurable. Signed-off-by: Martin Kurbanov <mmkurbanov@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13drivers/leds: Add framebuffer and backlight dependencies for AW200XXGeorge Stark
Signed-off-by: George Stark <gnstark@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13leds: aw200xx: Add support for framebuffer interfaceGeorge Stark
LEDs subset or all LEDs can be accessed thru framebuffer interface. Signed-off-by: George Stark <gnstark@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13leds: aw200xx: Update led states thru delayed work queueGeorge Stark
This feature allows multiple LED clients (e.g., a single-LED user and a framebuffer user) to operate at the same time. Signed-off-by: George Stark <gnstark@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13leds: aw200xx: Introduce separate internal aw200xx_dim_fill()George Stark
This function is useful for future store queue operation support. Signed-off-by: George Stark <george.stark@mailbox.org> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13leds: aw200xx: Support default-state DT propertyGeorge Stark
Support DT property default-state's values: on, off, keep. Signed-off-by: George Stark <gnstark@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13leds: aw200xx: Fully initialize chip before registering LEDsGeorge Stark
Since all the required information is ready before creating LED objects then chip can be fully initialized in the first place and locking the mutex becomes unnecessary. Also it's unnecessary to handle devm_led_classdev_register_ext() return value, because we register all leds which we can. Signed-off-by: George Stark <gnstark@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13leds: aw200xx: Redesign driver's probing stageGeorge Stark
Split aw200xx_probe_fw() into two steps. At the first step aw200xx_probe_dt_leds() reads all information from DT about LEDs configuration to temporary array at early stage of probe. It'll allow to have all details before initializing the chip thus simplify it. At the second step aw200xx_probe_register_leds() solely creates leds objects. Signed-off-by: George Stark <gnstark@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13leds: aw200xx: Fix calculating display_rowsGeorge Stark
aw200xx_probe_get_display_rows() returns error if max found reg value is 0 but actually it's a valid situation if a single LED is connected to row 0 and column 0. Fixes: 2b8db5729d10 ("leds: aw200xx: Calculate dts property display_rows in the driver") Signed-off-by: George Stark <gnstark@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13leds: aw200xx: Drop manual aw200xx_disable() if probe failedGeorge Stark
Since aw200xx_disable() schedulled earlier thru devm_add_action() it's no need to call aw200xx_disable() manually at the probe error section. Fixes: a59d8824d730 ("leds: aw200xx: Use devm API to cleanup module's resources") Signed-off-by: George Stark <gnstark@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13iio: hx3203: switch to sparse friendly iio_device_claim/release_directMartin Kurbanov
These new functions allow sparse to find failures to release direct mode reducing chances of bugs over the claim_direct_mode() functions that are deprecated. Signed-off-by: Martin Kurbanov <mmkurbanov@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13mtd: spinand: micron: correct parameters for MT29F2G01ABAGDAlexey Romanov
Cherry-pick and adapt the reverted commit 208f50b51622 ("mtd: spinand: micron: correct MT29F2G01ABAGD parameters"). The original patch used older macro names. During the adaptation, update these to the macros provided by Miquel Raynal in the mainline kernel: - SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP -> SPINAND_PAGE_READ_FROM_CACHE_1S_2S_2S_OP() - SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP -> SPINAND_PAGE_READ_FROM_CACHE_1S_4S_4S_OP() Signed-off-by: Alexey Romanov <avromanov@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13iio: light: add Nanjing TianYiHeXin HX3203 Ambient Light Sensor driverDmitry Rokosov
HX3203 is an optical sensor which measures the ambient light intensity. It has two channels: white light + IR and IR separately, supports hi/low ALS thresholds with Open-Drain interrupt. Also this patch has several adaptation fixes: - remove field chip_name from struct hx3203_priv, use indio_dev->name instead - use dev_err_probe() instead of dev_err() - use aligned_s64 instead of __aligned(8) - use iio_for_each_active_channel() to iterate over active channels - fix hx3203_write_event_config() signature - fix hx3203_remove() signature Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org> Signed-off-by: Martin Kurbanov <mmkurbanov@salutedevices.com>
2026-08-13mtd: rawnand: amlogic_bbt: use rsv-info APIMartin Kurbanov
Amlogic has its own rsv-info API to interact with BBT, unifykeys, env and other vendor-specific custom NAND storages. Amlogic reserved region is usually located right after BL2 partition: +-----------+-----------------+-------------+--------+ | | | | | | BL2 | RESERVED | TPL | ... | | | | | | +-----------+-----------------+-------------+--------+ 1024 pages 48 erase blocks 8MB Below there is a map of RSV regions: +-----+-----+-----------+-----------+-----+-----------+ | | | | | | | | GAP | BBT | ENV | KEY | DTB | ... | | | | | | | | +-----+-----+-----------+-----------+-----+-----------+ eraseblocks: 4 4 8 8 4 20 The current patch introduces a correct operations with BBT region using rsv-info API and formats. Signed-off-by: Martin Kurbanov <mmkurbanov@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13mtd: spinand: esmt: fix return value for OTP read/writeMartin Kurbanov
The spinand_read_page()/spinand_write_page() functions can return a positive value (bitflips corrected on success). Signed-off-by: Martin Kurbanov <mmkurbanov@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13mtd: spinand: esmt: OTP: fix pagesize as unused varEvgeny Bachinin
Make compiler happy: ``` drivers/mtd/nand/spi/esmt.c: In function 'f50l1g41lb_otp_rw': drivers/mtd/nand/spi/esmt.c:185:16: error: unused variable 'pagesize' 185 | size_t pagesize = nanddev_page_size(nand); | ^~~~~~~~ drivers/mtd/nand/spi/esmt.c:180:29: error: unused variable 'nand' 180 | struct nand_device *nand = spinand_to_nand(spinand); ``` Fixes: f2c5a912aefb ("mtd: spinand: esmt: introduce read/write OTP ops") Signed-off-by: Evgeny Bachinin <EABachinin@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13mtd: spinand: esmt: enable ECC for read/write OTPMartin Kurbanov
U-Boot for ESMT driver reads from OTP with ECC enabled. Enable ECC for OTP reads/writes to ensure consistent behaviour across devices and improve data reliability. Signed-off-by: Martin Kurbanov <mmkurbanov@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13mtd: spinand: esmt: introduce read/write OTP opsMartin Kurbanov
In the generic code, ECC is disabled for OTP read/write operations. To enable ECC in OTP for the ESMT driver, custom OTP read/write callbacks must be implemented. This patch provides these callbacks. This is adaptation of the spinand_otp_rw() function. Signed-off-by: Martin Kurbanov <mmkurbanov@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13drivers: mtd: nand: raw: amlogic: fix buffer overflowAlexey Romanov
Detected by CONFIG_FORTIFY_SOURCE option. Fix patch fix following buffer overflow in Amlgoic BBT module: [ 0.716769] ------------[ cut here ]------------ [ 0.721142] strlen: detected buffer overflow: 5 byte read of buffer size 4 [ 0.728039] WARNING: CPU: 0 PID: 1 at lib/string_helpers.c:1032 __fortify_report+0x54/0x64 [ 0.736107] Modules linked in: [ 0.739127] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.10-sdkernel #1 [ 0.746454] Hardware name: SberDevices SberBoom (DT) [ 0.751371] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 0.758268] pc : __fortify_report+0x54/0x64 [ 0.762408] lr : __fortify_report+0x54/0x64 [ 0.766547] sp : ffff80008002b910 [ 0.769825] x29: ffff80008002b910 x28: 0000000000000000 x27: ffff00000007d090 [ 0.776901] x26: 0000000000000000 x25: 0000000000000014 x24: ffff00000007d5c8 [ 0.783970] x23: ffff80008002b9f4 x22: 0000000000000018 x21: ffff800080f87c68 [ 0.791044] x20: 0000000000000000 x19: 0000000000000005 x18: 0000000000000006 [ 0.798116] x17: ffff00000fe1b0d8 x16: 000000000001f200 x15: ffff80008002b390 [ 0.805193] x14: 0000000000000000 x13: 3420657a69732072 x12: ffff80008002b6b8 [ 0.805714] Freeing initrd memory: 6804K [ 0.812250] x11: 00000000ffffffea x10: ffff800080f2f910 x9 : 0000000000000001 [ 0.812261] x8 : c0000000fffffbff x7 : 0000000000005fe8 x6 : ffff800080f2f8b8 [ 0.812272] x5 : 0000000000015fa8 x4 : 0000000000000000 x3 : 0000000000000000 [ 0.837353] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff000000176740 [ 0.844426] Call trace: [ 0.846841] __fortify_report+0x54/0x64 [ 0.850636] __fortify_panic+0x10/0x14 [ 0.854344] nand_create_bbt+0x39c/0x3ec [ 0.858225] nand_scan_with_ids+0x14f0/0x1740 [ 0.862538] meson_nfc_probe+0x514/0x7a8 [ 0.866419] pl��ɵ}�ɽ���0x68/0xc4 [ 0.870042] really_probe+0xbc/0x2a4 [ 0.873578] __driver_probe_device+0x78/0x12c [ 0.877890] driver_probe_device+0x3c/0x10c [ 0.882031] __driver_attach+0x94/0x160 0.905404] meson_nfc_driver_init+0x1c/0x28 [ 0.909630] do_one_initcall+0x80/0x20c [ 0.913425] kernel_init_freeable+0x1d8/0x2ac [ 0.917738] kernel_init+0x20/0x1dc [ 0.921188] ret_from_fork+0x10/0x20 [ 0.924726] ---[ end trace 0000000000000000 ]--- [ 0.929365] ------------[ cut here ]------------ [ 0.933869] kernel BUG at lib/string_helpers.c:1040! [ 0.938786] Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP [ 0.945512] Modules linked in: [ 0.948534] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Tainted: G W 6.12.10-sdkernel #1 [ 0.957328] Tainted: [W]=WARN [ 0.960260] Hardware name: SberDevices Sbe��>��0c [ 1.119390] kernel_init_freeable+0x1d8/0x2ac [ 1.123703] kernel_init+0x20/0x1dc [ 1.127153] ret_from_fork+0x10/0x20 [ 1.130694] Code: d503233f a9bf7bfd 910003fd 97ffffe4 (d4210000) [ 1.136728] ---[ end trace 0000000000000000 ]--- [ 1.144120] note: swapper/0[1] exited with irqs disabled [ 1.146651] note: swapper/0[1] exited with preempt_count 1 [ 1.152077] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [ 1.159592] SMP: stopping secondary CPUs [ 1.163472] Kernel Offset: 0x80000 from 0xffff800080000000 [ 1.168898] PHYS_OFFSET: 0x0 [ 1.171744] CPU features: 0x00,00000080,00200000,0200420b [ 1.177092] Memory Limit: none [ 1.183040] Rebooting in 5 seconds.. Signed-off-by: Alexey Romanov <avromanov@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13clk: meson: a1: add Amlogic A1 CPU clock controller driverDmitry Rokosov
The CPU clock controller plays a general role in the Amlogic A1 SoC family by generating CPU clocks. As an APB slave module, it offers the capability to inherit the CPU clock from two sources: the internal fixed clock known as 'cpu fixed clock' and the external input provided by the A1 PLL clock controller, referred to as 'syspll'. It is important for the driver to handle cpu_clk rate switching effectively by transitioning to the CPU fixed clock to avoid any potential execution freezes. Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13clk: meson: a1: peripherals: support 'sys_pll_div16' clock as GEN inputDmitry Rokosov
The clock 'sys_pll_div16' is one of the parents of the GEN clock. It is generated inside the A1 Peripherals clock controller from 'sys_pll' PLL clock source with a fixed factor. Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13clk: meson: a1: pll: support 'syspll' general-purpose PLL for CPU clockDmitry Rokosov
The 'syspll' PLL, also known as the system PLL, is a general and essential PLL responsible for generating the CPU clock frequency. With its wide-ranging capabilities, it is designed to accommodate frequencies within the range of 768MHz to 1536MHz. Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13clk: meson: a1: don't set automatically the rate of master clocksJan Dakinevich
This patch prevent changing the rate of master clocks (by removing CLK_SET_RATE_PARENT flag). This is behavior is close to that is common in upstream: several master clocks should be configured some sample-rate families (44.1kHz, 48kHz etc) using 'assigned-clock-rates' and one of these clocks later will be chosen by underlying multiplexer. Fixes: 77b58fda874d ("clk: meson: a1: add the audio clock controller driver") Signed-off-by: Jan Dakinevich <jan.dakinevich@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13clk: meson: a1: add the audio clock controller driverJan Dakinevich
This controller provides clocks and reset functionality for audio peripherals on Amlogic A1 SoC family. The driver is almost identical to 'axg-audio', however it would be better to keep it separate due to following reasons: - significant amount of bits has another definition. I will bring there a mess of new defines with A1_ suffixes. - registers of this controller are located in two separate regions. It will give a lot of complications for 'axg-audio' to support this. Signed-off-by: Jan Dakinevich <jan.dakinevich@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13mtd: two fixes for Amlogic BBT parserArseniy Krasnov
1) Use MTD_OPS_AUTO_OOB: this places all magic bytes from OOB free areas to the beginning of the buffer, so we can use 'memcmp()' to find magic. 2) Use temporary small buffer for magic instead of internal OOB buffer of 'nand_chip'. Signed-off-by: Arseniy Krasnov <avkrasnov@salutedevices.com> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13mtd: spinand: micron: fixing the offset for OOBMartin Kurbanov
The first 4 bytes are reserved for bad block data. Fixes: a508e8875e13 ("mtd: spinand: Add initial support for Micron MT29F2G01ABAGD") Signed-off-by: Martin Kurbanov <mmkurbanov@sberdevices.ru> Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13mtd: introduce BBT parser for Amlogic formatArseniy Krasnov
Amlogic uses own magic for BBT, own predefined values to mark bad/good block in BBT. This makes impossible to tune already implemented BBT parser to load Amlogic's BBT. This new parser disables the default one, also overloading its currently implemented API: 'nand_markbad_bbt()', 'nand_isbad_bbt()', 'nand_isreserved_bbt()' and 'nand_create_bbt()'. Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-08-13mtd: rawnand: meson: suppress OOB writeArseniy Krasnov
This is needed to make JFFS2 work correctly. Otherwise cleanmarkers will be under ECC engine (we don't have free bytes in OOB when ECC has 512B step size), so after JFFS2 writes cleanmarkers, page become unavailable to write data on it later - such page considered already written and need to be erased to save data correctly. This dirty trick makes JFFS2 to think that cleanmarkers are written successfully while in fact page still untouched, so JFFS2 driver could write data on it later. TODO: this is temporary solution until JFFS2 driver doesn't have support for disabling cleanmarker on NAND flash. As JFFS2 driver will have this feature - this patch could be removed. Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru> Signed-off-by: Dmitry Rokosov <rockosov@rulkc.org>
2026-04-12Merge tag 'edac_urgent_for_7.0' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras Pull EDAC fix from Borislav Petkov: - Fix the error path ordering when the driver-private descriptor allocation fails * tag 'edac_urgent_for_7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras: EDAC/mc: Fix error path ordering in edac_mc_alloc()
2026-04-11Merge tag 'i2c-for-7.0-final' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fix from Wolfram Sang: - imx: set dma_slave_config to 0 and avoid uninitialized fields * tag 'i2c-for-7.0-final' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: imx: zero-initialize dma_slave_config for eDMA
2026-04-11Merge tag 'spi-fix-v7.0-rc7' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi fixes from Mark Brown: "A couple of changes here, one update to MAINTAINERS for the AMD controller and a chnage from Pei Xiao which in spite of the changelog is actually a fix - previously the zynq-qspi driver leaked a clock enable for every flash operation it did which isn't good, these extra enables were removed when doing the enable cleanup which are probably a good idea anyway" * tag 'spi-fix-v7.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: MAINTAINERS: Update AMD SPI driver maintainers spi: zynq-qspi: Simplify clock handling with devm_clk_get_enabled()
2026-04-11Merge tag 'regulator-fix-v7.0-rc7' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator fix from Mark Brown: "One last fix for v7.0, the BD72720 incorrectly described which DCDC is tied to the LDO for its LDON-HEAD mode which automates using the DCDC to more efficiently drop a supply for delivery via the LDO" * tag 'regulator-fix-v7.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: regulator: bd71828-regulator.c: Fix LDON-HEAD mode
2026-04-11Merge tag 'usb-7.0-final' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB fix from Greg KH: "Here is a single USB fix for a reported regression in a recent USB typec patch for 7.0-final. Sorry for the late submission, but it does fix a problem that people have been seeing with 7.0-rc7 and the stable kernels (due to a backported fix from there.) This has been in linux-next this week with no reported issues, and the reporter (Takashi), has said it resolves the problem they were seeing" * tag 'usb-7.0-final' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: usb: typec: ucsi: skip connector validation before init
2026-04-11Merge tag 'input-for-v7.0-rc7' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input fixes from Dmitry Torokhov: "Two fixes for force feedback handling in uinput driver: - fix circular locking dependency in uinput - fix potential corruption of uinput event queue" * tag 'input-for-v7.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: uinput - take event lock when submitting FF request "event" Input: uinput - fix circular locking dependency with ff-core
2026-04-10Merge tag 'drm-fixes-2026-04-11' of https://gitlab.freedesktop.org/drm/kernelLinus Torvalds
Pull drm fixes from Dave Airlie: "Last set of fixes, a few vc4, and i915, one xe and one ethosu Kconfig fix. xe: - Fix HW engine idleness unit conversion i915: - Drop check for changed VM in EXECBUF - Fix refcount underflow race in intel_engine_park_heartbeat - Do not use pipe_src as borders for SU area in PSR vc4: - runtime pm reference fix - memory leak fixes - locking fix ethosu: - make ARM only" * tag 'drm-fixes-2026-04-11' of https://gitlab.freedesktop.org/drm/kernel: drm/i915/gem: Drop check for changed VM in EXECBUF drm/i915/gt: fix refcount underflow in intel_engine_park_heartbeat drm/xe: Fix bug in idledly unit conversion drm/i915/psr: Do not use pipe_src as borders for SU area accel: ethosu: Add hardware dependency hint drm/vc4: Protect madv read in vc4_gem_object_mmap() with madv_lock drm/vc4: Fix a memory leak in hang state error path drm/vc4: Fix memory leak of BO array in hang state drm/vc4: Release runtime PM reference after binding V3D
2026-04-11Merge tag 'drm-intel-fixes-2026-04-09' of ↵Dave Airlie
https://gitlab.freedesktop.org/drm/i915/kernel into drm-fixes - Drop check for changed VM in EXECBUF - Fix refcount underflow race in intel_engine_park_heartbeat - Do not use pipe_src as borders for SU area in PSR Signed-off-by: Dave Airlie <airlied@redhat.com> From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patch.msgid.link/add6fPHRC7Bc8Uri@jlahtine-mobl
2026-04-10Merge tag 'vfs-7.0-rc8.fixes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs Pull vfs fixes from Christian Brauner: "The kernfs rbtree is keyed by (hash, ns, name) where the hash is seeded with the raw namespace pointer via init_name_hash(ns). The resulting hash values are exposed to userspace through readdir seek positions, and the pointer-based ordering in kernfs_name_compare() is observable through entry order. Switch from raw pointers to ns_common::ns_id for both hashing and comparison. A preparatory commit first replaces all const void * namespace parameters with const struct ns_common * throughout kernfs, sysfs, and kobject so the code can access ns->ns_id. Also compare the ns_id when hashes match in the rbtree to handle crafted collisions. Also fix eventpoll RCU grace period issue and a cachefiles refcount problem" * tag 'vfs-7.0-rc8.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: kernfs: make directory seek namespace-aware kernfs: use namespace id instead of pointer for hashing and comparison kernfs: pass struct ns_common instead of const void * for namespace tags eventpoll: defer struct eventpoll free to RCU grace period cachefiles: fix incorrect dentry refcount in cachefiles_cull()
2026-04-10Merge tag 'gpio-fixes-for-v7.0' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux Pull gpio fixes from Bartosz Golaszewski: - gracefully handle missing regmap in gpio-bd72720 - fix IRQ resource release in gpio-tegra - return -ENOMEM on devm_kzalloc() failure instead of -ENODEV in gpio-tegra * tag 'gpio-fixes-for-v7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: gpio: tegra: return -ENOMEM on allocation failure in probe gpio: tegra: fix irq_release_resources calling enable instead of disable gpio: bd72720: handle missing regmap
2026-04-10Merge tag 'pinctrl-v7.0-4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control fixes from Linus Walleij: "Some late pin control fixes. I'm not happy to have bugs so late in the kernel cycle, but they are all driver specifics so I guess it's how it is. - Three fixes for the Intel pin control driver fixing the feature set for the new silicon - One fix for an IRQ storm in the MCP23S08 pin controller/GPIO expander" * tag 'pinctrl-v7.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: pinctrl: mcp23s08: Disable all pin interrupts during probe pinctrl: intel: Enable 3-bit PAD_OWN feature pinctrl: intel: Fix the revision for new features (1kOhm PD, HW debouncer) pinctrl: intel: Improve capability support
2026-04-10gpio: tegra: return -ENOMEM on allocation failure in probeSamasth Norway Ananda
devm_kzalloc() failure in tegra_gpio_probe() returns -ENODEV, which indicates "no such device". The correct error code for a memory allocation failure is -ENOMEM. Signed-off-by: Samasth Norway Ananda <samasth.norway.ananda@oracle.com> Link: https://patch.msgid.link/20260409185853.2163034-1-samasth.norway.ananda@oracle.com Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
2026-04-10Merge tag 'drm-misc-fixes-2026-04-09' of ↵Dave Airlie
https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes Several fixes for v3d about memory leak, runtime PM, and locking, and a Kconfig improvement for ethosu. Signed-off-by: Dave Airlie <airlied@redhat.com> From: Maxime Ripard <mripard@redhat.com> Link: https://patch.msgid.link/20260409-omniscient-tomato-coucal-edbadc@penduick
2026-04-09Merge tag 'efi-fixes-for-v7.0-4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi Pull EFI fix from Ard Biesheuvel: "Fix an incorrect preprocessor conditional that may result in duplicate instances of sysfb_primary_display on x86" * tag 'efi-fixes-for-v7.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi: firmware: efi: Never declare sysfb_primary_display on x86
2026-04-09Merge tag 'mmc-v7.0-rc1-3' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc Pull MMC fixes from Ulf Hansson: - vub300: Fix use-after-free and NULL-deref on disconnect * tag 'mmc-v7.0-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: mmc: vub300: fix use-after-free on disconnect mmc: vub300: fix NULL-deref on disconnect
2026-04-09Merge tag 'pmdomain-v7.0-rc6' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm Pull pmdomain fixes from Ulf Hansson: - imx: Prevent hang at power down for imx8mp-blk-ctrl - thead: Fix buffer overflow for TH1520 AON driver - Change Ulf Hansson's email * tag 'pmdomain-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: MAINTAINERS, mailmap: Change Ulf Hansson's email pmdomain: imx8mp-blk-ctrl: Keep the NOC_HDCP clock enabled firmware: thead: Fix buffer overflow and use standard endian macros
2026-04-09Merge tag 'net-7.0-rc8' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net Pull networking fixes from Paolo Abeni: "Including fixes from netfilter, IPsec and wireless. This is again considerably bigger than the old average. No known outstanding regressions. Current release - regressions: - net: increase IP_TUNNEL_RECURSION_LIMIT to 5 - eth: ice: fix PTP timestamping broken by SyncE code on E825C Current release - new code bugs: - eth: stmmac: dwmac-motorcomm: fix eFUSE MAC address read failure Previous releases - regressions: - core: fix cross-cache free of KFENCE-allocated skb head - sched: act_csum: validate nested VLAN headers - rxrpc: fix call removal to use RCU safe deletion - xfrm: - wait for RCU readers during policy netns exit - fix refcount leak in xfrm_migrate_policy_find - wifi: rt2x00usb: fix devres lifetime - mptcp: fix slab-use-after-free in __inet_lookup_established - ipvs: fix NULL deref in ip_vs_add_service error path - eth: - airoha: fix memory leak in airoha_qdma_rx_process() - lan966x: fix use-after-free and leak in lan966x_fdma_reload() Previous releases - always broken: - ipv6: ioam: fix potential NULL dereferences in __ioam6_fill_trace_data() - ipv4: nexthop: avoid duplicate NHA_HW_STATS_ENABLE on nexthop group dump - bridge: guard local VLAN-0 FDB helpers against NULL vlan group - xsk: tailroom reservation and MTU validation - rxrpc: - fix to request an ack if window is limited - fix RESPONSE authenticator parser OOB read - netfilter: nft_ct: fix use-after-free in timeout object destroy - batman-adv: hold claim backbone gateways by reference - eth: - stmmac: fix PTP ref clock for Tegra234 - idpf: fix PREEMPT_RT raw/bh spinlock nesting for async VC handling - ipa: fix GENERIC_CMD register field masks for IPA v5.0+" * tag 'net-7.0-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (104 commits) net: lan966x: fix use-after-free and leak in lan966x_fdma_reload() net: lan966x: fix page pool leak in error paths net: lan966x: fix page_pool error handling in lan966x_fdma_rx_alloc_page_pool() nfc: pn533: allocate rx skb before consuming bytes l2tp: Drop large packets with UDP encap net: ipa: fix event ring index not programmed for IPA v5.0+ net: ipa: fix GENERIC_CMD register field masks for IPA v5.0+ MAINTAINERS: Add Prashanth as additional maintainer for amd-xgbe driver devlink: Fix incorrect skb socket family dumping af_unix: read UNIX_DIAG_VFS data under unix_state_lock Revert "mptcp: add needs_id for netlink appending addr" mptcp: fix slab-use-after-free in __inet_lookup_established net: txgbe: leave space for null terminators on property_entry net: ioam6: fix OOB and missing lock rxrpc: proc: size address buffers for %pISpc output rxrpc: only handle RESPONSE during service challenge rxrpc: Fix buffer overread in rxgk_do_verify_authenticator() rxrpc: Fix leak of rxgk context in rxgk_verify_response() rxrpc: Fix integer overflow in rxgk_verify_response() rxrpc: Fix missing error checks for rxkad encryption/decryption failure ...