Commit graph

1,385,869 commits

Author SHA1 Message Date
Liu Jian
ba1e9421cf net/smc: fix one NULL pointer dereference in smc_ib_is_sg_need_sync()
BUG: kernel NULL pointer dereference, address: 00000000000002ec
PGD 0 P4D 0
Oops: Oops: 0000 [#1] SMP PTI
CPU: 28 UID: 0 PID: 343 Comm: kworker/28:1 Kdump: loaded Tainted: G        OE       6.17.0-rc2+ #9 NONE
Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014
Workqueue: smc_hs_wq smc_listen_work [smc]
RIP: 0010:smc_ib_is_sg_need_sync+0x9e/0xd0 [smc]
...
Call Trace:
 <TASK>
 smcr_buf_map_link+0x211/0x2a0 [smc]
 __smc_buf_create+0x522/0x970 [smc]
 smc_buf_create+0x3a/0x110 [smc]
 smc_find_rdma_v2_device_serv+0x18f/0x240 [smc]
 ? smc_vlan_by_tcpsk+0x7e/0xe0 [smc]
 smc_listen_find_device+0x1dd/0x2b0 [smc]
 smc_listen_work+0x30f/0x580 [smc]
 process_one_work+0x18c/0x340
 worker_thread+0x242/0x360
 kthread+0xe7/0x220
 ret_from_fork+0x13a/0x160
 ret_from_fork_asm+0x1a/0x30
 </TASK>

If the software RoCE device is used, ibdev->dma_device is a null pointer.
As a result, the problem occurs. Null pointer detection is added to
prevent problems.

Fixes: 0ef69e7884 ("net/smc: optimize for smc_sndbuf_sync_sg_for_device and smc_rmb_sync_sg_for_cpu")
Signed-off-by: Liu Jian <liujian56@huawei.com>
Reviewed-by: Guangguan Wang <guangguan.wang@linux.alibaba.com>
Reviewed-by: Zhu Yanjun <yanjun.zhu@linux.dev>
Reviewed-by: D. Wythe <alibuda@linux.alibaba.com>
Link: https://patch.msgid.link/20250828124117.2622624-1-liujian56@huawei.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-09-02 10:51:16 +02:00
Xing Guo
e51bd0e595
selftests/fs/mount-notify: Fix compilation failure.
Commit c6d9775c20 ("selftests/fs/mount-notify: build with tools include
dir") introduces the struct __kernel_fsid_t to decouple dependency with
headers_install.  The commit forgets to define a macro for __kernel_fsid_t
and it will cause type re-definition issue.

Signed-off-by: Xing Guo <higuoxing@gmail.com>
Link: https://lore.kernel.org/20250813031647.96411-1-higuoxing@gmail.com
Acked-by: Amir Goldstein <amir73il@gmail.com>
Closes: https://lore.kernel.org/oe-lkp/202508110628.65069d92-lkp@intel.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-09-02 10:34:37 +02:00
Baochen Qiang
7e2368a217 dma-debug: don't enforce dma mapping check on noncoherent allocations
As discussed in [1], there is no need to enforce dma mapping check on
noncoherent allocations, a simple test on the returned CPU address is
good enough.

Add a new pair of debug helpers and use them for noncoherent alloc/free
to fix this issue.

Fixes: efa70f2fdc ("dma-mapping: add a new dma_alloc_pages API")
Link: https://lore.kernel.org/all/ff6c1fe6-820f-4e58-8395-df06aa91706c@oss.qualcomm.com # 1
Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20250828-dma-debug-fix-noncoherent-dma-check-v1-1-76e9be0dd7fc@oss.qualcomm.com
2025-09-02 10:18:16 +02:00
Anders Roxell
e63419dbf2 dmaengine: ti: edma: Fix memory allocation size for queue_priority_map
Fix a critical memory allocation bug in edma_setup_from_hw() where
queue_priority_map was allocated with insufficient memory. The code
declared queue_priority_map as s8 (*)[2] (pointer to array of 2 s8),
but allocated memory using sizeof(s8) instead of the correct size.

This caused out-of-bounds memory writes when accessing:
  queue_priority_map[i][0] = i;
  queue_priority_map[i][1] = i;

The bug manifested as kernel crashes with "Oops - undefined instruction"
on ARM platforms (BeagleBoard-X15) during EDMA driver probe, as the
memory corruption triggered kernel hardening features on Clang.

Change the allocation to use sizeof(*queue_priority_map) which
automatically gets the correct size for the 2D array structure.

Fixes: 2b6b3b7420 ("ARM/dmaengine: edma: Merge the two drivers under drivers/dma/")
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Link: https://lore.kernel.org/r/20250830094953.3038012-1-anders.roxell@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2025-09-02 12:05:18 +05:30
Nicolas Frattaroli
dcc6785caf arm64: dts: rockchip: fix second M.2 slot on ROCK 5T
The Radxa ROCK 5T has two M.2 slots, much like the Radxa Rock 5B+. As it
stands, the board won't be able to use PCIe3 if the second M.2 slot is
in use.

Fix this by adding the necessary node enablement and data-lanes property
to the ROCK 5T device tree, mirroring what's in the ROCK 5B+ device
tree.

Reported-by: FUKAUMI Naoki <naoki@radxa.com>
Closes: https://libera.catirclogs.org/linux-rockchip/2025-08-25#38610630;
Fixes: 0ea651de9b ("arm64: dts: rockchip: add ROCK 5T device tree")
Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Link: https://lore.kernel.org/r/20250826-rock5t-second-m2-fix-v1-1-8252124f9cc8@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-09-02 08:31:50 +02:00
Gu Bowen
c873ccbb2f mm: fix possible deadlock in kmemleak
There are some AA deadlock issues in kmemleak, similar to the situation
reported by Breno [1].  The deadlock path is as follows:

mem_pool_alloc()
  -> raw_spin_lock_irqsave(&kmemleak_lock, flags);
      -> pr_warn()
          -> netconsole subsystem
	     -> netpoll
	         -> __alloc_skb
		   -> __create_object
		     -> raw_spin_lock_irqsave(&kmemleak_lock, flags);

To solve this problem, switch to printk_safe mode before printing warning
message, this will redirect all printk()-s to a special per-CPU buffer,
which will be flushed later from a safe context (irq work), and this
deadlock problem can be avoided.  The proper API to use should be
printk_deferred_enter()/printk_deferred_exit() [2].  Another way is to
place the warn print after kmemleak is released.

Link: https://lkml.kernel.org/r/20250822073541.1886469-1-gubowen5@huawei.com
Link: https://lore.kernel.org/all/20250731-kmemleak_lock-v1-1-728fd470198f@debian.org/#t [1]
Link: https://lore.kernel.org/all/5ca375cd-4a20-4807-b897-68b289626550@redhat.com/ [2]
Signed-off-by: Gu Bowen <gubowen5@huawei.com>
Reviewed-by: Waiman Long <longman@redhat.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Breno Leitao <leitao@debian.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: John Ogness <john.ogness@linutronix.de>
Cc: Lu Jialin <lujialin4@huawei.com>
Cc: Petr Mladek <pmladek@suse.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2025-09-01 17:11:37 -07:00
Mark Brown
4de51e8137
spi: spi-fsl-lpspi: Generic fixes and support for
Merge series from James Clark <james.clark@linaro.org>:

Various fixes for LPSI along with some refactorings. None of the fixes
are strictly related to S32G, however these changes all originate from
the work to support S32G devices. The only commits that are strictly
related are for the new s32g2 and s32g3 compatible strings.
2025-09-01 23:47:23 +01:00
Jakub Kicinski
aca701c618 Here is a batman-adv bugfix:
- fix OOB read/write in network-coding decode, by Stanislav Fort
 -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEE1ilQI7G+y+fdhnrfoSvjmEKSnqEFAmi1xYQWHHN3QHNpbW9u
 d3VuZGVybGljaC5kZQAKCRChK+OYQpKeofikEAC4zwAp6jH3/buiQ5+y08JtO0+m
 HyfbN/Z8slGluJElQQjw1ANiXRxTQ5ZQnEtsL7svIOT6pnDYaoF0dEWuOh15/wXj
 8W8Dc5IKBzee/ZYAmlGIg1VxIYvWksOxz5y/Y1KkxjyERihGXyW40Z34CnXuAXfC
 Vvjz08i++qYC1SxsUEI+Wm6WVWabPG4OUR+eyW6AAv3H69B3Xucq2xmfLTVrTm+P
 wqobwD1aultD6DjVLXkJS5XpdmpO3zTQvqPlQp6uPu3SCv8eXr9c7p95EHeJpxAG
 TFoFDgHMPkTh5VAL9BNhRiuiB2CnsfNu4Ylx0KRCSAH8NsZunckeM1Gi6FIcjAwW
 JC/VxHoPGYOkcIN+Ton8K25trernIs3oPeK1q9+Pq0I8NwMgeMKSB6EpBRcN0kGp
 Q7af8QVubk7rczLTEz1F3khU03JPUJ3uS/0QFkVfeVl1Lh8XcYXgLBQzP7Mq4eKn
 +sgDrq+GcrkxKAEylY0cT7D/BDASvITiY9dJAWDqFyXMMizH0mI96aPWCBDwqTkI
 YSR+V639M/3a5C647tgQNwfqhl+jghva2o0vChYGOral2wHOtDeLCwWH210NAT28
 kkp6FGkM9TlF9nm33TIeXerVuauWSQqnRcL/JfEqlHUYvx4h8V/4O918iEDCUS4K
 xL6C8+kuIXnI8Tda9w==
 =edHS
 -----END PGP SIGNATURE-----

Merge tag 'batadv-net-pullrequest-20250901' of https://git.open-mesh.org/linux-merge

Simon Wunderlich says:

====================
Here is a batman-adv bugfix:

 - fix OOB read/write in network-coding decode, by Stanislav Fort

* tag 'batadv-net-pullrequest-20250901' of https://git.open-mesh.org/linux-merge:
  batman-adv: fix OOB read/write in network-coding decode
====================

Link: https://patch.msgid.link/
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-09-01 13:35:37 -07:00
Sabrina Dubroca
030e1c4566 macsec: read MACSEC_SA_ATTR_PN with nla_get_uint
The code currently reads both U32 attributes and U64 attributes as
U64, so when a U32 attribute is provided by userspace (ie, when not
using XPN), on big endian systems, we'll load that value into the
upper 32bits of the next_pn field instead of the lower 32bits. This
means that the value that userspace provided is ignored (we only care
about the lower 32bits for non-XPN), and we'll start using PNs from 0.

Switch to nla_get_uint, which will read the value correctly on all
arches, whether it's 32b or 64b.

Fixes: 48ef50fa86 ("macsec: Netlink support of XPN cipher suites (IEEE 802.1AEbw)")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/1c1df1661b89238caf5beefb84a10ebfd56c66ea.1756459839.git.sd@queasysnail.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-09-01 13:31:33 -07:00
Sean Anderson
6bc8a5098b net: macb: Fix tx_ptr_lock locking
macb_start_xmit and macb_tx_poll can be called with bottom-halves
disabled (e.g. from softirq) as well as with interrupts disabled (with
netpoll). Because of this, all other functions taking tx_ptr_lock must
use spin_lock_irqsave.

Fixes: 138badbc21 ("net: macb: use NAPI for TX completion path")
Reported-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
Link: https://patch.msgid.link/20250829143521.1686062-1-sean.anderson@linux.dev
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-09-01 13:11:10 -07:00
Kohei Enju
b434a3772d docs: remove obsolete description about threaded NAPI
Commit 2677010e77 ("Add support to set NAPI threaded for individual
NAPI") introduced threaded NAPI configuration per individual NAPI
instance, however obsolete description that threaded NAPI is per device
has remained.

Remove the old description and clarify that only NAPI instances running
in threaded mode spawn kernel threads by changing "Each NAPI instance"
to "Each threaded NAPI instance".

Signed-off-by: Kohei Enju <enjuk@amazon.com>
Reviewed-by: Samiullah Khawaja <skhawaja@google.com>
Link: https://patch.msgid.link/20250829064857.51503-1-enjuk@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-09-01 13:09:08 -07:00
Miaoqian Lin
e580beaf43 eth: mlx4: Fix IS_ERR() vs NULL check bug in mlx4_en_create_rx_ring
Replace NULL check with IS_ERR() check after calling page_pool_create()
since this function returns error pointers (ERR_PTR).
Using NULL check could lead to invalid pointer dereference.

Fixes: 8533b14b3d ("eth: mlx4: create a page pool for Rx")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Link: https://patch.msgid.link/20250828121858.67639-1-linmq006@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-09-01 13:06:10 -07:00
Fabian Bläse
c6dd1aa2cb icmp: fix icmp_ndo_send address translation for reply direction
The icmp_ndo_send function was originally introduced to ensure proper
rate limiting when icmp_send is called by a network device driver,
where the packet's source address may have already been transformed
by SNAT.

However, the original implementation only considers the
IP_CT_DIR_ORIGINAL direction for SNAT and always replaced the packet's
source address with that of the original-direction tuple. This causes
two problems:

1. For SNAT:
   Reply-direction packets were incorrectly translated using the source
   address of the CT original direction, even though no translation is
   required.

2. For DNAT:
   Reply-direction packets were not handled at all. In DNAT, the original
   direction's destination is translated. Therefore, in the reply
   direction the source address must be set to the reply-direction
   source, so rate limiting works as intended.

Fix this by using the connection direction to select the correct tuple
for source address translation, and adjust the pre-checks to handle
reply-direction packets in case of DNAT.

Additionally, wrap the `ct->status` access in READ_ONCE(). This avoids
possible KCSAN reports about concurrent updates to `ct->status`.

Fixes: 0b41713b60 ("icmp: introduce helper for nat'd source address in network device context")
Signed-off-by: Fabian Bläse <fabian@blaese.de>
Cc: Jason A. Donenfeld <Jason@zx2c4.com>
Reviewed-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-09-01 12:54:41 -07:00
Alok Tiwari
7000f4fa9b bnxt_en: fix incorrect page count in RX aggr ring log
The warning in bnxt_alloc_one_rx_ring_netmem() reports the number
of pages allocated for the RX aggregation ring. However, it
mistakenly used bp->rx_ring_size instead of bp->rx_agg_ring_size,
leading to confusing or misleading log output.

Use the correct bp->rx_agg_ring_size value to fix this.

Fixes: c0c050c58d ("bnxt_en: New Broadcom ethernet driver.")
Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Link: https://patch.msgid.link/20250830062331.783783-1-alok.a.tiwari@oracle.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-09-01 12:51:05 -07:00
Jakub Kicinski
49c2502b59 selftests: drv-net: csum: fix interface name for remote host
Use cfg.remote_ifname for arguments of remote command.
Without this UDP tests fail in NIPA where local interface
is called enp1s0 and remote enp0s4.

Fixes: 1d0dc857b5 ("selftests: drv-net: add checksum tests")
Reviewed-by: Willem de Bruijn <willemb@google.com>
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Link: https://patch.msgid.link/20250830183842.688935-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-09-01 12:43:10 -07:00
Jakub Kicinski
0dffd938db bluetooth pull request for net:
- vhci: Prevent use-after-free by removing debugfs files early
  - L2CAP: Fix use-after-free in l2cap_sock_cleanup_listen()
 -----BEGIN PGP SIGNATURE-----
 
 iQJNBAABCgA3FiEE7E6oRXp8w05ovYr/9JCA4xAyCykFAmix9zgZHGx1aXoudm9u
 LmRlbnR6QGludGVsLmNvbQAKCRD0kIDjEDILKWjLD/9tyXf6EGbkZphp/eP3fJj/
 0mne9vD7A5biP/kosOTbUrbw8XgPSNzMl64L/w7AXJAIFytjtv6azg+V71r8AM98
 bjQfilA3qkM2AR8wKx9rmyFmr6/R5NcOpKIsqE/9c7kex9EuVz5fV/scHo3yHbMX
 92ebfwVzp6P1LfAPWl8S/ASscrqe19NIecbuFDk7x/V5ZcSfwctXM83miArr3b6e
 oduD9LPwbhvvj86L3HNptXuTQZ5V2oGkMYPQ13vltIFwgXBcQ3WuqW3Qo3FdNLDb
 KY6zlXy0+fgz5ewMKe0OB0EEgaPcfQGCxqtsYHkTR5QK7gPnWtm+1Sv1zn+f1Cfh
 6LAjqPrDjR00LC6yQXzoGFFtKvpux7fwvKlDj7vTgbloT6+Cj29N3WRk4Z8Xhgy2
 DZWOZ0IDLyCYWMFdf5WGs/pEQq2MxHJ+HsDzFJmjQf3O32hT+ZGX6JOBLmctmNgK
 AMn3NQS9ALNdXEXH8rpFilBNdHsGOPtRvTyNejLsS1Xn4andDflRbVGYNMBR7JER
 hsXfu8uv6RNWzNhEx25DXOh6PZAOQOc2vi09t95B/KxoIJQqak24LvVYlqqnlSJT
 n7Xvxlt+mhuSukrAavnB/ul0fQ7mvXTI3NrS5o68OeUqujdnl+5+trF0Kuxq1q+Q
 fVFl5OdTbij9AgaWqGTWJA==
 =EyL4
 -----END PGP SIGNATURE-----

Merge tag 'for-net-2025-08-29' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth

Luiz Augusto von Dentz says:

====================
bluetooth pull request for net:

 - vhci: Prevent use-after-free by removing debugfs files early
 - L2CAP: Fix use-after-free in l2cap_sock_cleanup_listen()

* tag 'for-net-2025-08-29' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth:
  Bluetooth: Fix use-after-free in l2cap_sock_cleanup_listen()
  Bluetooth: vhci: Prevent use-after-free by removing debugfs files early
====================

Link: https://patch.msgid.link/20250829191210.1982163-1-luiz.dentz@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-09-01 12:32:05 -07:00
Stephan Gerhold
6cb8c1f957 phy: qcom: qmp-pcie: Fix PHY initialization when powered down by firmware
Commit 0cc22f5a86 ("phy: qcom: qmp-pcie: Add PHY register retention
support") added support for using the "no_csr" reset to skip configuration
of the PHY if the init sequence was already applied by the boot firmware.
The expectation is that the PHY is only turned on/off by using the "no_csr"
reset, instead of powering it down and re-programming it after a full
reset.

The boot firmware on X1E does not fully conform to this expectation: If the
PCIe3 link fails to come up (e.g. because no PCIe card is inserted), the
firmware powers down the PHY using the QPHY_PCS_POWER_DOWN_CONTROL
register. The QPHY_START_CTRL register is kept as-is, so the driver assumes
the PHY is already initialized and skips the configuration/power up
sequence. The PHY won't come up again without clearing the
QPHY_PCS_POWER_DOWN_CONTROL, so eventually initialization fails:

  qcom-qmp-pcie-phy 1be0000.phy: phy initialization timed-out
  phy phy-1be0000.phy.0: phy poweron failed --> -110
  qcom-pcie 1bd0000.pcie: cannot initialize host
  qcom-pcie 1bd0000.pcie: probe with driver qcom-pcie failed with error -110

This can be reliably reproduced on the X1E CRD, QCP and Devkit when no card
is inserted for PCIe3.

Fix this by checking the QPHY_PCS_POWER_DOWN_CONTROL register in addition
to QPHY_START_CTRL. If the PHY is powered down with the register, it
doesn't conform to the expectations for using the "no_csr" reset, so we
fully re-initialize with the normal reset sequence.

Also check the register more carefully to ensure all of the bits we expect
are actually set. A simple !!(readl()) is not enough, because the PHY might
be only partially set up with some of the expected bits set.

Cc: stable@vger.kernel.org
Fixes: 0cc22f5a86 ("phy: qcom: qmp-pcie: Add PHY register retention support")
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20250821-phy-qcom-qmp-pcie-nocsr-fix-v3-1-4898db0cc07c@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2025-09-01 22:29:20 +05:30
Michael Walle
a22d3b0d49 phy: ti: gmii-sel: Always write the RGMII ID setting
Some SoCs are just validated with the TX delay enabled. With commit
ca13b249f2 ("net: ethernet: ti: am65-cpsw: fixup PHY mode for fixed
RGMII TX delay"), the network driver will patch the delay setting on the
fly assuming that the TX delay setting is fixed. In reality, the TX
delay is configurable and just skipped in the documentation. There are
bootloaders, which will disable the TX delay and this will lead to a
transmit path which doesn't add any delays at all.
Fix that by always writing the RGMII_ID setting and report an error for
unsupported RGMII delay modes.

This is safe to do and shouldn't break any boards in mainline because
the fixed delay is only introduced for gmii-sel compatibles which are
used together with the am65-cpsw-nuss driver and also contains the
commit above.

Fixes: ca13b249f2 ("net: ethernet: ti: am65-cpsw: fixup PHY mode for fixed RGMII TX delay")
Signed-off-by: Michael Walle <mwalle@kernel.org>
Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Link: https://lore.kernel.org/r/20250819065622.1019537-1-mwalle@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2025-09-01 22:00:58 +05:30
Guenter Roeck
c262357317 hwmon: (ina238) Correctly clamp power limits
ina238_write_power() was attempting to clamp the user input but was
throwing away the result. Ensure that we clamp the value to the
appropriate range before it is converted into a register value.

Fixes: 0d9f596b1f ("hwmon: (ina238) Modify the calculation formula to adapt to different chips")
Cc: Wenliang Yan <wenliang202407@163.com>
Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-09-01 08:03:05 -07:00
Guenter Roeck
bd7e7bc2cc hwmon: (ina238) Correctly clamp shunt voltage limit
When clamping a register value, the result needs to be masked against the
register size. This was missing, resulting in errors when trying to write
negative limits. Fix by masking the clamping result against the register
size.

Fixes: eacb52f010 ("hwmon: Driver for Texas Instruments INA238")
Cc: Nathan Rossi <nathan.rossi@digi.com>
Cc: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-09-01 08:03:05 -07:00
Charles Keepax
9b17d3724d
ASoC: wm8974: Correct PLL rate rounding
Using a single value of 22500000 for both 48000Hz and 44100Hz audio
will sometimes result in returning wrong dividers due to rounding.
Update the code to use the actual value for both.

Fixes: 51b2bb3f25 ("ASoC: wm8974: configure pll and mclk divider automatically")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20250821082639.1301453-4-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 14:57:28 +01:00
Charles Keepax
b4799520dc
ASoC: wm8940: Correct typo in control name
Fixes: 0b5e92c5e0 ("ASoC WM8940 Driver")
Reported-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Tested-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Link: https://patch.msgid.link/20250821082639.1301453-3-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 14:57:27 +01:00
Charles Keepax
d05afb53c6
ASoC: wm8940: Correct PLL rate rounding
Using a single value of 22500000 for both 48000Hz and 44100Hz audio
will sometimes result in returning wrong dividers due to rounding.
Update the code to use the actual value for both.

Fixes: 294833fc9e ("ASoC: wm8940: Rewrite code to set proper clocks")
Reported-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Tested-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Link: https://patch.msgid.link/20250821082639.1301453-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 14:57:27 +01:00
Khairul Anuar Romli
7446284023
spi: cadence-quadspi: Implement refcount to handle unbind during busy
driver support indirect read and indirect write operation with
assumption no force device removal(unbind) operation. However
force device removal(removal) is still available to root superuser.

Unbinding driver during operation causes kernel crash. This changes
ensure driver able to handle such operation for indirect read and
indirect write by implementing refcount to track attached devices
to the controller and gracefully wait and until attached devices
remove operation completed before proceed with removal operation.

Signed-off-by: Khairul Anuar Romli <khairul.anuar.romli@altera.com>
Reviewed-by: Matthew Gerlach <matthew.gerlach@altera.com>
Reviewed-by: Niravkumar L Rabara <nirav.rabara@altera.com>
Link: https://patch.msgid.link/8704fd6bd2ff4d37bba4a0eacf5eba3ba001079e.1756168074.git.khairul.anuar.romli@altera.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 13:37:27 +01:00
Larisa Grigore
431f6c88cb
spi: spi-fsl-lpspi: Add compatible for S32G
S32G doesn't have the max prescale erratum (default) and it can query
the max number of CS from hardware, so add those settings.

Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@nxp.com>
Signed-off-by: James Clark <james.clark@linaro.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20250828-james-nxp-lpspi-v2-9-6262b9aa9be4@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 13:12:32 +01:00
James Clark
41c91c2eed
spi: spi-fsl-lpspi: Parameterize reading num-cs from hardware
Add query_hw_for_num_cs in devtype to avoid directly checking compatible
string "fsl,imx93-spi".

No functionality change.

Signed-off-by: James Clark <james.clark@linaro.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20250828-james-nxp-lpspi-v2-8-6262b9aa9be4@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 13:12:30 +01:00
James Clark
9bbfb1ec95
spi: spi-fsl-lpspi: Treat prescale_max == 0 as no erratum
This erratum only ever results in a max value of 1, otherwise the full 3
bits are available. To avoid repeating the same default prescale value
for every new device's devdata, treat 0 as no limit (7) and only set a
value when the erratum is present.

Change the field to be 3 bits to catch out of range definitions.

No functionality change.

Signed-off-by: James Clark <james.clark@linaro.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20250828-james-nxp-lpspi-v2-7-6262b9aa9be4@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 13:12:29 +01:00
James Clark
fb4273faa4
spi: spi-fsl-lpspi: Constify devtype datas
Add const for all devtype_data.

Signed-off-by: James Clark <james.clark@linaro.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20250828-james-nxp-lpspi-v2-6-6262b9aa9be4@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 13:12:28 +01:00
Larisa Grigore
b663fd4532
dt-bindings: lpspi: Document support for S32G
Add compatible strings 'nxp,s32g2-lpspi' and 'nxp,s32g3-lpspi' for S32G2
and S32G3. Require nxp,s32g3-lpspi to fallback to nxp,s32g2-lpspi since
they are currently compatible.

Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: James Clark <james.clark@linaro.org>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20250828-james-nxp-lpspi-v2-5-6262b9aa9be4@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 13:12:27 +01:00
Larisa Grigore
dedf9c93de
spi: spi-fsl-lpspi: Clear status register after disabling the module
Clear the error flags after disabling the module to avoid the case when
a flag is set again between flag clear and module disable. And use
SR_CLEAR_MASK to replace hardcoded value for improved readability.

Although fsl_lpspi_reset() was only introduced in commit a15dc3d657
("spi: lpspi: Fix CLK pin becomes low before one transfer"), the
original driver only reset SR in the interrupt handler, making it
vulnerable to the same issue. Therefore the fixes commit is set at the
introduction of the driver.

Fixes: 5314987de5 ("spi: imx: add lpspi bus driver")
Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: Ciprian Marian Costea <ciprianmarian.costea@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: James Clark <james.clark@linaro.org>
Link: https://patch.msgid.link/20250828-james-nxp-lpspi-v2-4-6262b9aa9be4@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 13:12:26 +01:00
Larisa Grigore
e811b088a3
spi: spi-fsl-lpspi: Reset FIFO and disable module on transfer abort
In DMA mode fsl_lpspi_reset() is always called at the end, even when the
transfer is aborted. In PIO mode aborts skip the reset leaving the FIFO
filled and the module enabled.

Fix it by always calling fsl_lpspi_reset().

Fixes: a15dc3d657 ("spi: lpspi: Fix CLK pin becomes low before one transfer")
Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: James Clark <james.clark@linaro.org>
Link: https://patch.msgid.link/20250828-james-nxp-lpspi-v2-3-6262b9aa9be4@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 13:12:25 +01:00
Larisa Grigore
cbe3370586
spi: spi-fsl-lpspi: Set correct chip-select polarity bit
The driver currently supports multiple chip-selects, but only sets the
polarity for the first one (CS 0). Fix it by setting the PCSPOL bit for
the desired chip-select.

Fixes: 5314987de5 ("spi: imx: add lpspi bus driver")
Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: James Clark <james.clark@linaro.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20250828-james-nxp-lpspi-v2-2-6262b9aa9be4@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 13:12:24 +01:00
Larisa Grigore
782a7c7307
spi: spi-fsl-lpspi: Fix transmissions when using CONT
Commit 6a13044849 ("spi: lpspi: Fix wrong transmission when don't use
CONT") breaks transmissions when CONT is used. The TDIE interrupt should
not be disabled in all cases. If CONT is used and the TX transfer is not
yet completed yet, but the interrupt handler is called because there are
characters to be received, TDIE is replaced with FCIE. When the transfer
is finally completed, SR_TDF is set but the interrupt handler isn't
called again.

Fixes: 6a13044849 ("spi: lpspi: Fix wrong transmission when don't use CONT")
Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: James Clark <james.clark@linaro.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20250828-james-nxp-lpspi-v2-1-6262b9aa9be4@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 13:12:23 +01:00
Shuming Fan
f54d87dad7
ASoC: rt712: avoid skipping the blind write
Some devices might not use the DMIC function of the RT712VB.
Therefore, this patch avoids skipping the blind write with RT712VB.

Signed-off-by: Shuming Fan <shumingf@realtek.com>
Link: https://patch.msgid.link/20250901085757.1287945-1-shumingf@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-09-01 13:12:13 +01:00
Takashi Iwai
bcd6659d49 ALSA: hda/hdmi: Add pin fix for another HP EliteDesk 800 G4 model
It was reported that HP EliteDesk 800 G4 DM 65W (SSID 103c:845a) needs
the similar quirk for enabling HDMI outputs, too.  This patch adds the
corresponding quirk entry.

Cc: <stable@vger.kernel.org>
Link: https://patch.msgid.link/20250901115009.27498-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2025-09-01 13:51:57 +02:00
Tina Wuest
cc8e91054c ALSA: usb-audio: Allow Focusrite devices to use low samplerates
Commit 05f254a636 ("ALSA: usb-audio:
Improve filtering of sample rates on Focusrite devices") changed the
check for max_rate in a way which was overly restrictive, forcing
devices to use very high samplerates if they support them, despite
support existing for lower rates as well.

This maintains the intended outcome (ensuring samplerates selected are
supported) while allowing devices with higher maximum samplerates to be
opened at all supported samplerates.

This patch was tested with a Clarett+ 8Pre USB

Fixes: 05f254a636 ("ALSA: usb-audio: Improve filtering of sample rates on Focusrite devices")
Signed-off-by: Tina Wuest <tina@wuest.me>
Link: https://patch.msgid.link/20250901092024.140993-1-tina@wuest.me
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2025-09-01 13:14:52 +02:00
Christian Brauner
e23654f5b1 fuse fixes for 6.17-rc5
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQSQHSd0lITzzeNWNm3h3BK/laaZPAUCaLVsHgAKCRDh3BK/laaZ
 PDQ9AQDkWIqblrxfuL/Ji9d18XR4FFMN3PHxt046AjFwFVbL4gD/Q8bIDTmJNyts
 YAGcgSkDpa2Q/UT9yZ/8IFdmidnVqwk=
 =5/3p
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCaLV6IAAKCRCRxhvAZXjc
 olPYAP9rPVDs2VyektXPfHowxX53nxuYcbGcowPzIn68f9cp0AD/XfyPHfYIKFRc
 Mk/u+Ns438FpHDzBu84y51giQbc2IwM=
 =IEzO
 -----END PGP SIGNATURE-----

Merge tag 'fuse-fixes-6.17-rc5' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse into vfs.fixes

fuse fixes for 6.17-rc5

* tag 'fuse-fixes-6.17-rc5' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: (6 commits)
  fuse: Block access to folio overlimit
  fuse: fix fuseblk i_blkbits for iomap partial writes
  fuse: reflect cached blocksize if blocksize was changed
  fuse: prevent overflow in copy_file_range return value
  fuse: check if copy_file_range() returns larger than requested size
  fuse: do not allow mapping a non-regular backing file

Link: https://lore.kernel.org/CAJfpeguEVMMyw_zCb+hbOuSxdE2Z3Raw=SJsq=Y56Ae6dn2W3g@mail.gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
2025-09-01 12:48:28 +02:00
Nicolas Frattaroli
63ddc0a75b arm64: dts: rockchip: fix USB on RADXA ROCK 5T
The RADXA ROCK 5T board uses the same GPIO pin for controlling the USB
host port regulator. This control pin was mistakenly left out of the
ROCK 5T device tree.

Reported-by: FUKAUMI Naoki <naoki@radxa.com>
Closes: https://libera.catirclogs.org/linux-rockchip/2025-08-25#38609886;
Fixes: 0ea651de9b ("arm64: dts: rockchip: add ROCK 5T device tree")
Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
Link: https://lore.kernel.org/r/20250825-rock5t-usb-fix-v1-1-de71954a1bb5@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2025-09-01 12:44:23 +02:00
Karol Wachowski
69a79ada8e accel/ivpu: Prevent recovery work from being queued during device removal
Use disable_work_sync() instead of cancel_work_sync() in ivpu_dev_fini()
to ensure that no new recovery work items can be queued after device
removal has started. Previously, recovery work could be scheduled even
after canceling existing work, potentially leading to use-after-free
bugs if recovery accessed freed resources.

Rename ivpu_pm_cancel_recovery() to ivpu_pm_disable_recovery() to better
reflect its new behavior.

Fixes: 58cde80f45 ("accel/ivpu: Use dedicated work for job timeout detection")
Cc: stable@vger.kernel.org # v6.8+
Signed-off-by: Karol Wachowski <karol.wachowski@intel.com>
Reviewed-by: Lizhi Hou <lizhi.hou@amd.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://lore.kernel.org/r/20250808110939.328366-1-jacek.lawrynowicz@linux.intel.com
2025-09-01 12:37:21 +02:00
Sebastian Reichel
750b54513f
MAINTAINERS: exclude defconfig from ARM64 PORT
Patches for the arm64 defconfig are supposed to be sent to the
SoC maintainers (e.g. a change in the generic arm64 defconfig
required for Rockchip devices should be send to Heiko Stübner
as he is listed as maintainer for "ARM/Rockchip SoC support")
and not the ARM64 PORT maintainers.

While we cannot easily describe this in MAINTAINERS, we can at
least stop it from giving false information and make it behave
the same way as for the MAINTAINERS file itself (which basically
has the same rules), so that it just outputs the LKML for the
ARM64 defconfig.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Acked-by: Will Deacon <will@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20250818-arm64-defconfig-v1-1-f589553c3d72@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 12:08:25 +02:00
Harshit Shah
75e81743e3
arm64: dts: axiado: Add missing UART aliases
Axiado AX3000 EVK has total of 4 UART ports. Add missing alias for uart0,
uart1, uart2.

This fixes the probe failures on the remaining UARTs.

Fixes: 1f70557790 ("arm64: dts: axiado: Add initial support for AX3000 SoC and eval board")
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Harshit Shah <hshah@axiado.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 11:33:13 +02:00
yangshiguang
850470a841 mm: slub: avoid wake up kswapd in set_track_prepare
set_track_prepare() can incur lock recursion.
The issue is that it is called from hrtimer_start_range_ns
holding the per_cpu(hrtimer_bases)[n].lock, but when enabled
CONFIG_DEBUG_OBJECTS_TIMERS, may wake up kswapd in set_track_prepare,
and try to hold the per_cpu(hrtimer_bases)[n].lock.

Avoid deadlock caused by implicitly waking up kswapd by passing in
allocation flags, which do not contain __GFP_KSWAPD_RECLAIM in the
debug_objects_fill_pool() case. Inside stack depot they are processed by
gfp_nested_mask().
Since ___slab_alloc() has preemption disabled, we mask out
__GFP_DIRECT_RECLAIM from the flags there.

The oops looks something like:

BUG: spinlock recursion on CPU#3, swapper/3/0
 lock: 0xffffff8a4bf29c80, .magic: dead4ead, .owner: swapper/3/0, .owner_cpu: 3
Hardware name: Qualcomm Technologies, Inc. Popsicle based on SM8850 (DT)
Call trace:
spin_bug+0x0
_raw_spin_lock_irqsave+0x80
hrtimer_try_to_cancel+0x94
task_contending+0x10c
enqueue_dl_entity+0x2a4
dl_server_start+0x74
enqueue_task_fair+0x568
enqueue_task+0xac
do_activate_task+0x14c
ttwu_do_activate+0xcc
try_to_wake_up+0x6c8
default_wake_function+0x20
autoremove_wake_function+0x1c
__wake_up+0xac
wakeup_kswapd+0x19c
wake_all_kswapds+0x78
__alloc_pages_slowpath+0x1ac
__alloc_pages_noprof+0x298
stack_depot_save_flags+0x6b0
stack_depot_save+0x14
set_track_prepare+0x5c
___slab_alloc+0xccc
__kmalloc_cache_noprof+0x470
__set_page_owner+0x2bc
post_alloc_hook[jt]+0x1b8
prep_new_page+0x28
get_page_from_freelist+0x1edc
__alloc_pages_noprof+0x13c
alloc_slab_page+0x244
allocate_slab+0x7c
___slab_alloc+0x8e8
kmem_cache_alloc_noprof+0x450
debug_objects_fill_pool+0x22c
debug_object_activate+0x40
enqueue_hrtimer[jt]+0xdc
hrtimer_start_range_ns+0x5f8
...

Signed-off-by: yangshiguang <yangshiguang@xiaomi.com>
Fixes: 5cf909c553 ("mm/slub: use stackdepot to save stack trace in objects")
Cc: stable@vger.kernel.org
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
2025-09-01 11:09:39 +02:00
Danilo Krummrich
5c5a41a754 gpu: nova-core: depend on CONFIG_64BIT
If built on architectures with CONFIG_ARCH_DMA_ADDR_T_64BIT=y nova-core
produces that following build failures:

    error[E0308]: mismatched types
      --> drivers/gpu/nova-core/fb.rs:49:59
       |
    49 |         hal::fb_hal(chipset).write_sysmem_flush_page(bar, page.dma_handle())?;
       |                              -----------------------      ^^^^^^^^^^^^^^^^^ expected `u64`, found `u32`
       |                              |
       |                              arguments to this method are incorrect
       |
    note: method defined here
      --> drivers/gpu/nova-core/fb/hal.rs:19:8
       |
    19 |     fn write_sysmem_flush_page(&self, bar: &Bar0, addr: u64) -> Result;
       |        ^^^^^^^^^^^^^^^^^^^^^^^
    help: you can convert a `u32` to a `u64`
       |
    49 |         hal::fb_hal(chipset).write_sysmem_flush_page(bar, page.dma_handle().into())?;
       |                                                                            +++++++

    error[E0308]: mismatched types
      --> drivers/gpu/nova-core/fb.rs:65:47
       |
    65 |         if hal.read_sysmem_flush_page(bar) == self.page.dma_handle() {
       |            -------------------------------    ^^^^^^^^^^^^^^^^^^^^^^ expected `u64`, found `u32`
       |            |
       |            expected because this is `u64`
       |
    help: you can convert a `u32` to a `u64`
       |
    65 |         if hal.read_sysmem_flush_page(bar) == self.page.dma_handle().into() {
       |                                                                     +++++++

    error: this arithmetic operation will overflow
       --> drivers/gpu/nova-core/falcon.rs:469:23
        |
    469 |             .set_base((dma_start >> 40) as u16)
        |                       ^^^^^^^^^^^^^^^^^ attempt to shift right by `40_i32`, which would overflow
        |
        = note: `#[deny(arithmetic_overflow)]` on by default

This is due to the code making assumptions on the width of dma_addr_t to
be 64 bit.

While this could technically be handled, it is rather painful to deal
with, as the following example illustrates:

	pub(super) fn read_sysmem_flush_page_ga100(bar: &Bar0) -> DmaAddress {
	    let addr = u64::from(regs::NV_PFB_NISO_FLUSH_SYSMEM_ADDR::read(bar).adr_39_08())
	        << FLUSH_SYSMEM_ADDR_SHIFT
	        | u64::from(regs::NV_PFB_NISO_FLUSH_SYSMEM_ADDR_HI::read(bar).adr_63_40())
	            << FLUSH_SYSMEM_ADDR_SHIFT_HI;

	    addr.try_into().unwrap_or_else(|_| {
	        kernel::warn_on!(true);

	        0
	    })
	}

At the same time there's not much value for nova-core to support 32-bit,
given that the supported GPU architectures are Turing and later, hence
depend on CONFIG_64BIT.

Cc: John Hubbard <jhubbard@nvidia.com>
Reported-by: Miguel Ojeda <ojeda@kernel.org>
Closes: https://lore.kernel.org/lkml/20250828160247.37492-1-ojeda@kernel.org/
Fixes: 6554ad65b5 ("gpu: nova-core: register sysmem flush page")
Fixes: 69f5cd67ce ("gpu: nova-core: add falcon register definitions and base code")
Reviewed-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: John Hubbard <jhubbard@nvidia.com>
Link: https://lore.kernel.org/r/20250828223954.351348-1-dakr@kernel.org
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2025-09-01 11:06:37 +02:00
Antheas Kapenekakis
3712ce9fa5 gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-05
Same issue as G1619-04 in commit 805c74eac8 ("gpiolib: acpi: Ignore
touchpad wakeup on GPD G1619-04"), Strix Point lineup uses 05.

Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
Reviewed-by: Mika Westerberg <westeri@kernel.org>
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2025-09-01 11:03:51 +02:00
Arnd Bergmann
e019bbd8e4 i.MX fixes for 6.17:
- Correct FlexCAN PHY settings on imx95-19x19-evk board (Haibo Chen)
 - Add missing microSD slot supplies for DH electronics i.MX8M Plus
   boards (Marek Vasut)
 - Fix assigned clocks for JPEG encoder node on i.MX95 (Marek Vasut)
 - A couple of regulator setting fixes for imx8mp-tqma8mpql
   board (Markus Niebel)
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmiugL4ACgkQUFdYWoew
 fM5mSggApqbbYj3cOJOoTecKcI1RottMC2sZFV71cHV71u11JLFWFymNSDX89msL
 SPjeCo+wBf/FCvIOH5eArA64X4+liLPjCiPd9OsJoG7sjzYn/boMmDrrXBkOUCR+
 dviNDUAKJmT3egTsoP0DRp839BcxjsR/NPzuTPtj1Jau4DdFFfMzwFwwLULDOX0k
 9k1XcVhpOBiIijCTou2UIZ18iy/btamyqeoVn0SQvPHKLvjcFeefYlo/po1kMgU9
 rXXUEbnrR8AqsDq1D+EJch8z8jUPEBLfhKnsnAJCzoIwIUnNMxnHODGEc4Jhkp8K
 PJITdlp3tHebvJQ+kr7tHGed1j/svw==
 =hB3X
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmi1XDEACgkQmmx57+YA
 GNkCIRAAmXJNkEri2LmmrwONSgBbq0inr3jt824Odl2YnPiwmgHEvjKsgVVKH2wp
 KMSk8zOab7o1R8cyDWCRfWj8ALMapeXqROy7wvBePAg9BEgw35EQ5LI80jwAE0QS
 GjPT3F2teHOz0sLoIEJW6wbGj1mFv7hGuhwbkIWBvNYf8SnXpPgwFBrmMTZfhUy6
 oaLRSXyGlvpGI7AYE1N73mR3ueGpAACtfZikscTiP3aaQkIwhyhzHMTfdOfd5wPc
 ZZP4+kZkXEAGpCV2qNiMk91e2GSD37HtNy3so6xLKY+S47xd8+G9XF36aaOodpLv
 SeKVlpgVLVV0qxbeb8RedSZl1r9iFjxhDiJjouGOLZDXPO1YqlzaqCV54p3HcWCa
 RHDSUPivG3dPWBKiVngc2k0+G585fZx7ZjiDNpQoMOiSejUTnd8e3XRU2BmXldpU
 xMSFbpwnE7HcDSnduyqEjGlnLPZquAFqb2hr8icwrDIf/+Nc9RSIHDVOMiM1bzvt
 Doma4lOBBGCfVV8VP6T6WElw4gWgDlsqZ19shpME+4AfBQ6pBveV6WP21KmWHIAf
 7rGIAYNLaKAOAycOlZizC74R4XhrCG7DACtqDkB+GhnJgxED8puAb+HWdGqhKi41
 U34tKZV9C5fVdr36IqnxTDiFYY3eVa8KtamsNpVL3zadlrWcBJE=
 =nWfB
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 6.17:

- Correct FlexCAN PHY settings on imx95-19x19-evk board (Haibo Chen)
- Add missing microSD slot supplies for DH electronics i.MX8M Plus
  boards (Marek Vasut)
- Fix assigned clocks for JPEG encoder node on i.MX95 (Marek Vasut)
- A couple of regulator setting fixes for imx8mp-tqma8mpql
  board (Markus Niebel)

* tag 'imx-fixes-6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: imx95: Fix JPEG encoder node assigned clock
  arm64: dts: imx95-19x19-evk: correct the phy setting for flexcan1/2
  arm64: dts: imx8mp: Fix missing microSD slot vqmmc on Data Modul i.MX8M Plus eDM SBC
  arm64: dts: imx8mp: Fix missing microSD slot vqmmc on DH electronics i.MX8M Plus DHCOM
  arm64: dts: imx8mp-tqma8mpql: remove virtual 3.3V regulator
  arm64: dts: imx8mp-tqma8mpql: fix LDO5 power off

Link: https://lore.kernel.org/r/aK6BuzIYwUBRU1GW@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 10:41:20 +02:00
Nobuhiro Iwamatsu
0aee6faf5b MAINTAINERS: Update Nobuhiro Iwamatsu's email address
The company's email address has been changed, so update my email
address in MAINTAINERS and .mailmap files.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.x90@mail.toshiba>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 10:36:10 +02:00
Arnd Bergmann
2050458610 OP-TEE driver fix for v6.17
Fixing a typo in a function name.
 -----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCgA4FiEE0qerISgy2SKkqO79Wr/6JGat8H4FAmikTOQaHGplbnMud2lr
 bGFuZGVyQGxpbmFyby5vcmcACgkQWr/6JGat8H7DYBAAxaF20ZnzuhpWgp3sDpfB
 KC9IvYCzERhP5gPouVCatPB1jBgOcPqSYyCVft1Y6ZmB8EHxZ0eEwkgb8UJg3o00
 KtYw8kEatOavjTvm9YRjFRTNuGdBvfKpBpfipP1g95uo2n2wDL7c8akQP8YJZQwQ
 oVHtILhNFBg9xPDLB/wme94I42EQdtJHopd+3MYLyraMkjcIJd+8EnBka8Fe+v9U
 d/Y7aJIJcR3+CuyAOLcmlcg+f0hXguJtGB62jhBsNPQIZR1eKuIL3/M3/WZs7lz9
 sPLgZD9QMAixomXerJAX3MOSbvrAzwUHoHPAevCxdxj5U2B1y7JHJ/9t+09XEx6s
 qRvRSR9cUf6IFply06U8/xElpJP+e+FYyD8D8OCkTJdineV8ifOmdO4ctzA0ANti
 9ADstF1coSpRY0Xp5Mo8KBSuW9fNTKditozPXCykQ7T3nMr3ztkWebbyFbcn+omz
 Ok1S+1s5l1vgk2SqJgezsi40peZuFC08wlaKUbGN50f7aWLtMJWIglTGGaA7Vc/2
 mfT7qVwHlc3DXVH7LQmiYqoSg8lE1sH7ORBZf3p5kGNJSD3Cxj6kecsSggK0hzM8
 VioJW/6IG/rQLZtk/PSkG02odrwN7FMFT/uZ7MD7JRDqwxr4twvycrXp07Tct0TA
 FwKm+No0Xr3xhrxqcFKGtpg=
 =dTsR
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmi1WrgACgkQmmx57+YA
 GNmmsg//Wm6kKXMe9tUSDmM3cGmFg4ySBLy1nWCKGWnjxx/gFJ4LBeks47nyRXDv
 5l11uv0vJNtIQH9X5JGBg8AB2PH9hVO60i21dDWkxlJEKp2RAuPVZvFl51Wi39kP
 jcD09SPh+40KWshM2BhK8ntnWnfTZKXBJw0eTMi6CJUKWjbKm01TiqsNKrOJL9gz
 TQcutpKJTfRusTwJwrsNmEMldJQeiWAejtvQMoS0y1aI1AFCL4HLvMU0n3JS03re
 gBOqHdmhkADnrI05ItQ4hwsgO244xA+X/QPwyPRT/N8WOtb+ZR39jnW2HWGVi9w3
 M3LSMLWCtkL82l1s4NjPigBCvOXM3ARDyAqVmhHnq+Zh/EEFR2BBDOSbYKjvJlWJ
 E/4buogg/MSF+bZU8l+n2LvxhGr//SGsg33gQeFxBk62qv5wdL0DA/9FS4vEMfW9
 RQRZUnzIftlDcOc60Z+FcOXIb+FT9mO0k74BQA6Hwv2HTYvFAY4qnrg0CW+tigyl
 YN6pZSpdgVX2H6DqK0DAmqJ0RLgtqFOJ+fobmIfPXhlkKKFRbFX2c61KFuUO9Mx8
 3PNMFMXazqhoD0juFBz0Weprwaz9bwbZm8aEfO/6DdO1zDKu0XXH40Wtec825xzE
 qyLT72eBlYFnuJfXJjv22eaH8hdHK8MmcDYxKEtredVaLTjhpiA=
 =oap8
 -----END PGP SIGNATURE-----

Merge tag 'optee-typo-fix-for-v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into arm/fixes

OP-TEE driver fix for v6.17

Fixing a typo in a function name.

* tag 'optee-typo-fix-for-v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
  tee: optee: ffa: fix a typo of "optee_ffa_api_is_compatible"

Link: https://lore.kernel.org/r/20250819122917.GB3486750@rayden
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 10:35:03 +02:00
Arnd Bergmann
84bc3c0b58 TEE fixes for v6.17
- Fixing a memory leak in the error path for tee_dyn_shm_alloc_helper()
 - Fixing a NULL pointer dereference in tee_shm_put()
 -----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCgA4FiEE0qerISgy2SKkqO79Wr/6JGat8H4FAmikTdgaHGplbnMud2lr
 bGFuZGVyQGxpbmFyby5vcmcACgkQWr/6JGat8H57khAA4GAWaj/g2Y7rI8JVoKfG
 mtCUOmB4cDechzI/QQwkSLdCgBRo4q3pwpgnSCgYSoPRna8TsFTUdj02QzIWbT3z
 f15hCSOaX5WsgNp9mZc3FiAMwOXlpAXKUREa72MrC8WvTLEmVqpI0JyybDlahjrk
 w2H1X/V94PH+YQnyoSntLOApA+r54RJwtmuOs6PacCapftHROpon4ezyRSbE/FCM
 MkuTQ8CliazFMDr1e7W168iT4RgQo8ST+Umr9DUwC0xfIbIAcMyVScYKFzmKYWke
 iS7p/mB0gsikTydmPgy6Smw3ynCN7bsiZlk/gZkv0zczkG6u3szWwXmhzsuCy/qk
 IyZPANAnlr3lh6bbPHwDBrJsnxshDvMB9ls4NG2vV7iKIv47bDqJEJ9Gp7iDYKGg
 IngHuc0qajmZlaaC5tV6eDy7fxOoUidbGtdRhCmniJl9Rz/IYvxvXmQtYo4t+IKw
 1UE3RAcjHJNqzOhJtjbfK/tDM143dNgSwttbXMuesr3Se647s8VWdrvHwmznpfG+
 yq5CP4oWv5u/sDg38wvPHscyBRkjKVmhnFWsIIFjMBwjwmXCIrgbSAPzCkB7jufx
 D3iy1r4xS4m1hTRBlY96tR0FXvPki4WR3kjogJeonbkpjBDHHTTcQXYUn4teLYmI
 9zQkFWw2GdGTkKP2LCTq9EA=
 =AfU2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmi1Wp4ACgkQmmx57+YA
 GNmXKg/9H+UYN6h8UBmm1guxYFN695gnwXtmvBN10Y2U4OkwjMX6HgfNKrwXRnw5
 nok/jLGihcRfqm+fMTJUS9PrOj+6cVKtww63DHpd+RX1LjNbbvKr8ErhM7JifNGd
 5hS5MQ48xlmAdloJCTxbV0OjmABD9Ka8CUvdfPuJRaGTqj1kauBHbUWLijmDloLl
 wf1lpkof0zn1Cxgn+A1VQwz+KlIXtCPcFpefZDmi81daOpj53kterI7MdJiTP0rn
 aELO99+QNeiGqFqN3LXSml2qQAzdsrJ/WdIG6IIZlABxo7Vk91nCwLhi3cPwGKQn
 ib0wPdyI4gNK02FgCRuRda0VNlgoBiGTPUYoR/JOHgHGCBatv1H60b1hoPpNSMvx
 aZo/FkqgPWBz3A/p4ASbGaIhIMrR/NFLgkKjQlyp3M2UwlANCZQ59q45kD4hWsz5
 q80IRvGj+mdV2LyZrmY2i9FJyzXMkPM+1allItnCR3ZhkXQuf3r90ltUUh/nMneC
 KIqBDPe+nyY5i9lHh/w/u64iwEhSqtgvIYgwm5BtoeCssNVXoUNbHJ6JZu+BYr0H
 RcTgAHYKIL+aQzRjwfI3GL3M60DvfsrXyGxMdH1XDCa7AAbkRRrJHIoPzmh++h+g
 Tt7+2KIIBC/OJy/a+/A6J1YgTO/LzC94JOivu+9zN0KzCzpmgC4=
 =Lyrr
 -----END PGP SIGNATURE-----

Merge tag 'tee-fixes-for-v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into arm/fixes

TEE fixes for v6.17

- Fixing a memory leak in the error path for tee_dyn_shm_alloc_helper()
- Fixing a NULL pointer dereference in tee_shm_put()

* tag 'tee-fixes-for-v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
  tee: fix memory leak in tee_dyn_shm_alloc_helper
  tee: fix NULL pointer dereference in tee_shm_put

Link: https://lore.kernel.org/r/20250819122641.GA3486750@rayden
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 10:34:38 +02:00
Arnd Bergmann
e6e709901c Qualcomm driver fixes for v6.17-rc1
The recently extended sanity checks for the Qualcomm firmware files
 turned out to be too restrictive, preventing a variety of firmware
 images from being loaded. Adjust the checks to allow section header
 sizes of 0 when sections aren't used.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmiaBEIVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FEzMQAL1fo13UqDYeVOUGZzw0M3nMMYgT
 DRW/GjtklIKHLvwwmTBEhgM3lPoNmpUVqV3hC/mMxQRkGaG+RmiUbD9+IgKqIgyp
 5o6LXmRIvuhIPY+7GA4iXf+VgPTpps1AzdkvXBQgBbJZ6RTzGrB1WGrAf746hprA
 A8RQVfQFM7DHiLNt5dbqrbqdu2/vn9Q5SU3F1MFq22EA9VU6UYHFBZ03Ar+lkpVT
 CHoUhUdV139xvjXNph+pRkS6ykJyCo9RONXG19ssC+LUkg4YevCJV20q/qFWBOrq
 rUpqhQUKWtQNdGWEg8sjvdu1s4/NYIBNFz3V9Ys2OVfg3RqnGOcpZThjbzTuHJV0
 AaCzBmEgGCuHasyzNxhhzVfn7PGJ6Fhb0cOKev1z0ilXMUeTpbW/xQLr8OK6mdwN
 NR4d0P7aDSLzaUEmbm557vz9vkuBaGod2LaKPcXN1trFt/p0Ie467aLeY2gFu4TC
 aNP/bo1z3XdUWrW8noU3zJSVjk45pO/sAik2aaDk/dD6A41UHup/GvuXw59nmFU0
 E/LxRc9Ig8s/kS8wpU1dCCvOrCD72ljU58DUVciIGdxdJpo0VuxaxRBPHoTvDkh9
 ywDlTYPcTJCBOfNNCq7lA8UHRaUJ4XYaOkhV5isjZJDGbNjUOPFBRy4g4e5p3XFl
 GdZB5hA5P4obN33y
 =UVX0
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmi1VI0ACgkQmmx57+YA
 GNmh5Q/+MqfYPlBhnFsyFa/418pcU/C7qnODlWKSw1Q9ia0coRwQofMoo5yeERQc
 3pPY9bnyS+Owfk8n26iMLkNht6IaAYNepfST0nVEklveywszJiz1x1u73+1Ngknd
 ajkgAugH8+iduqbRzIpGodLiwTnGJikfLJ3wgMQ9yyK0SwLIZ3/a8/2P9LWN2+d1
 WLV62XpvP5+1kGeO76gekbnzpU4F9bquaoYSR9pwnQ8AKkZNWOgSWuZWPW4muCpD
 0c6bX9JFHJ2iITPIPlKxMijP9/dHXqO8E8hGCVYqLZOhbBgPwtx77US5c51txOPK
 V6WFduaTjAGNLcJz7WGJuYyBT2Sva037hRo6Z0GTp2jRoNLPkfdJZcJ7GhHO+fjz
 VVckN+51sts6ESAZBEpnQy7C0hIDIwha2vBeKt6nxYCR0DB7dT4ey+FwysuwurBL
 6A1j+1qI7q0JKOA7LQkS6ofHHHbZUuOvgjyUBG3eDkg5BApbcfa3x0rLeq9cZvDr
 xtlFd5P+hctF5qeCQ6VL7MjHG7Yks6pUC2Bwaxm2h2Rbz1NtYkrri/NUk31wnU73
 Nv/RKEMWTZmwBaAV6Whuz7/M9zehGmzDkEJGhv1ikbWC5zm8YUkYwckKShun41bV
 DwB6At01DI7QbTsAS5ZlOKQyS3a7rc0XEyI+bACCp2I0Urnom7k=
 =zaMo
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-fixes-for-6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes

Qualcomm driver fixes for v6.17-rc1

The recently extended sanity checks for the Qualcomm firmware files
turned out to be too restrictive, preventing a variety of firmware
images from being loaded. Adjust the checks to allow section header
sizes of 0 when sections aren't used.

* tag 'qcom-drivers-fixes-for-6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  soc: qcom: mdt_loader: Deal with zero e_shentsize

Link: https://lore.kernel.org/r/20250811145613.120917-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-01 10:08:44 +02:00
Sabrina Dubroca
cd8ae32e4e xfrm: xfrm_alloc_spi shouldn't use 0 as SPI
x->id.spi == 0 means "no SPI assigned", but since commit
94f39804d8 ("xfrm: Duplicate SPI Handling"), we now create states
and add them to the byspi list with this value.

__xfrm_state_delete doesn't remove those states from the byspi list,
since they shouldn't be there, and this shows up as a UAF the next
time we go through the byspi list.

Reported-by: syzbot+a25ee9d20d31e483ba7b@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=a25ee9d20d31e483ba7b
Fixes: 94f39804d8 ("xfrm: Duplicate SPI Handling")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
2025-09-01 08:56:00 +02:00