Commit graph

1,462,193 commits

Author SHA1 Message Date
Linus Torvalds
42bddab056 execve fixes for v7.0-rc5
- binfmt_elf_fdpic: fix AUXV size calculation (Andrei Vagin)
 
 - fs/tests: exec: Remove bad test vector
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRSPkdeREjth1dHnSE2KwveOeQkuwUCab2QFAAKCRA2KwveOeQk
 u3HZAP9zyjDeIYZoszNMEjkbkX6BpAFfNE/OvPKCKGqnwAqJhwD/WBpgsY1ThUnG
 yS9rv2hbxXBoVHcdG7hCRON+lu/AsQE=
 =ksko
 -----END PGP SIGNATURE-----

Merge tag 'execve-v7.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux

Pull execve fixes from Kees Cook:

 - binfmt_elf_fdpic: fix AUXV size calculation (Andrei Vagin)

 - fs/tests: exec: Remove bad test vector

* tag 'execve-v7.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  fs/tests: exec: Remove bad test vector
  binfmt_elf_fdpic: fix AUXV size calculation for ELF_HWCAP3 and ELF_HWCAP4
2026-03-20 11:59:35 -07:00
Alberto Garcia
2b27ea5b64 PM: hibernate: return -ENODATA if the snapshot image is not loaded
snapshot_image_loaded() is used in both the in-kernel and the
userspace restore path to ensure that the snapshot image has been
completely loaded. However the latter path returns -EPERM in such
situations, which is meant for cases where the operation is neither
write-only nor ready.

This patch updates the check so the returned error code is -ENODATA in
both cases.

Suggested-by: Brian Geffon <bgeffon@google.com>
Signed-off-by: Alberto Garcia <berto@igalia.com>
Acked-by: Brian Geffon <bgeffon@google.com>
Link: https://patch.msgid.link/8cfda38659c623f5392f3458cb32504ffd556a74.1773075892.git.berto@igalia.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-03-20 19:55:42 +01:00
Linus Torvalds
d46d5c8383 TTY/Serial fixes for 7.0-rc5
Here are some small tty/vt and serial driver fixes for 7.0-rc5.
 Included in here are:
   - 8250 driver fixes for reported problems
   - serial core lockup fix
   - uartlite driver bugfix
   - vt save/restore bugfix
 
 All of these have been in linux-next for over a week with no reported
 problems.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 
 iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCab2Cvw8cZ3JlZ0Brcm9h
 aC5jb20ACgkQMUfUDdst+ymT9ACeOSlIKi+7583DFXnaH5yYUWv62pIAn2YGM1+I
 ARhW4c21Fy1po3m3DFTv
 =gXlW
 -----END PGP SIGNATURE-----

Merge tag 'tty-7.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty

Pull tty/serial fixes from Greg KH:
 "Here are some small tty/vt and serial driver fixes for 7.0-rc5.
  Included in here are:

   - 8250 driver fixes for reported problems

   - serial core lockup fix

   - uartlite driver bugfix

   - vt save/restore bugfix

  All of these have been in linux-next for over a week with no reported
  problems"

* tag 'tty-7.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
  vt: save/restore unicode screen buffer for alternate screen
  serial: 8250_dw: Ensure BUSY is deasserted
  serial: 8250: Add late synchronize_irq() to shutdown to handle DW UART BUSY
  serial: 8250_dw: Rework IIR_NO_INT handling to stop interrupt storm
  serial: 8250_dw: Rework dw8250_handle_irq() locking and IIR handling
  serial: 8250: Add serial8250_handle_irq_locked()
  serial: 8250_dw: Avoid unnecessary LCR writes
  serial: 8250: Protect LCR write in shutdown
  serial: 8250_pci: add support for the AX99100
  serial: core: fix infinite loop in handle_tx() for PORT_UNKNOWN
  serial: uartlite: fix PM runtime usage count underflow on probe
  serial: 8250: always disable IRQ during THRE test
  serial: 8250: Fix TX deadlock when using DMA
2026-03-20 11:52:32 -07:00
Nathan Chancellor
7a618ca9b9 init/Kconfig: Require a release version of clang-22 for CC_HAS_COUNTED_BY_PTR
Commit 150a04d817 ("compiler_types.h: Attributes: Add __counted_by_ptr
macro") used Clang 22.0.0 as a minimum supported version for
__counted_by_ptr, which made sense while 22.0.0 was the version of
LLVM's main branch to allow developers to easily test and develop uses
of __counted_by_ptr in their code. However, __counted_by_ptr requires a
change [1] merged towards the end of the 22 development cycle to avoid
errors when applied to void pointers.

  In file included from fs/xfs/xfs_attr_inactive.c:18:
  fs/xfs/libxfs/xfs_attr.h:59:2: error: 'counted_by' cannot be applied to a pointer with pointee of unknown size because 'void' is an incomplete type
     59 |         void                    *buffer __counted_by_ptr(bufsize);
        |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is disruptive for deployed prerelease clang-22 builds (such as
Android LLVM) or when bisecting between llvmorg-21-init and the fix.

Require a released version of clang-22 (i.e., 21.1.0 or newer) to
enabled __counted_by_ptr to ensure all fixes needed for proper support
are present.

Fixes: 150a04d817 ("compiler_types.h: Attributes: Add __counted_by_ptr macro")
Link: f29955a594 [1]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Link: https://patch.msgid.link/20260318-counted_by_ptr-release-clang-22-v1-1-e017da246df0@kernel.org
Signed-off-by: Kees Cook <kees@kernel.org>
2026-03-20 11:51:48 -07:00
Kyle Meyer
1f6aa5bbf1 x86/platform/uv: Handle deconfigured sockets
When a socket is deconfigured, it's mapped to SOCK_EMPTY (0xffff). This causes
a panic while allocating UV hub info structures.

Fix this by using NUMA_NO_NODE, allowing UV hub info structures to be
allocated on valid nodes.

Fixes: 8a50c58519 ("x86/platform/uv: UV support for sub-NUMA clustering")
Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Steve Wahl <steve.wahl@hpe.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/ab2BmGL0ehVkkjKk@hpe.com
2026-03-20 19:01:03 +01:00
Nathan Chancellor
cb7415d8cb drm/xe: Fix format specifier for printing pointer differences
GCC and clang warn (or error with CONFIG_WERROR=y / W=e) several times
when targeting 32-bit platforms along the lines of

  drivers/gpu/drm/xe/xe_lrc.c: In function 'dump_mi_command':
  drivers/gpu/drm/xe/xe_lrc.c:1921:40: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'int' [-Werror=format=]
   1921 |                 drm_printf(p, "LRC[%#5lx]  =  [%#010x] MI_NOOP (%d dwords)\n",
        |                                    ~~~~^
        |                                        |
        |                                        long unsigned int
        |                                    %#5x
   1922 |                            dw - num_noop - start, inst_header, num_noop);
        |                            ~~~~~~~~~~~~~~~~~~~~~
        |                                          |
        |                                          int

  drivers/gpu/drm/xe/xe_lrc.c:1922:7: error: format specifies type 'unsigned long' but the argument has type '__ptrdiff_t' (aka 'int') [-Werror,-Wformat]
   1921 |                 drm_printf(p, "LRC[%#5lx]  =  [%#010x] MI_NOOP (%d dwords)\n",
        |                                    ~~~~~
        |                                    %#5tx
   1922 |                            dw - num_noop - start, inst_header, num_noop);
        |                            ^~~~~~~~~~~~~~~~~~~~~

Use the '%tx' specifier for printing pointer differences, which clears
up the warnings for 32-bit platforms while introducing no regressions
for 64-bit platforms.

Fixes: 65fcf19cb3 ("drm/xe: Include running dword offset in default_lrc dumps")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patch.msgid.link/20260316-drm-xe-fix-32-bit-wformat-ptrdiff-v1-1-0108b10b2b6b@kernel.org
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
2026-03-20 10:54:24 -07:00
Kees Cook
1c7bbaeed1 coccinelle: kmalloc_obj: Remove default GFP_KERNEL arg
Remove any GFP_KERNEL arguments found in the new kmalloc_obj-family
helpers. This captures the script used in commit 189f164e57 ("Convert
remaining multi-line kmalloc_obj/flex GFP_KERNEL uses").

Link: https://patch.msgid.link/20260320175113.work.016-kees@kernel.org
Signed-off-by: Kees Cook <kees@kernel.org>
2026-03-20 10:52:52 -07:00
Icenowy Zheng
a7aa874b69 riscv: dts: thead: th1520: add coefficients to the PVT node
The manual of TH1520 contains a set of coefficients a little different
to the driver default ones.

Add them to the device tree node of PVT.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Signed-off-by: Icenowy Zheng <zhengxingda@iscas.ac.cn>
Reviewed-by: Drew Fustini <fustini@kernel.org>
Signed-off-by: Drew Fustini <fustini@kernel.org>
2026-03-20 10:22:44 -07:00
Rob Herring (Arm)
0acb1de2b4 arm64: dts: broadcom: bcm2712: Move non simple-bus nodes to root level
The 'gpu' and 'firmware' nodes are not MMIO devices, so they should not
be under a 'simple-bus', but at the root level.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20260320154809.1246064-2-robh@kernel.org
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
2026-03-20 10:17:30 -07:00
Linus Torvalds
c612261bed io_uring-7.0-20260320
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmm9O2oQHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgprb2D/9EM91W+zo0M+6Xjs+A/YaHETDdSUUQwyuT
 B8ZNHEHwkB3TdLHxPvFDopf8bC8IFy1T3GhGkHgq/Uvh7hx9oYTvVrV1xjXCqW/W
 mpP5bgguJYlOTwFW2lYFWQTI5CZDletOeWbng00ecAZPoVVSjJx+KNVFm3DntYSR
 WeO20Y/OWXZ6vFu4b7825lHFYgVVPdO1iy2X5HYx4XHlWOjj7LK7KW2UDai4lPIF
 w1IjsOk8Cv7Wj38qYB2d3dMlgryER0dF1Hf2N+1awh1FFjlsiZ+YbLnrTiFyKwa0
 zip6ejDXwpevS6/FmCa6u19/DHxQ0WgvEZOwQlMyggCrIdaqN01LMGhCkleTev72
 demfEKA71avcG1gWmJLX9aNGfkY0rXT0Q9ArLk8FTPXnImnXQdJDfeLuql0ExMrL
 2MWkhJS4Dvp4MDERq0WwOdPrAMiDrG9O6DnHQBZYZjJuuqljF2LWb6Dbj7V9gO+M
 ePADlnKhR4o0MKvTcFqeM33kKIkdwSNzDvcLO+gnAeDxNFQsCyDSm8erGj+LEMfN
 LA2668ZWF24plKmWbEq1IZaw8P9CM5AqD6+QCIB+XPge9JNxzpeUuAfTkwuNp+bz
 V5vDw3RQ8p65cxhhD34rqor/KGN5WlSOYTrp9aU4BNIse9S/o8XAyPcR3ywZChYJ
 OHvT3W4O3g==
 =xEWR
 -----END PGP SIGNATURE-----

Merge tag 'io_uring-7.0-20260320' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull io_uring fixes from Jens Axboe:

 - A bit of a work-around for AF_UNIX recv multishot, as the in-kernel
   implementation doesn't properly signal EOF. We'll likely rework this
   one going forward, but the fix is sufficient for now

 - Two fixes for incrementally consumed buffers, for non-pollable files
   and for 0 byte reads

* tag 'io_uring-7.0-20260320' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux:
  io_uring/kbuf: propagate BUF_MORE through early buffer commit path
  io_uring/kbuf: fix missing BUF_MORE for incremental buffers at EOF
  io_uring/poll: fix multishot recv missing EOF on wakeup race
2026-03-20 09:58:56 -07:00
Thomas Weißschuh
5662ec000d selftests/nolibc: validate NOLIBC_IGNORE_ERRNO compilation
When NOLIBC_IGNORE_ERRNO is set, various bits of nolibc are disabled.

Make sure that all the ifdeffery does not result in any compilation
errors by compiling a dummy source file.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260311-nolibc-err-h-v1-2-735a9de7f15d@weissschuh.net
2026-03-20 17:58:28 +01:00
Thomas Weißschuh
e290017632 selftests/nolibc: add a variable for nolibc-test source files
The list of the nolibc-test source files is repeated many times.
Another source file is about to be added, adding to the mess.

Introduce a common variable instead.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260311-nolibc-err-h-v1-1-735a9de7f15d@weissschuh.net
2026-03-20 17:58:27 +01:00
Thomas Weißschuh
e83b07dc8c tools/nolibc: MIPS: fix clobbers of 'lo' and 'hi' registers on different ISAs
All MIPS ISAs before r6 use the 'lo' and 'hi' special registers.
These are clobbered by system calls and need to be marked as such to
avoid miscompilations. Currently nolibc ties the clobbers to the ABI.
But this is wrong and leads to ISA<->ABI combinations which are not
handled correctly, leading to compiler errors or miscompilations.

Handle all different combinations of ABI and ISA.

Fixes: a6a2a8a429 ("tools/nolibc: MIPS: add support for N64 and N32 ABIs")
Fixes: 66b6f755ad ("rcutorture: Import a copy of nolibc")
Suggested-by: Maciej W. Rozycki <macro@orcam.me.uk>
Link: https://lore.kernel.org/lkml/alpine.DEB.2.21.2603141744240.55200@angie.orcam.me.uk/
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Link: https://patch.msgid.link/20260317-nolibc-mips-clobber-v2-1-5b9a97761a9e@linutronix.de
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:58:26 +01:00
David Laight
9bc019e7ba selftests/nolibc: Use printf variable field widths and precisions
Now that printf supports '*' for field widths and precisions
then can be used to simplify the test output.
 - aligning the "[OK]" strings.
 - reporting the expected sprintf() output when there is a mismatch.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-18-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:58:26 +01:00
David Laight
248c7cf60c tools/nolibc/printf: Add support for octal output
Octal output isn't often used, but adding it costs very little.

Supporting "%#o" is mildly annoying, it has to add a leading '0' if
there isn't one present. In simple cases this is the same as adding a sign
of '0' - but that adds an extra '0' in a few places.
So you need 3 tests, %o, # and no leading '0' (which can only be checked
after the zero pad for precision).
If all the test are deferred until after zero padding then too many values
are 'live' across the call to _nolibc_u64toa_base() and get spilled to stack.
Hence the check that ignores the 'sign' if it is the same as the first
character of the output string.

Add tests for octal output.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-17-david.laight.linux@gmail.com
[Thomas: avoid a -Wsign-compare]
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:58:24 +01:00
David Laight
d3d3f64f8e tools/nolibc/printf: Add support for zero padding and field precision
Includes support for variable field widths (eg "%*.*d").

Zero padding is limited to 31 zero characters.
This is wider than the largest numeric field so shouldn't be a problem.

All the standard printf formats are now supported except octal
and floating point.

Add tests for new features

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-16-david.laight.linux@gmail.com
[Thomas: fixup testcases for musl libc]
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:58:10 +01:00
David Laight
b5f3f59cf4 tools/nolibc/printf: Add support for left aligning fields
Output the characters before or after the pad - writing the pad takes more code.

Include additional/changed tests

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-15-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:57:21 +01:00
David Laight
5eae5f1a01 tools/nolibc/printf: Special case 0 and add support for %#x
The output for %#x is almost the same as that for %p, both output in
hexadecimal with a leading "0x".
However for zero %#x should just output "0" (the same as decimal and ocal).
For %p match glibc and output "(nil)" rather than "0x0" or "0".

Add tests for "%#x", "% d", "%+d" and passing NULL to "%p".

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-14-david.laight.linux@gmail.com
[Thomas: fix up testcases for musl libc]
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:57:08 +01:00
Vladimir Oltean
63f8b60151 x86/entry/vdso: Fix path of included gettimeofday.c
Commit in Fixes forgot to convert one include path to be relative to the
kernel source directory after adding latter to flags-y.

Fix it.

  [ bp: Rewrite commit message. ]

Fixes: 693c819fed ("x86/entry/vdso: Refactor the vdso build")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20260307174406.1808981-1-vladimir.oltean@nxp.com
2026-03-20 17:56:52 +01:00
David Laight
a30d20588f tools/nolibc/printf: Add support for conversion flags space and plus
Flags ' ' and '+' are sign characters for positive numbers.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-13-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:55:52 +01:00
David Laight
8df70ee45b tools/nolibc/printf: Prepend sign to converted number
Instead of appending the converted number to the sign, convert first
and then prepend the sign (or "0x").
Use the length returned by u64toh_r() instead of calling strlen().

Needed so that zero padding can be inserted between the sign and digits
in an upcoming patch.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-12-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:55:51 +01:00
David Laight
b43be42434 tools/nolibc/printf: Handle "%s" with the numeric formats
Avoids the extra va_arg() call with is non-trivial on a lot of
modern ABI.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-11-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:55:50 +01:00
David Laight
1256328719 tools/nolibc/printf: Add support for length modifiers tzqL and formats iX
Length modifiers t (ptrdiff_t) and z (size_t) are aliases for l (long),
q and L are 64bit the same as j (intmax).
Format i is an alias for d and X similar to x but upper case.
Supporting them is mostly just adding the relevant bit to the bit
pattern used for matching characters.
Although %X is detected the output will be lower case.

Change/add tests to use conversions i and X, and length modifiers L and ll.
Use the correct minimum value for "%Li".

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-10-david.laight.linux@gmail.com
[Thomas: Fix up testcases for musl libc]
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:55:28 +01:00
Linus Torvalds
9f582e3971 spi: Fixes for v7.0
There's a couple of core fixes here from Johan, fixing a race condition
 and an error handling path, plus a bunch of driver specific fixups.
 The Qualcomm issues could be nasty if you ran into them, especially the
 DMA ordering one.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmm9XnoACgkQJNaLcl1U
 h9ASGAf+KTVWK/fSs+ncmlYaPfyhcms1hBri21XmuN1mYV5UFoCqEo4tUgy3HtHi
 tZsWM+rPNYbbUk8GiR2G9NJeUIlo6nvna8/v2gt5zVo/+M9nx37ZpkZrIohonpCr
 qwyMZIbgHSBQRJMnt6sIDiWtcibVN1CZsm9E9FK9ubIyN22SXcBNIW6mzG2Z9kuc
 8BB5ls+pXh12X3z1eoBWoHX7a0kFcjDwSHhZqfgU0/DQxcKCi3TnLtRfiCG8AFsE
 z91XODOZ9CHLWIvu/FREE7zFgiUI35dBPX552L5IAmTCPQpZEX/stBJCJzXjerrK
 mhCGCFnS/hhzo2oE86BWmo0OWProXQ==
 =ipO+
 -----END PGP SIGNATURE-----

Merge tag 'spi-fix-v7.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi

Pull spi fixes from Mark Brown:
 "There's a couple of core fixes here from Johan, fixing a race
  condition and an error handling path, plus a bunch of driver specific
  fixups.

  The Qualcomm issues could be nasty if you ran into them, especially
  the DMA ordering one"

* tag 'spi-fix-v7.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
  spi: geni-qcom: Check DMA interrupts early in ISR
  spi: fix statistics allocation
  spi: fix use-after-free on controller registration failure
  spi: geni-qcom: Fix CPHA and CPOL mode change detection
  spi: axiado: Fix double-free in ax_spi_probe()
  spi: amlogic-spisg: Fix memory leak in aml_spisg_probe()
  spi: amlogic: spifc-a4: Remove redundant clock cleanup
2026-03-20 09:54:40 -07:00
Linus Torvalds
007fe23215 regulator: Fix for v7.0
Just one fix here from Hugo Villeneuve, the documentation for some of
 the regulator DT properties had been cut'n'pasted so that if anyone
 actually read it they'd be informed that those properties had completely
 incorrect meanings.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmm9XwcACgkQJNaLcl1U
 h9B8DAf8C5ZYj4Y8/nXzZG2ddJI5EmI1v+aGYGV1m9wA/c/AzxGTxXHOdETDmm4d
 PR0zHf8EgOQDPXRdwbJXn2ikKfq3gnZJZJZ28I+mG9sXHDshCPcHeZi8oivcs3iE
 HEYfu3DOyGiJBDTM/rlSH5ABzphQiJPNOX/3cyuDn34BMZ6XHCmRMIw3UWulZOj+
 g6D5/zPqG0PvqocZ+/pBEZXty8Qag8I8pEZrTkjRvJZwTCI+QZsa8IubFCDHyuzF
 pGtK/lc0Dkz4tjUORohaY8sOX8wrNZS83GUkbtR2xJaHrQr+GoQDk7kkBsHkTKTR
 ZTAxwUlDNB7cZ3V5Zs5l10PpOWPPJQ==
 =6Zn8
 -----END PGP SIGNATURE-----

Merge tag 'regulator-fix-v7.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator

Pull regulator fix from Mark Brown:
 "Just one fix here from Hugo Villeneuve, the documentation for some of
  the regulator DT properties had been cut'n'pasted so that if anyone
  actually read it they'd be informed that those properties had
  completely incorrect meanings"

* tag 'regulator-fix-v7.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
  regulator: dt-bindings: fix typos in regulator-uv-* descriptions
2026-03-20 09:52:45 -07:00
Linus Torvalds
c715f13bb3 pmdomain providers:
- bcm: Increase ASB control timeout for bcm2835
  - mediatek: Fix power domain count
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCgA1FiEEugLDXPmKSktSkQsV/iaEJXNYjCkFAmm9KSkXHHVsZi5oYW5z
 c29uQGxpbmFyby5vcmcACgkQ/iaEJXNYjCmNvQ//YrJVq4giZeGSGQJ9LjPWN4gp
 YFkwTSWBpav751hx5xp9d7ua7pPZ+Z+FoKVYIHQvgsHqQv4eQqYa3kpeHLiUYBIW
 oLbRXIj2kyEOXAMUqhtHLN0E3dCM14sB6lsRi7yGJEXo8CD1hML1G6g2zxzwKpCC
 2zBTKbU4T30/eL+3/X45+uN46oREpx32oeiHpKF6UBLWScjmDuSXllt64cTPCTMr
 LX2X67DEL72tlGeVNYZLxMpV4M0BY0v1AMO64cbTpiJDo/AmmTnWROOqHLb0m8I1
 HqnHq8fWu7qXPwDM7zsxi9GY4kdBk4hCZouVA69SL+/9AVFI9Xx4TK99jqsZq7tM
 IePRE+5aCHgtcGiP290yxFfpSqzuCBil8xFm97FDdrMfMczO9B2Djf4jYNm+0vuy
 ZKuLw7TX6EsNrEwMILlb704T9xOUPfj2vVht7SnCWLigRL5ovZAMYgJUAfyyN3Q6
 G3ilm6QwNgxV/epoA9XzBUhdV5AMxCbtCbM14zaaoq4bxFZeRO2G8L+7RVQZDpLW
 i5TdUDRO9U169BvosKB48UE22XBH3R+0ktbXB6y2+BjDLtTt9bpGcWVC9YTMrDHs
 uX62v0jLjmzCECV1KjJ61xQeL2uiTtrTVasSlfazJmYGoFoEjJh2heIizaXfuXqX
 gAsC+WMyQYKE8jR2JKQ=
 =JfPZ
 -----END PGP SIGNATURE-----

Merge tag 'pmdomain-v7.0-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm

Pull pmdomain fixes from Ulf Hansson:

 - bcm: increase ASB control timeout for bcm2835

 - mediatek: fix power domain count

* tag 'pmdomain-v7.0-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm:
  pmdomain: bcm: bcm2835-power: Increase ASB control timeout
  pmdomain: mediatek: Fix power domain count
2026-03-20 09:46:15 -07:00
David Laight
85f1152778 tools/nolibc/printf: Use bit-masks to hold requested flag, length and conversion chars
Use flags bits (1u << (ch & 31)) for the flags, length modifiers, and
conversion specifiers.
This makes it easy to test for multiple values at once.

Detect the conversion flags " #+-0" although they are currently all ignored.

Unconditionally generate the signed values (for %d) to remove a second
set of checks for the size.

Separate out the formatting of single characters from numbers.
Output the sign for negative values then negate and treat as unsigned.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-9-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:13 +01:00
David Laight
c5b9173ce9 tools/nolibc/printf: Use goto and reduce indentation
Upcoming changes will need to use goto to jump to the code that
outputs characters.
Use 'goto do_output' to output a known number of characters.
Use 'goto do_strlen_output' to output a '\0' terminated string.

Removes a level of indentation from the format processing code.

The change is best reviewed using 'git diff -b' after applying it.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-8-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:11 +01:00
David Laight
b3d30efd05 tools/nolibc/printf: Simplify __nolibc_printf()
Move the check for the length modifiers into the format processing
between the field width and conversion specifier.
This lets the loop be simplified and a 'fast scan' for a format start
used.

If an error is detected (eg an invalid conversion specifier) then
copy the invalid format to the output buffer.

Reduces code size by about 10% on x86-64.

Some versions of gcc bloat this version by generating a jump table.
All goes away in the later patches.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-7-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:10 +01:00
David Laight
a2fa5a752c tools/nolibc/printf: Output pad characters in 16 byte chunks
Simple to do and saves calls to the callback function.

Change variables written, width and len to 'signed int' to get
better code.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-6-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:09 +01:00
David Laight
c0a08eb87f tools/nolibc: Rename the 'errnum' parameter to strerror()
Change the parameter variable name from 'errno' to 'errnum'.
Matches any documentation and avoids any issues that might happen
if errno is actually a #define (which is not uncommon).

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-5-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:08 +01:00
David Laight
2177dd375d tools/nolibc: Implement strerror() in terms of strerror_r()
strerror() can be the only part of a program that has a .data section.
This requires 4k in the program file.

Add a simple implementation of strerror_r() and use that in strerror()
so that the "errno=" string is copied at run-time.
Use __builtin_memcpy() because that optimises away the input string
and just writes the required constants to the target buffer.

Code size change largely depends on whether the inlining decision for
strerror() changes.

Change the tests to use the normal EXPECT_VFPRINTF() when testing %m.
Skip the tests when !is_nolibc.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-4-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:07 +01:00
David Laight
ab7cd329a8 selftests/nolibc: Rename w to written in expect_vfprintf()
Single character variable names don't make code easy to read.
Rename 'w' (used for the return value from snprintf()) 'written'.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-3-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:07 +01:00
David Laight
6702425cd5 tools/nolibc: Add _NOLIBC_OPTIMIZER_HIDE_VAR() to compiler.h
Needed to stop compiler 'optimisations' bloating code.
Equivalent to the definition in include/linux/compiler.h

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260308113742.12649-2-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:06 +01:00
David Laight
cf34708824 selftests/nolibc: Let EXPECT_VFPRINTF() tests be skipped
Tests that check explicit nolibc behavior (eg "%m") or test places
where the nolibc behaviour deviates from the libc need skipping
when compiled to use the host libc.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260302101815.3043-8-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:05 +01:00
David Laight
4ea2dedd50 selftests/nolibc: Check that snprintf() doesn't write beyond the buffer end
Fill buf[] with known data and check the vsnprintf() doesn't write
beyond the specified buffer length.

Would have picked up the bug in field padding.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260302101815.3043-7-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:04 +01:00
David Laight
f36e1ec61a selftests/nolibc: Use length of 'expected' string to check snprintf() output
Instead of requiring the test cases specifying both the length and
expected output, take the length from the expected output.
Tests that expect the output be truncated are changed to specify
the un-truncated output.

Change the strncmp() to a memcmp() with an extra check that the
output is actually terminated.

Append a '+' to the printed output (after the final ") when the output
is truncated.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260302101815.3043-6-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:03 +01:00
David Laight
9aa8a4afd4 selftests/nolibc: check vsnprintf() output buffer before the length
Check the string matches before checking the returned length.
Only print the string once when it matches.

Makes it a lot easier to diagnose any incorrect output.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260302101815.3043-5-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:02 +01:00
David Laight
b42f02da2b selftests/nolibc: Return correct value when printf test fails
Correctly return 1 (the number of errors) when strcmp()
fails rather than the return value from strncmp() which is the
signed difference between the mismatching characters.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260302101815.3043-4-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:01 +01:00
David Laight
4045e7b19b tools/nolibc/printf: Move snprintf length check to callback
Move output truncation to the snprintf() callback.
This simplifies the main code and fixes truncation of padded fields.

Add a zero length callback to 'finalise' the buffer rather than
doing it in snprintf() itself.

Fixes: e90ce42e81 ("tools/nolibc: implement width padding in printf()")
Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260302101815.3043-3-david.laight.linux@gmail.com
[Thomas: clean up Fixes trailer]
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:46:00 +01:00
David Laight
f675ae28fc tools/nolibc/printf: Change variables 'c' to 'ch' and 'tmpbuf[]' to 'outbuf[]'
Changing 'c' makes the code slightly easier to read because the variable
stands out from the single character literals (especially 'c').

Change tmpbuf[] to outbuf[] because 'out' points into it.

The following patches pretty much rewrite the function so the
churn is limited.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260223101735.2922-7-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:45:59 +01:00
David Laight
35908c5a17 tools/nolibc: Optimise and common up the number to ascii functions
Implement u[64]to[ah]_r() using a common function that uses multiply
by reciprocal to generate the least significant digit first and then
reverses the string.

On 32bit this is five multiplies (with 64bit product) for each output
digit. I think the old utoa_r() always did 36 multiplies and a lot
of subtracts - so this is likely faster even for 32bit values.
Definitely better for 64bit values (especially small ones).

Clearly shifts are faster for base 16, but reversing the output buffer
makes a big difference.

Sharing the code reduces the footprint (unless gcc decides to constant
fold the functions).
Definitely helps vfprintf() where the constants get loaded and a single
call is done.
Also makes it cheap to add octal support to vfprintf for completeness.

Signed-off-by: David Laight <david.laight.linux@gmail.com>
Link: https://patch.msgid.link/20260223101735.2922-3-david.laight.linux@gmail.com
Acked-by: Willy Tarreau <w@1wt.eu>
[Thomas: skip int128 multiplication on SPARC and clang]
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:45:57 +01:00
David Laight
27532c645e selftests/nolibc: Fix build with host headers and libc
Many systems don't have strlcpy() or strlcat() and readdir_r() is
deprecated. This makes the tests fail to build with the host headers.
Disable the 'directories' test and define strlcpy(), strlcat() and
readdir_r() using #defines so that the code compiles.

Fixes: 6fe8360b16 ("selftests/nolibc: also test libc-test through regular selftest framework")
Signed-off-by: David Laight <david.laight.linux@gmail.com>
Link: https://patch.msgid.link/20260223101735.2922-4-david.laight.linux@gmail.com
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:45:45 +01:00
Thomas Weißschuh
8ba600aa57 selftests/nolibc: fix test_file_stream() on musl libc
fwrite() modifying errno is non-standard.

Only validate this behavior on those libc implementations which
implement it.

Fixes: a5f00be9b3 ("tools/nolibc: Add a simple test for writing to a FILE and reading it back")
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
2026-03-20 17:44:06 +01:00
Linus Torvalds
d07252736a MMC host:
- sdhci: Fix timing selection for 1-bit bus width
  - sdhci-pci-gli: Fix DMA write corruption for GL9750
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCgA1FiEEugLDXPmKSktSkQsV/iaEJXNYjCkFAmm9JO8XHHVsZi5oYW5z
 c29uQGxpbmFyby5vcmcACgkQ/iaEJXNYjCkTARAAozLbnfAFn/pRWI9HerC9+d+1
 9ouMW9DPjBOCzRCaT2/Soj4ppphQ8InXOuXT1i0xFVFp5Aw/uX4hpLTcPeF/MP/h
 +8lcDGOxeM9CcyiiP53Z3/wpsi0Alx/UERTtxolJ9l0SMj0JsSNhGA7F5Kl3QxCh
 8y5e6UZpme1RuG8/ftaHjGx423F5591dSUt5ihd5VSW+Or7MJ+SgXcIXtgh23e3w
 dSt7ccEaDqH0BBD/dqA7AIKDv2+WI9CWjJvGiSMDmNR7T7KBi7oj7Gm4lqvTAp+D
 2t05S+ywARAvzgzS06DmjNKUti+Zx3k1HevhwADA3LObYC92JLxXd5NLzpuY4upU
 sHBEJiSDz3kV9fJJKG84OuHMaNmpuA+9q4LW4bgxk8j3hZTipICpQmnXcpOqLDI4
 XHNDrQoMfZ7f6JtoeOVxvP+z7v6mtNNbuMnPaqdlJ5pLzFitbz/yB8Qcjb3WbuP6
 XNT/lkF3JbMbQ+4TnMYFtSheD4fqOWO1m8yIcA9OeMwphhL50ISNSH9mj5njOByw
 3sA2gOuFgHdeA1Mysn0flcbEXHr3Ecp6xdHtlCBbLOVgCwxF1yXFiF7AQsUXiPYZ
 re1E5FH/srXSeAeLSezBysZdu6ej1evjFfjjZCHkJBVLYDc2vs0iDjF0kXoyEwF7
 QxjpsdvCthw4eCHZ1sA=
 =Aa4Z
 -----END PGP SIGNATURE-----

Merge tag 'mmc-v7.0-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc

Pull MMC fixes from Ulf Hansson:

 - sdhci: Fix timing selection for 1-bit bus width

 - sdhci-pci-gli: Fix DMA write corruption for GL9750

* tag 'mmc-v7.0-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
  mmc: sdhci: fix timing selection for 1-bit bus width
  mmc: sdhci-pci-gli: fix GL9750 DMA write corruption
2026-03-20 09:40:25 -07:00
Linus Torvalds
f374ff79f4 ata fixes for 7.0-rc5
- ADATA SU680 SSDs are causing command timeouts when LPM is enabled.
    Enable the ATA_QUIRK_NOLPM quirk to prevent LPM from being enabled
    on these devices. (Damien)
 
  - When receiving a REPORT SUPPORTED OPERATION CODES command with an
    invalid REPORTING OPTIONS format, sense data should have the field
    pointer set to byte 2 (the location of the REPORTING OPTIONS field)
    instead of incorrectly pointing to byte 1. (Damien)
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRN+ES/c4tHlMch3DzJZDGjmcZNcgUCab0ZFgAKCRDJZDGjmcZN
 cqKuAP4181TtV8gbE2leWvKth6vG/yq1YUbHkM0rDZZ1tmw0HAEApSdkZJIE+d+Z
 kM5d39ObP+ZVC3HyS+kVuquEGhuvnQ0=
 =gW5F
 -----END PGP SIGNATURE-----

Merge tag 'ata-7.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux

Pull ata fixes from Niklas Cassel:

 - ADATA SU680 SSDs are causing command timeouts when LPM is enabled.
   Enable the ATA_QUIRK_NOLPM quirk to prevent LPM from being enabled
   on these devices (Damien)

 - When receiving a REPORT SUPPORTED OPERATION CODES command with an
   invalid REPORTING OPTIONS format, sense data should have the field
   pointer set to byte 2 (the location of the REPORTING OPTIONS field)
   instead of incorrectly pointing to byte 1 (Damien)

* tag 'ata-7.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
  ata: libata-scsi: report correct sense field pointer in ata_scsiop_maint_in()
  ata: libata-core: disable LPM on ADATA SU680 SSD
2026-03-20 09:38:12 -07:00
Linus Torvalds
6ac513185c In SPI NOR, there was an issue with the RDCR capability, leading to
several platforms no longer capable of using it for wrong reasons (the
 follow-up commit renames the helper to avoid future confusion).
 
 NAND controller drivers needed to be improved to fix some timings,
 a locking schenario and avoid certain operations during panic writes.
 
 The Spear600 DT binding conversion was done partially, leading to
 several warnings which have individually been fixed.
 
 Tudor gets replaced by Takahiro for the SPI NOR maintainance.
 
 Plus two more misc fixes.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEE9HuaYnbmDhq/XIDIJWrqGEe9VoQFAmm9AlAACgkQJWrqGEe9
 VoQyGQf/eAdO7BQ5uxARm9s6GWJE/hzt1MC64YlUoUjONnzHpEzQAWN836pN/nvK
 RL23poItZlVTT/r3t/MU5IE24kO+fZ36sPd+RlXepZlJGHXbqKPehRL4ydfh+DUi
 1282U9ES07Z4nP3fGjYFbIZq4148nd34SazXkp+UzWz779zmSWTq3H9O5nyUCNVU
 Z9gyfWu2GFRKfQ+g0+kD7Lt70iKyeeVv5BmUvdRRlEKuyE/cR8S1Q3ja7eQHIvkz
 8R0MaHlylrJkiRww8MRdEFo978PGlogb5Pg++QTsv7CZc+WWS5oE9h2s8y9KLpf5
 fg23e/x99asqp4pNgxYiRJulO7IQcA==
 =m4A7
 -----END PGP SIGNATURE-----

Merge tag 'mtd/fixes-for-7.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux

Pull MTD fixes from Miquel Raynal:

 - In SPI NOR, there was an issue with the RDCR capability, leading to
   several platforms no longer capable of using it for wrong reasons
   (the follow-up commit renames the helper to avoid future confusion)

 - NAND controller drivers needed to be improved to fix some timings, a
   locking schenario and avoid certain operations during panic writes

 - The Spear600 DT binding conversion was done partially, leading to
   several warnings which have individually been fixed

 - Tudor gets replaced by Takahiro for the SPI NOR maintainance

 - Plus two more misc fixes

* tag 'mtd/fixes-for-7.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux:
  mtd: rawnand: pl353: make sure optimal timings are applied
  mtd: spi-nor: Rename spi_nor_spimem_check_op()
  mtd: spi-nor: Fix RDCR controller capability core check
  mtd: rawnand: brcmnand: skip DMA during panic write
  mtd: rawnand: serialize lock/unlock against other NAND operations
  dt-bindings: mtd: st,spear600-smi: Fix example
  dt-bindings: mtd: st,spear600-smi: #address/size-cells is mandatory
  dt-bindings: mtd: st,spear600-smi: Fix description
  mtd: rawnand: cadence: Fix error check for dma_alloc_coherent() in cadence_nand_init()
  mtd: Avoid boot crash in RedBoot partition table parser
  MAINTAINERS: add Takahiro Kuwano as SPI NOR reviewer
  MAINTAINERS: remove Tudor Ambarus as SPI NOR maintainer
2026-03-20 09:34:32 -07:00
Linus Torvalds
47e231cbd3 IOMMU Fixes for Linux v7.0-rc4
Including:
 
 	- Intel VT-d:
 	  - Abort all pending requests on dev_tlb_inv timeout to avoid
 	    hardlockup
 	  - Limit IOPF handling to PRI-capable device to avoid SVA attach
 	    failure
 
 	- AMD-Vi: Make sure identity domain is not used when SNP is active
 
 	- Core fixes:
 	  - Handle mapping IOVA 0x0 correctly
 	  - Fix crash in SVA code
 	  - Kernel-doc fix in IO-PGTable code
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEr9jSbILcajRFYWYyK/BELZcBGuMFAmm9Cu4ACgkQK/BELZcB
 GuMiRBAAuFxncIUvSuTkMZ5Zv7WoQR8AuCcHZKNnbjeW5od7HGRv+fbdrvOEVtg0
 tl76nUbqXtrue4CrApmWrt94tAVC+UPqvAIk5KlUlEwTYX9s0jYnIOF32LOcC1N7
 GQ60BwhcKlWkLtHi5TNayhgfBAHGn5TSjJzk+yJDwjS+3ADEhLSNfahoK7Y2KujT
 kB6c+Jxh+MaT2o5Z+jMqIph1E1y9IuwNgkGUuYCZBvD95/CzuaTVTIGL7TRArfq1
 i1HQkm6obPqzd6Qs9V89XPBsJqlWfmy1MmwElsWRJ4w+qNK9Irszu65HQUFHcflI
 W0T8WNHJeRaDl2MzMZBn+opgKnw4iNDY+PcwcrYo0PsdMfxQI+ZRbxBtXFwj49Oj
 LNbPyJ+ozOV+624NdxWzRE7EBqmuTax0wVl+USj64jxsTAMfyqqzXhAFkhviB1Mq
 QhxAmRLieV9nRFFJsonbhdbibUMafr8etOLi7cfRCjxJW2g3dE91skpsV8LIx1te
 9RlyJfhQYj7dKUCsoM0a3RAKr6mZwvq0xy5B0810m3ue71DcPyOXQrd58GQuPDiF
 roY39EYFpKYXodkBcq5kj3IuMVOL+yHwQNwcBHGbxaR1J26LnFHXTG6G0Izd9foN
 vKjyunJFshYYFCgHFfG4RhVu6Cpl6vAOI65HBwVXw6IhohVdepo=
 =SgSv
 -----END PGP SIGNATURE-----

Merge tag 'iommu-fixes-v7.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux

Pull iommu fixes from Joerg Roedel:
 "Intel VT-d:
   - Abort all pending requests on dev_tlb_inv timeout to avoid
     hardlockup
   - Limit IOPF handling to PRI-capable device to avoid SVA attach
     failure

  AMD-Vi:
   - Make sure identity domain is not used when SNP is active

  Core fixes:
   - Handle mapping IOVA 0x0 correctly
   - Fix crash in SVA code
   - Kernel-doc fix in IO-PGTable code"

* tag 'iommu-fixes-v7.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux:
  iommu/amd: Block identity domain when SNP enabled
  iommu/sva: Fix crash in iommu_sva_unbind_device()
  iommu/io-pgtable: fix all kernel-doc warnings in io-pgtable.h
  iommu: Fix mapping check for 0x0 to avoid re-mapping it
  iommu/vt-d: Only handle IOPF for SVA when PRI is supported
  iommu/vt-d: Fix intel iommu iotlb sync hardlockup and retry
2026-03-20 09:29:03 -07:00
Linus Torvalds
165160265e arm64 fixes for -rc5
- Fix DWARF parsing for SCS/PAC patching to work with very large modules
   (such as the amdgpu driver).
 
 - Fixes to the mpam resctrl driver.
 
 - Fix broken handling of 52-bit physical addresses when sharing memory
   from within a realm.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmm9KmsQHHdpbGxAa2Vy
 bmVsLm9yZwAKCRC3rHDchMFjNMBvB/4xtXt77u6Bx6vG3b9LZVU7XxIZN+svvIWs
 S1unNTqcLPjNhkqC7kJeTgOjbUOJ6jtCm3NQRg66fUDXOknwHp8d1yjoNI+eS6Ki
 hhRWtWZm+vGNb0YAJTNAATuNSmvn0qx3KMlHEQKnKUsAdzuVTTxwln0GjASLcP7H
 gMl0h46/CtvTRoSlBzTd5ObR8bcQeD1tRBHlXaCZI4i0rF9d3Aur3n1Vz7DfOUP9
 YzHjNZIdWd/6+hIqVAzrhiJE3kxLRv46OXh71Q2YKWe48/USCUskueGLK3c27Gs1
 o6xsc9ZlItVRTO6J1rFCN2No2Pigmdqkqu1moeZCb37R79ilVb/i
 =Wv4u
 -----END PGP SIGNATURE-----

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Will Deacon:
 "There's a small crop of fixes for the MPAM resctrl driver, a fix for
  SCS/PAC patching with the AMDGPU driver and a page-table fix for
  realms running with 52-bit physical addresses:

   - Fix DWARF parsing for SCS/PAC patching to work with very large
     modules (such as the amdgpu driver)

   - Fixes to the mpam resctrl driver

   - Fix broken handling of 52-bit physical addresses when sharing
     memory from within a realm"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: realm: Fix PTE_NS_SHARED for 52bit PA support
  arm_mpam: Force __iomem casts
  arm_mpam: Disable preemption when making accesses to fake MSC in kunit test
  arm_mpam: Fix null pointer dereference when restoring bandwidth counters
  arm64/scs: Fix handling of advance_loc4
2026-03-20 09:23:01 -07:00
Dave Airlie
b3970e9749 amd-drm-next-7.1-2026-03-19:
amdgpu:
 - Fix gamma 2.2 colorop TFs
 - BO list fix
 - LTO fix
 - DC FP fix
 - DisplayID handling fix
 - DCN 2.01 fix
 - MMHUB boundary fixes
 - ISP fix
 - TLB fence fix
 - Hainan pm fix
 - UserQ fixes
 - MES 12.1 Updates
 - GC 12.1 updates
 - RAS fixes
 - DML updates
 - Cursor fixes
 - SWSMU cleanups
 - Misc cleanups
 - Clean up duplicate format modifiers
 - Devcoredump updates
 - Cleanup mmhub cid handling
 - Initial VCN 5.0.2 support
 - Initial JPEG 5.0.2 support
 - PSP 13.0.15 updates
 
 amdkfd:
 - Queue properties fix
 - GC 12.1 updates
 
 radeon:
 - Hainan pm fix
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQgO5Idg2tXNTSZAr293/aFa7yZ2AUCabwxMwAKCRC93/aFa7yZ
 2KzTAQCb9KhS8rO+9rgvgKXW90vJmz8YbDobXDX+ZoVLIqqj+gEAzM69ci5szCv2
 Rcv2sfPFcx3ozuwHsbctlqrppoAcUQo=
 =+4ZC
 -----END PGP SIGNATURE-----

Merge tag 'amd-drm-next-7.1-2026-03-19' of https://gitlab.freedesktop.org/agd5f/linux into drm-next

amd-drm-next-7.1-2026-03-19:

amdgpu:
- Fix gamma 2.2 colorop TFs
- BO list fix
- LTO fix
- DC FP fix
- DisplayID handling fix
- DCN 2.01 fix
- MMHUB boundary fixes
- ISP fix
- TLB fence fix
- Hainan pm fix
- UserQ fixes
- MES 12.1 Updates
- GC 12.1 updates
- RAS fixes
- DML updates
- Cursor fixes
- SWSMU cleanups
- Misc cleanups
- Clean up duplicate format modifiers
- Devcoredump updates
- Cleanup mmhub cid handling
- Initial VCN 5.0.2 support
- Initial JPEG 5.0.2 support
- PSP 13.0.15 updates

amdkfd:
- Queue properties fix
- GC 12.1 updates

radeon:
- Hainan pm fix

Signed-off-by: Dave Airlie <airlied@redhat.com>

From: Alex Deucher <alexander.deucher@amd.com>
Link: https://patch.msgid.link/20260319173334.479766-1-alexander.deucher@amd.com
2026-03-21 02:22:03 +10:00