Commit graph

1,385,397 commits

Author SHA1 Message Date
Danilo Krummrich
256de48f2c rust: platform: implement the dma::Device trait
The platform bus is potentially capable of performing DMA, hence implement
the `dma:Device` trait for `platform::Device`.

Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20250716150354.51081-5-dakr@kernel.org
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2025-07-19 19:37:17 +02:00
Danilo Krummrich
8eb698f547 rust: pci: implement the dma::Device trait
The PCI bus is potentially capable of performing DMA, hence implement
the `dma:Device` trait for `pci::Device`.

Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20250716150354.51081-4-dakr@kernel.org
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2025-07-19 19:37:17 +02:00
Danilo Krummrich
101d66828a rust: dma: add DMA addressing capabilities
Implement `dma_set_mask()`, `dma_set_coherent_mask()` and
`dma_set_mask_and_coherent()` in the `dma::Device` trait.

Those methods are used to set up the device's DMA addressing
capabilities.

Reviewed-by: Abdiel Janulgue <abdiel.janulgue@gmail.com>
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20250716150354.51081-3-dakr@kernel.org
[ Add DmaMask::try_new(). - Danilo ]
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2025-07-19 19:36:51 +02:00
Peter Zijlstra
ba28549bad Locking changes for v6.17:
- General
   - Mark devm_mutex_init() as __must_check
   - Add #[must_use] to Lock::try_lock()
   - Remove OWNER_SPINNABLE in rwsem
   - Remove redundant #ifdefs in mutex
 - Lockdep
   - Avoid returning struct in lock_stats()
   - Change `static const` into enum for LOCKF_*_IRQ_*
   - Temporarily use synchronize_rcu_expedited() in
     lockdep_unregister_key() to speed things up.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEj5IosQTPz8XU1wRHSXnow7UH+rgFAmh3tqQACgkQSXnow7UH
 +rg48QgAn3bwSZzT+atlRW9czjiSzCjEIztI7NKZTHGu1ogzzhoE3EWHnnzzJTnO
 NkigQGTdJxsAitk0+p3J/wPFmijfHQ71MML/ll0SR2XFotzGlqg9B1ABuGbculKx
 oR5iUE+Zb+7HyypO4TnDlgFEJNAAl8EWc/Iv5mYYX4ZNh5tJgGS2sYtoM+95w5XU
 2mndaEU4rk1rkHJoowSF7pjqBwZgKdr+OfXcvhNHnj4aQxcKa/2FJ8CAhavzKIpF
 bEZFVWoguRU85G5O88qsxKc5OhxKsk2Qpbkso/bbVvlDG5jLFHCBnWlVxp06TuQk
 W5VlnsZ0mgUs9F49ZKAqfIWiJ3HNXA==
 =KYlP
 -----END PGP SIGNATURE-----

Merge tag 'lockdep-for-tip.2025.07.16' of git://git.kernel.org/pub/scm/linux/kernel/git/boqun/linux into locking/core

Locking changes for v6.17:

- General
  - Mark devm_mutex_init() as __must_check
  - Add #[must_use] to Lock::try_lock()
  - Remove OWNER_SPINNABLE in rwsem
  - Remove redundant #ifdefs in mutex
- Lockdep
  - Avoid returning struct in lock_stats()
  - Change `static const` into enum for LOCKF_*_IRQ_*
  - Temporarily use synchronize_rcu_expedited() in
    lockdep_unregister_key() to speed things up.

Signed-off-by: Peter Zijlstra <peterz@infradead.org>
2025-07-19 19:25:53 +02:00
Danilo Krummrich
d06d5f66f5 rust: dma: implement dma::Device trait
Add a trait that defines the DMA specific methods of devices.

The `dma::Device` trait is to be implemented by bus device
representations, where the underlying bus is capable of DMA, such as
`pci::Device` or `platform::Device`.

Reviewed-by: Abdiel Janulgue <abdiel.janulgue@gmail.com>
Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/20250716150354.51081-2-dakr@kernel.org
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2025-07-19 19:05:48 +02:00
Linus Torvalds
c64004df89 cgroup: Fixes for v6.16-rc6
An earlier commit to suppress a warning introduced a race condition where
 tasks can escape cgroup1 freezer. Revert the commit and simply remove the
 warning which was spurious to begin with.
 -----BEGIN PGP SIGNATURE-----
 
 iIQEABYKACwWIQTfIjM1kS57o3GsC/uxYfJx3gVYGQUCaHvMvw4cdGpAa2VybmVs
 Lm9yZwAKCRCxYfJx3gVYGadfAP0cT4QXwtw0VXyiNr5PMqxQ74rYsngJ+NevRbod
 fK6hIwD/T+owQc/ivYp5/N/XUgpT+Ixp7YRj2RIzQbL6SPjzOwE=
 =IlrN
 -----END PGP SIGNATURE-----

Merge tag 'cgroup-for-6.16-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup

Pull cgroup fixes from Tejun Heo:
 "An earlier commit to suppress a warning introduced a race condition
  where tasks can escape cgroup1 freezer. Revert the commit and simply
  remove the warning which was spurious to begin with"

* tag 'cgroup-for-6.16-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
  Revert "cgroup_freezer: cgroup_freezing: Check if not frozen"
  sched,freezer: Remove unnecessary warning in __thaw_task
2025-07-19 10:00:47 -07:00
Linus Torvalds
bd4a1567b6 hwmon fixes for v6.16-rc7
- corsair-cpro: Validate the size of the received input buffer
 
 - ina238: Report energy in microjoules as expected by the ABI
 
 - pmbus/ucd9000: Fixed GPIO functionality
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiHPvMQj9QTOCiqgVyx8mb86fmYEFAmh6fDIACgkQyx8mb86f
 mYERhQ//SIRTPBjPlfoiiI3pS47jiuP+lfldD+/Er/KLH/F/Hj047YuuHf4Ep1Xe
 lhw19FPF8/5q6q94umNebGc31WHdbB8ErijzxC2DHb2IebSpy3LDprdKEOnhV6Ic
 dwL2vVcf/n2dmeWzKrM0lGcnSlKyZw2YFEGm3mcWXI2emzqIbxZhcq4VWenhU1a2
 dNy8E3ZIg9s3zxlrtOsinbzMMvkbq5glnKqEr/cq4HmnAHi82KZdBBjGZHpsksbe
 9rQqxsf0Ciiv7ftMiQa2nQrpkXHmafMnpgcQ1deKnW92iwbKJWKo6pLfFD08OHVn
 lXR3uP4uge58ot88+1ECwffjFbT41BtOnZPx7H16wxl0k+z+Ii0mAqwiU6o9ftuV
 aaSwEmncMLWuh4K5SGE6zAFMlp5Zv4UyydBvBU1vwvcCvlvxS2xkauI/c/JzuhEZ
 K4h+ZVfrynHVlLX2tzIcO1L4gnQTbt9TfZil7o8UCekD/Xr9fyheEypAImLCio30
 orkmZrplMoLW+0X8ymhC27DCN8FWZX2Oc+GbdfIt/BNh/i/gkwxAUdSEPr1J3OD0
 DHwRViKXKAYUohBKxRzjdfcxEy/NMzfB6G60CQp1+tt87RyLFshkrD3QFxpdF5SK
 NrpXB4twg2/Gf86SjKDFalPh8DyF7Q0jahxvsaLEHVvLUOl3drc=
 =Ii5g
 -----END PGP SIGNATURE-----

Merge tag 'hwmon-for-v6.16-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

Pull hwmon fixes from Guenter Roeck:

 - corsair-cpro: Validate the size of the received input buffer

 - ina238: Report energy in microjoules as expected by the ABI

 - pmbus/ucd9000: Fixed GPIO functionality

* tag 'hwmon-for-v6.16-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
  hwmon: (pmbus/ucd9000) Fix error in ucd9000_gpio_set
  hwmon: (ina238) Report energy in microjoules
  hwmon: (corsair-cpro) Validate the size of the received input buffer
2025-07-19 09:51:01 -07:00
Linus Torvalds
acc0bac1c6 Rust fixes for v6.16 (2nd)
Toolchain and infrastructure:
 
  - Fix build and modpost confusion for the upcoming Rust 1.89.0 release.
 
  - Clean objtool warning for the upcoming Rust 1.89.0 release by adding
    one more noreturn function.
 
 'kernel' crate:
 
  - Fix build error when using generics in the 'try_{,pin_}init!' macros.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPjU5OPd5QIZ9jqqOGXyLc2htIW0FAmh61wEACgkQGXyLc2ht
 IW1YRBAAy9DnnDoRkH/RS2KJK7FF6iEDfF/ny0d4Fq2bISt8v2TDLYOvm1xkOKx3
 xQKb8SMw3Pcr2coze/CyOp67qHHF7Ff403gD8/e7sbfVA3Ny8iMT26FyipsdZENK
 KPDxBSIhrB2MFBswr1n/wQgTClYnW9yMX8FsLfZxFL9ELvluOpkS7RE67NF0yDfi
 NYUjr6NG7SD1fqLXJi8ekQNQDIQzj+eLFf40AE131SS8+bbrOdFVxSd/Hdx6C6qc
 8GWzE5ptlqWdaJWAfHRKt9iKvRli5maBJzM0z0ZQb/LOfK9MdcHnEDzEpzD91XA0
 rNq8fWNApfOrNfhz2FZJBYiZyOJtps0xkTBCfHMhafwMrVFLw0ghBccfWNd1P6Ly
 OSKc9xhyhs57rE75c/m8Sykta2ca/UCU9YZi7eWGOVKaMOoQMSJVF1qKx0pJpbH4
 +lr11S2hV4bm5E4v3MyziarYyNdh3W3diUN37Zl2JTVyDt2SwTT4kM/oKiDBvJTA
 hm1388zskz886yRtHO6f2hT1/k5eX1MgxGyiQQyLdONr78CNDSNcc1kqhvfCK/lF
 wtjvddecArt9/J5CwdfxLIGxQsB2FerMbpRW8+h0S3bMQC2ezg6CexzlYgR6ADdf
 4T7w/LJu58BL0e2UPoW7hgNW6wjtUf3go7hn16UFN3/S69eS2vQ=
 =mz3t
 -----END PGP SIGNATURE-----

Merge tag 'rust-fixes-6.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux

Pull Rust fixes from Miguel Ojeda:
 "Toolchain and infrastructure:

   - Fix build and modpost confusion for the upcoming Rust 1.89.0
     release

   - Clean objtool warning for the upcoming Rust 1.89.0 release by
     adding one more noreturn function

  'kernel' crate:

   - Fix build error when using generics in the 'try_{,pin_}init!'
     macros"

* tag 'rust-fixes-6.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux:
  rust: use `#[used(compiler)]` to fix build and `modpost` with Rust >= 1.89.0
  objtool/rust: add one more `noreturn` Rust function for Rust 1.89.0
  rust: init: Fix generics in *_init! macros
2025-07-19 09:22:26 -07:00
Nithyanantham Paramasivam
d29591d5b5 wifi: ath12k: Advertise encapsulation/decapsulation offload support to mac80211
Currently, the mac80211 layer handles construction and parsing
of 802.11 headers during packet transmission and reception.
Offloading encapsulation and decapsulation to hardware can
significantly enhance performance. Check the service bit to determine
if the firmware supports Ethernet offload. If supported, advertise the
capability to mac80211 to bypass software-based 802.11 header
processing.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00217-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Signed-off-by: Nithyanantham Paramasivam <nithyanantham.paramasivam@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20250718025513.32982-4-nithyanantham.paramasivam@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
2025-07-19 09:14:45 -07:00
Nithyanantham Paramasivam
981050b918 wifi: ath12k: Fix TX status reporting to mac80211 when offload is enabled
Currently, the ath12k driver supports only the native Wi-Fi
frame format. In this mode, the ieee80211_tx_status() function
works correctly to report transmission status to mac80211, as
it retrieves station information using sta_info_get_by_addrs().

However, this method is not applicable for Ethernet-converted
packets, since sta_info_get_by_addrs() cannot extract station
information from such formats.

Retrieve station information using ath12k_peer_find_by_id() to
support all frame formats, including native Wi-Fi, raw, and Ethernet.
Report transmission status using ieee80211_tx_status_ext(), and
include rate information as part of the datapath TX status report.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00217-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Signed-off-by: Nithyanantham Paramasivam <nithyanantham.paramasivam@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20250718025513.32982-3-nithyanantham.paramasivam@oss.qualcomm.com
[changed instances of { 0 } to {}]
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
2025-07-19 09:14:45 -07:00
Michal Koutný
646faf36d7 cgroup: Add compatibility option for content of /proc/cgroups
/proc/cgroups lists only v1 controllers by default, however, this is
only enforced since the commit af000ce852 ("cgroup: Do not report
unavailable v1 controllers in /proc/cgroups") and there is software in
the wild that uses content of /proc/cgroups to decide on availability of
v2 (sic) controllers.

Add a boottime param that can bring back the previous behavior for
setups where the check in the software cannot be changed and it causes
e.g. unintended OOMs.

Also, this patch takes out cgrp_v1_visible from cgroup1_subsys_absent()
guard since it's only important to check which hierarchy (v1 vs v2) the
subsys is attached to. This has no effect on the printed message but
the code is cleaner since cgrp_v1_visible is really about mounted
hierarchies, not the content of /proc/cgroups.

Link: https://lore.kernel.org/r/b26b60b7d0d2a5ecfd2f3c45f95f32922ed24686.camel@decadent.org.uk
Fixes: af000ce852 ("cgroup: Do not report unavailable v1 controllers in /proc/cgroups")
Fixes: a0ab145322 ("cgroup: Print message when /proc/cgroups is read on v2-only system")
Signed-off-by: Michal Koutný <mkoutny@suse.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2025-07-19 06:14:44 -10:00
Nithyanantham Paramasivam
192c8e9a13 wifi: ath12k: Fix the handling of TX packets in Ethernet mode
Currently, in the transmit (TX) direction, EAPOL, QoS NULL,
and multicast frames are sent in native Wi-Fi (802.11) format.
However, when the virtual interface is configured in Ethernet
mode, transmission fails for packets enqueued in native Wi-fi format.

To address this issue, the firmware should be instructed to
treat these packets as RAW type packets, ensuring proper
handling even when the interface operates in Ethernet mode.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00217-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3

Signed-off-by: Nithyanantham Paramasivam <nithyanantham.paramasivam@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20250718025513.32982-2-nithyanantham.paramasivam@oss.qualcomm.com
[fix indentation]
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
2025-07-19 09:14:44 -07:00
Dan Carpenter
5607f5ed3c gpio: sysfs: Fix an end of loop test in gpiod_unexport()
The test for "if (!desc_data)" does not work correctly because the list
iterator in a list_for_each_entry() loop is always non-NULL. If we don't
exit via a break, then it points to invalid memory.  Instead, use a tmp
variable for the list iterator and only set the "desc_data" when we have
found a match.

Fixes: 1cd53df733 ("gpio: sysfs: don't look up exported lines as class devices")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/747545bf-05f0-4f89-ba77-cb96bf9041f1@sabinyo.mountain
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2025-07-19 18:06:47 +02:00
Bartosz Golaszewski
0bbd90c2c6 pinctrl: ingenic: use pinmux_generic_add_pinfunction()
Instead of passing individual fields of struct pinfunction to
pinmux_generic_add_function(), use pinmux_generic_add_pinfunction() and
pass the entire structure directly.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/20250709-pinctrl-gpio-pinfuncs-v2-7-b6135149c0d9@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-07-19 18:00:28 +02:00
Bartosz Golaszewski
adb9e21052 pinctrl: keembay: use pinmux_generic_add_pinfunction()
Instead of passing individual fields of struct pinfunction to
pinmux_generic_add_function(), use pinmux_generic_add_pinfunction() and
pass the entire structure directly.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250709-pinctrl-gpio-pinfuncs-v2-6-b6135149c0d9@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-07-19 18:00:21 +02:00
Bartosz Golaszewski
8f8fe52c5a pinctrl: mediatek: moore: use pinmux_generic_add_pinfunction()
Instead of passing individual fields of struct pinfunction to
pinmux_generic_add_function(), use pinmux_generic_add_pinfunction() and
pass the entire structure directly.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250709-pinctrl-gpio-pinfuncs-v2-5-b6135149c0d9@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-07-19 18:00:14 +02:00
Bartosz Golaszewski
7d7883db6e pinctrl: airoha: use pinmux_generic_add_pinfunction()
Instead of passing individual fields of struct pinfunction to
pinmux_generic_add_function(), use pinmux_generic_add_pinfunction() and
pass the entire structure directly.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250709-pinctrl-gpio-pinfuncs-v2-4-b6135149c0d9@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-07-19 18:00:06 +02:00
Bartosz Golaszewski
cc154c00a6 pinctrl: equilibrium: use pinmux_generic_add_pinfunction()
Instead of passing individual fields of struct pinfunction to
pinmux_generic_add_function(), use pinmux_generic_add_pinfunction() and
pass the entire structure directly.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250709-pinctrl-gpio-pinfuncs-v2-3-b6135149c0d9@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-07-19 17:59:57 +02:00
Bartosz Golaszewski
431b68ae73 pinctrl: provide pinmux_generic_add_pinfunction()
Several drivers call pinmux_generic_add_function() passing it the
contents of struct pinfunction as first three arguments. We can make
this shorter by simply providing an interface allowing to pass the
address of struct pinfunction directly when adding a new function.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250709-pinctrl-gpio-pinfuncs-v2-2-b6135149c0d9@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-07-19 17:59:48 +02:00
Bartosz Golaszewski
dd47155a0e pinctrl: pinmux: open-code PINCTRL_FUNCTION_DESC()
This macro is only used in one place and pin function descriptors should
only be created by pinmux core so there's no point in exposing it to
other pinctrl users. Remove the macro and hand-code its functionality.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/20250709-pinctrl-gpio-pinfuncs-v2-1-b6135149c0d9@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-07-19 17:59:35 +02:00
Linus Torvalds
1c6aa1121e vfs-6.16-rc7.fixes
-----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCaHt3nAAKCRCRxhvAZXjc
 ojOmAP9nBSXSP2YvyUWPuKJc/wra27gRSEOQjXQS4j0ay6xLbAD/bO3AKMOWAUya
 EnUzZDe29z7TbnGW1PlE93cX9oXWjQc=
 =Gt4r
 -----END PGP SIGNATURE-----

Merge tag 'vfs-6.16-rc7.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull vfs fixes from Christian Brauner:

 - Fix a memory leak in fcntl_dirnotify()

 - Raise SB_I_NOEXEC on secrement superblock instead of messing with
   flags on the mount

 - Add fsdevel and block mailing lists to uio entry. We had a few
   instances were very questionable stuff was added without either block
   or the VFS being aware of it

 - Fix netfs copy-to-cache so that it performs collection with
   ceph+fscache

 - Fix netfs race between cache write completion and ALL_QUEUED being
   set

 - Verify the inode mode when loading entries from disk in isofs

 - Avoid state_lock in iomap_set_range_uptodate()

 - Fix PIDFD_INFO_COREDUMP check in PIDFD_GET_INFO ioctl

 - Fix the incorrect return value in __cachefiles_write()

* tag 'vfs-6.16-rc7.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
  MAINTAINERS: add block and fsdevel lists to iov_iter
  netfs: Fix race between cache write completion and ALL_QUEUED being set
  netfs: Fix copy-to-cache so that it performs collection with ceph+fscache
  fix a leak in fcntl_dirnotify()
  iomap: avoid unnecessary ifs_set_range_uptodate() with locks
  isofs: Verify inode mode when loading from disk
  cachefiles: Fix the incorrect return value in __cachefiles_write()
  secretmem: use SB_I_NOEXEC
  coredump: fix PIDFD_INFO_COREDUMP ioctl check
2025-07-19 08:47:59 -07:00
Bartosz Golaszewski
63149542dc pinctrl: ma35: use new GPIO line value setter callbacks
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/20250717125758.53141-1-brgl@bgdev.pl
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2025-07-19 17:36:40 +02:00
Mickaël Salaün
6803b6ebb8
landlock: Fix cosmetic change
This line removal should not be there and it makes it more difficult to
backport the following patch.

Cc: Günther Noack <gnoack@google.com>
Cc: Konstantin Meskhidze <konstantin.meskhidze@huawei.com>
Fixes: 7a11275c37 ("landlock: Refactor layer helpers")
Link: https://lore.kernel.org/r/20250719104204.545188-2-mic@digikod.net
Signed-off-by: Mickaël Salaün <mic@digikod.net>
2025-07-19 12:44:16 +02:00
Alexander Usyskin
631ae0c010 mei: more prints with client prefix
Use client-aware print macro instead of usual device print in more
places to expand debug-ability.
The client-aware print macro prefixes the usual device print with
current connection endpoints.

Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Link: https://lore.kernel.org/r/20250717141112.1696482-3-alexander.usyskin@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-19 09:57:55 +02:00
Alexander Usyskin
3fd97f2292 mei: bus: use cldev in prints
For unifomity, print using client device on bus where possible.

Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Link: https://lore.kernel.org/r/20250717141112.1696482-2-alexander.usyskin@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-19 09:57:53 +02:00
Greg Kroah-Hartman
34120f7fa5 IIO: New device support, features, late breaking fixes and cleanup for 6.17
The normal mixed bag. A few more fixes than usual as I failed to send
 them out earlier.
 
 New device support
 ==================
 
 adi,ad4080
 - New driver for this high speed ADC. Includes extensions to iio-backends
   necessary to support filter config, variable data lands and data
   alignment control.
 adi,ad4170-4
 - New driver for this 24-bit very feature rich ADC suited for weigh scale
   and thermocouple applications.
 adi,ad7405
 - New driver for this single channel isolated ADC with backend support
   (adi-axi-adc)
 google,cros_ec_activity
 - Add activity detection to the existing set of cros_ec drivers covering
   both human body and significant motion detection.
 mediatek,mt6359
 - Add support for MT6363 and MT6373 PMIC Auxiliary ADCs.
 nicera,d3-323-aa
 - New driver for this configurable Passive InfraRed sensor.
 
 Device ID only
 ==============
 
 mediatek,mt7981-auxadc
 - Add ID to mt2701 driver as fully compatible with mt7986-auxadc.
 rohm,bu79100g
 - Add ID to ad7476 driver as fully compatible with TI ADS7866.
 
 Features
 ========
 Core
 - New in_voltageY_convdelay to allow for devices to control timing
   offsets between sampling different channels.
 adi,ad-sigma-delta-library
 - Support SPI offload (later fix for missing Kconfig dependency)
 adi,ad4851
 - SPI 3-wire support.
 adi,ad7606
 - Power supply control.
 - convdelay and calibbias support for calibration purposes.
 - gain calibration support based on external filter resistance provided
   from device tree.
 adi,ad7768-1
 - Add output regulator for VCM output, typically used for preconditioning
   circuits.
 - Add gpio controller for the 4 GPIOs.
 - Multiple scan type support to enable 16-bit modes.
 - Support synchronization over SPI.
 - Filter type and oversampling ratio control.
 - Low pass filter cut off read only attribute.
 adi,adxl313
 - FIFO support
 - DC activity, inactivity detection with power-save on inactivity
 - AC coupled activity detection
 - Documentation for this complex driver.
 - debugfs register access.
 adi,adxl345
 - Sampling frequency and sensor range controls.
 bosch,bmi270
 - Add step counter support.
 invensense,icm42600
 - Wake on motion support.
 
 Cleanup and fixes
 =================
 
 backend
 - Drop unused parameter from iio_backend_ovesampling_ratio_set()
 docs
 - Fix ABI docs around I and Q modifiers.
 treewide
 - Switch remaining drives to use maple tree regcache.
 - Drop use of DRIVER_NAME style definitions when only used in one
   place.
 - Drop unused export.h includes.
 - Use = { } in place of memset in various drivers.
 - Constify various info structures and related.
 - Switch some drivers from array of chip_info structures to individual
   named structures.
 adi,ad-sigma_delta library
 - Fix over allocation of scan buffer. (bits/bytes confusion)
 - Sort includes and apply iwyu principles to ensure sensible set.
 - Use u8 instead of uint8_t
 - Replace hard coded type sizes with sizeof() and BITS_TO_BYTES() as
   appropriate.
 - Factor out setting of read address to reduce duplication.
 - Switch to buffer predisable so error handling on buffer enable
   functions correctly (balanced against postenable).
 adi,ad4000
 - Don't use sift_right() on an unsigned value.
 adi,ad7173
 - Add missing check on spi_setup() succeeding.
 - Simplify clock enable disable code using devm_clk_get_enabled()
 - Fix channel index for syscalib_mode
 - Fix number of configuration slots for some devics.
 - Fix the channel used for calibration.
 - Fix setting ODR up in probe.
 adi,ad7380
 - Drop unused oversampling_ratio getter function call as value never
   used.
 adi,ad7606
 - Exit if invalid dt_schema encountered rather than carrying on with
   unknown config.
 adi,ad7768-1
 - Ensure SYNC_IN pulse is long enough.
 - Switch sampling_frequency_available to read_avail() callback.
 adi,ada4250
 - Ensuring a dma-safe buffer for regmap_bulk_read()
 - Use a local dev variable to simplify code
 - Relax chip ID matching to allow for fallback dt compatibles.
 - Make use of devm_regulator_get_enabled_read_voltage() to replace
   equivalent code.
 - Shuffle elements around in struct to improve logical groupings and
   reduce holes.
 - Use dev_err_probe()
 adi,adxl313
 - Use regcache to reduce traffic.
 - Factor out enabling of measurement.
 adi,adxl345
 - Drop irq from struct as only used locally in code
 - Simplify measure enable function using regmap_update_bits()
 - Replace some magic numbers by units.h defines
 - Simplify interrupt mapping code
 - Simplify FIFO read out.
 adi,axi-dac
 - Factor out code to check for bus free to reduce duplication.
 avago,apds9306
 - Use a helper to get register address in both get and set functions.
 bosch,bmi160+bmi270
 - Ensure triggers suspended and resumed correctly.
 bosch,bmo055
 - Fix theoretical OOB acces to hw_xlate array.
 freescale,vf610
 - Drop -ENOMEM error message as plenty of existing prints if memory
   allocation fails.
 - Use dev_err_probe() and devm_clk_geT_enabled() to simplify probe().
 kionix,kx022a
 - Apply include what you use principles to includes.
 invensense,itg3200
 - Add missing dt-binding for this gyroscope.
 invensense,icm42600
 - Switch from int64_t and similar to s64 and other kernel types.
 - Simplify arrangement of DMA safe buffers and potentially reduce
   structure size a little.
 invensense,mpu6050
 - Reduce duplication in aux read/write code.
 - Use sysfs_emit() to replace scnprintf()
 murata,irsd200
 - Drop duplicate printing of ret in dev_err_probe()
 nxp,lpc3220-adc
 - Add missing clocks property to dt-binding.
 st,spear600
 - Convert dt-binding that got left behind in staging to yaml in the main
   tree.
 st,stm32-adc
 - Use dev_fwnode() rather than directly accessing the of_node.
 vti,sca3000
 - Use direct returns instead of gotos where simple.
 
 Various other minor typo and white space fixes.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAmh572MRHGppYzIzQGtl
 cm5lbC5vcmcACgkQVIU0mcT0FohKfw//Qox/G+yTyTSKX0CleP8sFHt6Dmanr5Zc
 Q0jmsu0W3kVjj+jQlHw/5ivcRJI6/AE6WFjPhrmfG76KhnfiruDuu74P1HbmY4Nz
 5l7M6RgZZAu9WGQ8oSYpPobkZS1H8X2mFYSF1sdQpG7NWE5n1NvUluvnUrb3k5Z9
 qPBa1H6MsLkrzh8FubnwvgzWBGzmXa8hJBth40wlEoGcBIzWuqhybnts5levWUcq
 /57d+YYscFR3VrVXWu9PWxWVTdA8LElOmPGf++4ftpLRxuwtlrQ/9YJsgwr+Wm6+
 6l+lc3qQ9y6WZahqCwoqg8uVoGaY17NOjlOTZGwvOTEsX/kNnsg2XUMWl7azSRKk
 8pfJV3jM8HgKJx70c5owdjIPl++3eo9PKLwosOOMm2T+f0jKdeJGIe8ziaEvy9nP
 JcgsI3Q09lopr96OMB56JtAyx9tbtt8wLydQT6SpqNJiDNJTiX0kr0TBp9zHnlS9
 tOfkKB/G9/UqsOv0uiZ0H/fqYK4T0G71Gfuc2Cbq+YMXEoIzTDrcI8OVpOxzzC/s
 i73CIy6fsfSKcPNna889ukWE3pIqHhMhcVYmYS9Pf00YuhZvedpZ7B+vRQa/sqe3
 4zGxPCScY7N0MyWDOKRVV2v4tCNtW3WeBVJjPc23WchP9XvccrBe23lH6iK/TnB6
 J7r11JYzOkY=
 =sY2q
 -----END PGP SIGNATURE-----

Merge tag 'iio-for-6.17a' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio into char-misc-next

Jonathan writes:

IIO: New device support, features, late breaking fixes and cleanup for 6.17

The normal mixed bag. A few more fixes than usual as I failed to send
them out earlier.

New device support
==================

adi,ad4080
- New driver for this high speed ADC. Includes extensions to iio-backends
  necessary to support filter config, variable data lands and data
  alignment control.
adi,ad4170-4
- New driver for this 24-bit very feature rich ADC suited for weigh scale
  and thermocouple applications.
adi,ad7405
- New driver for this single channel isolated ADC with backend support
  (adi-axi-adc)
google,cros_ec_activity
- Add activity detection to the existing set of cros_ec drivers covering
  both human body and significant motion detection.
mediatek,mt6359
- Add support for MT6363 and MT6373 PMIC Auxiliary ADCs.
nicera,d3-323-aa
- New driver for this configurable Passive InfraRed sensor.

Device ID only
==============

mediatek,mt7981-auxadc
- Add ID to mt2701 driver as fully compatible with mt7986-auxadc.
rohm,bu79100g
- Add ID to ad7476 driver as fully compatible with TI ADS7866.

Features
========
Core
- New in_voltageY_convdelay to allow for devices to control timing
  offsets between sampling different channels.
adi,ad-sigma-delta-library
- Support SPI offload (later fix for missing Kconfig dependency)
adi,ad4851
- SPI 3-wire support.
adi,ad7606
- Power supply control.
- convdelay and calibbias support for calibration purposes.
- gain calibration support based on external filter resistance provided
  from device tree.
adi,ad7768-1
- Add output regulator for VCM output, typically used for preconditioning
  circuits.
- Add gpio controller for the 4 GPIOs.
- Multiple scan type support to enable 16-bit modes.
- Support synchronization over SPI.
- Filter type and oversampling ratio control.
- Low pass filter cut off read only attribute.
adi,adxl313
- FIFO support
- DC activity, inactivity detection with power-save on inactivity
- AC coupled activity detection
- Documentation for this complex driver.
- debugfs register access.
adi,adxl345
- Sampling frequency and sensor range controls.
bosch,bmi270
- Add step counter support.
invensense,icm42600
- Wake on motion support.

Cleanup and fixes
=================

backend
- Drop unused parameter from iio_backend_ovesampling_ratio_set()
docs
- Fix ABI docs around I and Q modifiers.
treewide
- Switch remaining drives to use maple tree regcache.
- Drop use of DRIVER_NAME style definitions when only used in one
  place.
- Drop unused export.h includes.
- Use = { } in place of memset in various drivers.
- Constify various info structures and related.
- Switch some drivers from array of chip_info structures to individual
  named structures.
adi,ad-sigma_delta library
- Fix over allocation of scan buffer. (bits/bytes confusion)
- Sort includes and apply iwyu principles to ensure sensible set.
- Use u8 instead of uint8_t
- Replace hard coded type sizes with sizeof() and BITS_TO_BYTES() as
  appropriate.
- Factor out setting of read address to reduce duplication.
- Switch to buffer predisable so error handling on buffer enable
  functions correctly (balanced against postenable).
adi,ad4000
- Don't use sift_right() on an unsigned value.
adi,ad7173
- Add missing check on spi_setup() succeeding.
- Simplify clock enable disable code using devm_clk_get_enabled()
- Fix channel index for syscalib_mode
- Fix number of configuration slots for some devics.
- Fix the channel used for calibration.
- Fix setting ODR up in probe.
adi,ad7380
- Drop unused oversampling_ratio getter function call as value never
  used.
adi,ad7606
- Exit if invalid dt_schema encountered rather than carrying on with
  unknown config.
adi,ad7768-1
- Ensure SYNC_IN pulse is long enough.
- Switch sampling_frequency_available to read_avail() callback.
adi,ada4250
- Ensuring a dma-safe buffer for regmap_bulk_read()
- Use a local dev variable to simplify code
- Relax chip ID matching to allow for fallback dt compatibles.
- Make use of devm_regulator_get_enabled_read_voltage() to replace
  equivalent code.
- Shuffle elements around in struct to improve logical groupings and
  reduce holes.
- Use dev_err_probe()
adi,adxl313
- Use regcache to reduce traffic.
- Factor out enabling of measurement.
adi,adxl345
- Drop irq from struct as only used locally in code
- Simplify measure enable function using regmap_update_bits()
- Replace some magic numbers by units.h defines
- Simplify interrupt mapping code
- Simplify FIFO read out.
adi,axi-dac
- Factor out code to check for bus free to reduce duplication.
avago,apds9306
- Use a helper to get register address in both get and set functions.
bosch,bmi160+bmi270
- Ensure triggers suspended and resumed correctly.
bosch,bmo055
- Fix theoretical OOB acces to hw_xlate array.
freescale,vf610
- Drop -ENOMEM error message as plenty of existing prints if memory
  allocation fails.
- Use dev_err_probe() and devm_clk_geT_enabled() to simplify probe().
kionix,kx022a
- Apply include what you use principles to includes.
invensense,itg3200
- Add missing dt-binding for this gyroscope.
invensense,icm42600
- Switch from int64_t and similar to s64 and other kernel types.
- Simplify arrangement of DMA safe buffers and potentially reduce
  structure size a little.
invensense,mpu6050
- Reduce duplication in aux read/write code.
- Use sysfs_emit() to replace scnprintf()
murata,irsd200
- Drop duplicate printing of ret in dev_err_probe()
nxp,lpc3220-adc
- Add missing clocks property to dt-binding.
st,spear600
- Convert dt-binding that got left behind in staging to yaml in the main
  tree.
st,stm32-adc
- Use dev_fwnode() rather than directly accessing the of_node.
vti,sca3000
- Use direct returns instead of gotos where simple.

Various other minor typo and white space fixes.

* tag 'iio-for-6.17a' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio: (201 commits)
  iio: adc: ad_sigma_delta: Select IIO_BUFFER_DMAENGINE and SPI_OFFLOAD
  iio: adc: ad7173: fix setting ODR in probe
  iio: adc: ad7173: fix calibration channel
  iio: adc: ad7173: fix num_slots
  iio: adc: ad7173: fix channels index for syscalib_mode
  iio: adc: ad_sigma_delta: change to buffer predisable
  iio: ABI: fix correctness of I and Q modifiers
  iio: Add driver for Nicera D3-323-AA PIR sensor
  dt-bindings: iio: proximity: Add Nicera D3-323-AA PIR sensor
  dt-bindings: vendor-prefixes: Add Nicera
  iio: dac: vf610: Simplify with devm_clk_get_enabled()
  iio: adc: vf610: Simplify with dev_err_probe
  iio: adc: vf610: Drop -ENOMEM error message
  iio: imu: bno055: make bno055_sysfs_attr const
  iio: imu: bno055: fix OOB access of hw_xlate array
  dt-bindings: iio: adc: Add support for MT7981
  iio: accel: kionix-kx022a: Apply approximate iwyu principles to includes
  iio: adc: ad4170-4: Add support for weigh scale, thermocouple, and RTD sens
  iio: adc: ad4170-4: Add support for internal temperature sensor
  iio: adc: ad4170-4: Add GPIO controller support
  ...
2025-07-19 09:42:35 +02:00
Greg Kroah-Hartman
c7f37f8f3b FPGA Manager changes for 6.17-rc1
- Marek's change fixes the incorrect use of sgtable calls.
 
 All patches have been reviewed on the mailing list, and have been in the
 last linux-next releases (as part of our for-next branch).
 
 Signed-off-by: Xu Yilun <yilun.xu@intel.com>
 -----BEGIN PGP SIGNATURE-----
 
 iIkEABYIADEWIQSgSJpClIeaArXyudb8twOBpKCM2gUCaHfSThMceWlsdW4ueHVA
 aW50ZWwuY29tAAoJEPy3A4GkoIzavHMA/j/jKRa+IK6ElGlnAcknbKn9fZWmIrxB
 thkLwV49jGdqAP9p4P+NiCY5nUYfA/erlSyIs8WM50V51NRikRKXjjwwDQ==
 =TDKf
 -----END PGP SIGNATURE-----

Merge tag 'fpga-for-6.17-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/fpga/linux-fpga into char-misc-next

Xu writes:

FPGA Manager changes for 6.17-rc1

- Marek's change fixes the incorrect use of sgtable calls.

All patches have been reviewed on the mailing list, and have been in the
last linux-next releases (as part of our for-next branch).

Signed-off-by: Xu Yilun <yilun.xu@intel.com>

* tag 'fpga-for-6.17-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/fpga/linux-fpga:
  zynq_fpga: use sgtable-based scatterlist wrappers
2025-07-19 09:41:06 +02:00
Greg Kroah-Hartman
60c46a0bd3 MHI Host
========
 
 - Make local functions static (as they should be).
 
 - Fix the modem name for Foxconn T99W640 modem.
 
 - Disable runtime PM for Qcom QDU100 modem as it doesn't support M3 state.
 
 - Fix endianness of BHI vector table to allow MHI to work correctly on big
   endian platforms like PowerPC.
 
 - Add modem support for Semtech EM929x, Foxconn T99W696 and Telit FN990B40
   modems.
 
 - Fix the OOB access to Transfer Ring Element (TRE) by hardening the checks in
   parse_xfer_event().
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEZ6VDKoFIy9ikWCeXVZ8R5v6RzvUFAmh7EngACgkQVZ8R5v6R
 zvV1aQf+OBLFMrCUMH0pr7pR6VxJkqpwkr1Ni/5nFVYVIfXIEWUaMYH0rf/sJHTG
 JPcRNqlSl6lWsq/zZe3nHtV+DXm4JICb2oebE6IrfXNIWkrMrzzoLKDAfIbQ55Wa
 hvmBcAgCIrzBG0cwVFBZbhsUUnT1DDQcxGTrG2iwciI23B0K0Lywxtq0eMf0uOKK
 EUxrXNelBfp23ZhGPwz9N97F6b547indMmc0XTHysNIvM+qvGsgbFWYpFj2JuOf8
 wMP7TYTm0Jb5nflu8sVTUSYqkrLIaywVKXbhWuCoUxC7fzvRG85tMWjjK0CMkyt+
 RhKz8OirkGR8mTmA4XLvNCgHwBvq4Q==
 =H1H0
 -----END PGP SIGNATURE-----

Merge tag 'mhi-for-v6.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mani/mhi into char-misc-next

Manivannan writes:

MHI Host
========

- Make local functions static (as they should be).

- Fix the modem name for Foxconn T99W640 modem.

- Disable runtime PM for Qcom QDU100 modem as it doesn't support M3 state.

- Fix endianness of BHI vector table to allow MHI to work correctly on big
  endian platforms like PowerPC.

- Add modem support for Semtech EM929x, Foxconn T99W696 and Telit FN990B40
  modems.

- Fix the OOB access to Transfer Ring Element (TRE) by hardening the checks in
  parse_xfer_event().

* tag 'mhi-for-v6.17' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mani/mhi:
  bus: mhi: host: pci_generic: Add Telit FN990B40 modem support
  bus: mhi: host: Detect events pointing to unexpected TREs
  bus: mhi: host: pci_generic: Add Foxconn T99W696 modem
  bus: mhi: host: Use str_true_false() helper
  bus: mhi: host: pci_generic: Add support for EM929x and set MRU to 32768 for better performance.
  bus: mhi: host: Fix endianness of BHI vector table
  bus: mhi: host: pci_generic: Disable runtime PM for QDU100
  bus: mhi: host: pci_generic: Fix the modem name of Foxconn T99W640
  bus: mhi: host: Make local functions static
2025-07-19 09:37:37 +02:00
Linus Torvalds
4871b7cb27 four smb3 client fixes
-----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCgAdFiEE6fsu8pdIjtWE/DpLiiy9cAdyT1EFAmh6+XEACgkQiiy9cAdy
 T1G7TgwAtVHE3Dez70Yz4NcDAS5QPZgK8OTaRlUSSiSmgXMeRvXIzKWNBS+1TZQ6
 Ih4iDJ3VwZ2gINM6egCSCkjxy1Ab02Du4qURa3BLmZ31wjJIK17V8SboUww+3xaT
 xUfUSTKJPJjsqaAbqvWg6zIpwod+zTy27uaUoUitko5ELKMWpBumSxH7vWLq5klr
 AIJgveUASEAmkZGwBr2fqPfdyWkNiPgYo6anSiU05J/Ga7s1RVU9WosevHbSsqAh
 YUaH3N6ZOm6F3LHVYJGrFJVp/313T9FHR/sE+rbf8xAq6TxWWFWZanYcsMQoKy8c
 P/wgWLJgVfNu2tsO7pSoydSpIPov5p0jHXr2erKkUaSnUk42+48Gsb/JS5Ne6u0h
 qkKUdRu6iOuXFvjCq0yfQ+9KQysad/uknNfcRj1EujFArv4qzjDzGpkYckN7uRZL
 s2ENtzd6ljNKwROiyduFmT2WLYxAhivB8XUo1zt2BtlzCEorIIOgjHIcQXzZGc5O
 gwSuxQTf
 =IWDL
 -----END PGP SIGNATURE-----

Merge tag 'v6.16-rc6-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6

Pull smb client fixes from Steve French:

 - fix creating special files to Samba when using SMB3.1.1 POSIX
   Extensions

 - fix incorrect caching on new file creation with directory leases
   enabled

 - two use after free fixes: one in oplock_break and one in async
   decryption

* tag 'v6.16-rc6-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
  Fix SMB311 posix special file creation to servers which do not advertise reparse support
  smb: invalidate and close cached directory when creating child entries
  smb: client: fix use-after-free in crypt_message when using async crypto
  smb: client: fix use-after-free in cifs_oplock_break
2025-07-18 22:32:30 -07:00
Paul E. McKenney
954c0d7412 srcu: Add guards for SRCU-fast readers
This adds the usual scoped_guard(srcu_fast, &my_srcu) and
guard(srcu_fast)(&my_srcu).

Suggested-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Neeraj Upadhyay (AMD) <neeraj.upadhyay@kernel.org>
2025-07-19 10:17:56 +05:30
Daniele Palmas
00559ba3ae bus: mhi: host: pci_generic: Add Telit FN990B40 modem support
Add SDX72 based modem Telit FN990B40, reusing FN920C04 configuration.

01:00.0 Unassigned class [ff00]: Qualcomm Device 0309
        Subsystem: Device 1c5d:201a

Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
[mani: added sdx72 in the comment to identify the chipset]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://patch.msgid.link/20250716091836.999364-1-dnlplm@gmail.com
2025-07-19 08:55:02 +05:30
Youssef Samir
5bd398e20f bus: mhi: host: Detect events pointing to unexpected TREs
When a remote device sends a completion event to the host, it contains a
pointer to the consumed TRE. The host uses this pointer to process all of
the TREs between it and the host's local copy of the ring's read pointer.
This works when processing completion for chained transactions, but can
lead to nasty results if the device sends an event for a single-element
transaction with a read pointer that is multiple elements ahead of the
host's read pointer.

For instance, if the host accesses an event ring while the device is
updating it, the pointer inside of the event might still point to an old
TRE. If the host uses the channel's xfer_cb() to directly free the buffer
pointed to by the TRE, the buffer will be double-freed.

This behavior was observed on an ep that used upstream EP stack without
'commit 6f18d174b7 ("bus: mhi: ep: Update read pointer only after buffer
is written")'. Where the device updated the events ring pointer before
updating the event contents, so it left a window where the host was able to
access the stale data the event pointed to, before the device had the
chance to update them. The usual pattern was that the host received an
event pointing to a TRE that is not immediately after the last processed
one, so it got treated as if it was a chained transaction, processing all
of the TREs in between the two read pointers.

This commit aims to harden the host by ensuring transactions where the
event points to a TRE that isn't local_rp + 1 are chained.

Fixes: 1d3173a3ba ("bus: mhi: core: Add support for processing events from client device")
Signed-off-by: Youssef Samir <quic_yabdulra@quicinc.com>
[mani: added stable tag and reworded commit message]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Jeff Hugo <jeff.hugo@oss.qualcomm.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20250714163039.3438985-1-quic_yabdulra@quicinc.com
2025-07-19 08:55:02 +05:30
Slark Xiao
0d63055e14 bus: mhi: host: pci_generic: Add Foxconn T99W696 modem
T99W696 modem is based on Qualcomm SDX61 chipset, which is an economic
version compared to the baseline SDX62/SDX65 chipsets. Add support for it
by introducing a new 'mhi_channel_config'. Since this modem supports the
NMEA channel, a new config is needed.

Signed-off-by: Slark Xiao <slark_xiao@163.com>
[mani: reworded commit message]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://patch.msgid.link/20250528092232.16111-1-slark_xiao@163.com
2025-07-19 08:55:02 +05:30
Yumeng Fang
e99f55e438 bus: mhi: host: Use str_true_false() helper
Remove hard-coded strings by using the str_true_false() helper.

Signed-off-by: Yumeng Fang <fang.yumeng@zte.com.cn>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://patch.msgid.link/20250623202814633ukJqUDLU7BRlLLhvWkbD7@zte.com.cn
2025-07-19 08:55:02 +05:30
Adam Xue
b484fa61ac bus: mhi: host: pci_generic: Add support for EM929x and set MRU to 32768 for better performance.
Add MHI controller config for EM929x. It uses the same configuration
as EM919x. Also set the MRU to 32768 to improve downlink throughput.

02:00.0 Unassigned class [ff00]: Qualcomm Technologies, Inc Device 0308
	Subsystem: Device 18d7:0301

Signed-off-by: Adam Xue <zxue@semtech.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://patch.msgid.link/20250528175943.12739-1-zxue@semtech.com
2025-07-19 08:55:02 +05:30
Alexander Wilhelm
f471578e8b bus: mhi: host: Fix endianness of BHI vector table
On big endian platform like PowerPC, the MHI bus (which is little endian)
does not start properly. The following example shows the error messages by
using QCN9274 WLAN device with ath12k driver:

    ath12k_pci 0001:01:00.0: BAR 0: assigned [mem 0xc00000000-0xc001fffff 64bit]
    ath12k_pci 0001:01:00.0: MSI vectors: 1
    ath12k_pci 0001:01:00.0: Hardware name: qcn9274 hw2.0
    ath12k_pci 0001:01:00.0: failed to set mhi state: POWER_ON(2)
    ath12k_pci 0001:01:00.0: failed to start mhi: -110
    ath12k_pci 0001:01:00.0: failed to power up :-110
    ath12k_pci 0001:01:00.0: failed to create soc core: -110
    ath12k_pci 0001:01:00.0: failed to init core: -110
    ath12k_pci: probe of 0001:01:00.0 failed with error -110

The issue seems to be with the incorrect DMA address/size used for
transferring the firmware image over BHI. So fix it by converting the DMA
address and size of the BHI vector table to little endian format before
sending them to the device.

Fixes: 6cd330ae76 ("bus: mhi: core: Add support for ringing channel/event ring doorbells")
Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
[mani: added stable tag and reworded commit message]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Jeff Hugo <jeff.hugo@oss.qualcomm.com>
Reviewed-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20250519145837.958153-1-alexander.wilhelm@westermo.com
2025-07-19 08:55:02 +05:30
Vivek Pernamitta
0494cf9793 bus: mhi: host: pci_generic: Disable runtime PM for QDU100
The QDU100 device does not support the MHI M3 state, necessitating the
disabling of runtime PM for this device. It is essential to disable
runtime PM if the device does not support M3 state.

Signed-off-by: Vivek Pernamitta <quic_vpernami@quicinc.com>
[mani: Fixed the kdoc comment for no_m3]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
Link: https://patch.msgid.link/20250425-vdev_next-20250411_pm_disable-v4-1-d4870a73ebf9@quicinc.com
2025-07-19 08:55:01 +05:30
Slark Xiao
ae5a342643 bus: mhi: host: pci_generic: Fix the modem name of Foxconn T99W640
T99W640 was mistakenly mentioned as T99W515. T99W515 is a LGA device, not
a M.2 modem device. So correct it's name to avoid name mismatch issue.

Fixes: bf30a75e6e ("bus: mhi: host: Add support for Foxconn SDX72 modems")
Signed-off-by: Slark Xiao <slark_xiao@163.com>
[mani: commit message fixup]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://patch.msgid.link/20250606095019.383992-1-slark_xiao@163.com
2025-07-19 08:55:01 +05:30
Linus Torvalds
27c2570359 This push fixes a buffer overflows in qat and chelsio.
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEn51F/lCuNhUwmDeSxycdCkmxi6cFAmh66A8ACgkQxycdCkmx
 i6f3KA//ZyVL8dK8Az77b7OFXj29nXAAiIdcqoTMQ/YP2b2j3FTk4wEg/nPp4RZ7
 RHfYY8uw8uTPHJ8tQfmDu/eBWlnpRkaahdbkF7s6rPNotnPMdEeJPy+YAD7lkM4j
 pjK7HVgB0/niwd91bgB8D0YSVYRCgB9ccCVoDvq4OdGV+mA5F9nWVFvBlC64ffNS
 Q/Y19+X75ednkQhWb8QJ4Um+Q4EaxZk7bzL+bJ7wEJP6RlkvBuu45PHW7rqhgHdX
 X8xz6i3QfhKNWuE7vgt2ssms/WkOjR6RsmVIWdxbLrXrz594BojyDELEkS+tVsIh
 T650waL1jdFnRykWo8rKd5RMuJdMcjUpDLvULjtco2DV3JrelDKAHQabX4iLFdg5
 xy4edMc0Diku1FC36d0fFLfyAMi8eXk/NABM3ST5aYW2jHZuKBDgdifivE73ecR4
 rM6pGCiozkZe7dKllNdDU+lY7N1maeewhYEVhWn6oN+x9in1C8zGYMMOhdDjFe52
 BeZ1EOj2ycDgItSN7GFufwAFKV6WSYQl25qX9fGz1rJ6wQmuA1hSdeH9fXiaSUAb
 NlB+pZ8pHqWs5qL79YNd0qrtjjKvo59FRT+JmjA7tDx+pyhUEPiJzsahQqwY2arH
 GH3MbDB62PN6x9036wG+XRBl155SCcmQzUZoOQ51y9VBr042cOw=
 =z7vq
 -----END PGP SIGNATURE-----

Merge tag 'v6.16-p7' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

Pull crypto fixes from Herbert Xu:
 "This fixes buffer overflows in qat and chelsio"

* tag 'v6.16-p7' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  crypto: qat - Use crypto_shash_export_core
  crypto: chelsio - Use crypto_shash_export_core
2025-07-18 18:15:21 -07:00
Jakub Kicinski
81e0db8e83 Merge branch 'mlx5-misc-fixes-2025-07-17'
Tariq Toukan says:

====================
mlx5 misc fixes 2025-07-17

This small patchset provides misc bug fixes from the team to the mlx5
driver.
====================

Link: https://patch.msgid.link/1752753970-261832-1-git-send-email-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-07-18 17:33:05 -07:00
Shahar Shitrit
5b4c56ad4d net/mlx5: E-Switch, Fix peer miss rules to use peer eswitch
In the original design, it is assumed local and peer eswitches have the
same number of vfs. However, in new firmware, local and peer eswitches
can have different number of vfs configured by mlxconfig.  In such
configuration, it is incorrect to derive the number of vfs from the
local device's eswitch.

Fix this by updating the peer miss rules add and delete functions to use
the peer device's eswitch and vf count instead of the local device's
information, ensuring correct behavior regardless of vf configuration
differences.

Fixes: ac004b8321 ("net/mlx5e: E-Switch, Add peer miss rules")
Signed-off-by: Shahar Shitrit <shshitrit@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/1752753970-261832-3-git-send-email-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-07-18 17:32:58 -07:00
Chiara Meiohas
3afa3ae3db net/mlx5: Fix memory leak in cmd_exec()
If cmd_exec() is called with callback and mlx5_cmd_invoke() returns an
error, resources allocated in cmd_exec() will not be freed.

Fix the code to release the resources if mlx5_cmd_invoke() returns an
error.

Fixes: f086470122 ("net/mlx5: cmdif, Return value improvements")
Reported-by: Alex Tereshkin <atereshkin@nvidia.com>
Signed-off-by: Chiara Meiohas <cmeiohas@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Vlad Dumitrescu <vdumitrescu@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/1752753970-261832-2-git-send-email-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-07-18 17:32:58 -07:00
Alok Tiwari
4701ee5044 be2net: Use correct byte order and format string for TCP seq and ack_seq
The TCP header fields seq and ack_seq are 32-bit values in network
byte order as (__be32). these fields were earlier printed using
ntohs(), which converts only 16-bit values and produces incorrect
results for 32-bit fields. This patch is changeing the conversion
to ntohl(), ensuring correct interpretation of these sequence numbers.

Notably, the format specifier is updated from %d to %u to reflect the
unsigned nature of these fields.

improves the accuracy of debug log messages for TCP sequence and
acknowledgment numbers during TX timeouts.

Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250717193552.3648791-1-alok.a.tiwari@oracle.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-07-18 17:31:16 -07:00
Florian Fainelli
190ccb8176 net: bcmasp: Add support for re-starting auto-negotiation
Wire-up ethtool_ops::nway_reset to phy_ethtool_nway_reset in order to
support re-starting auto-negotiation.

Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20250717180915.2611890-1-florian.fainelli@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-07-18 17:30:32 -07:00
Jakub Kicinski
e07ba344a4 Merge branch 'net-maintain-netif-vs-dev-prefix-semantics'
Stanislav Fomichev says:

====================
net: maintain netif vs dev prefix semantics

Commit cc34acd577 ("docs: net: document new locking reality")
introduced netif_ vs dev_ function semantics: the former expects locked
netdev, the latter takes care of the locking. We don't strictly
follow this semantics on either side, but there are more dev_xxx handlers
now that don't fit. Rename them to netif_xxx where appropriate. We care only
about driver-visible APIs, don't touch stack-internal routines.

The rest seem to be ok:
  * dev_xdp_prog_count - mostly called by sw drivers (bonding), should not matter
  * dev_get_by_xxx - too many to reasonably cleanup, already have different flavors
  * dev_fetch_sw_netstats - don't need instance lock
  * dev_get_tstats64 - never called directly, only as an ndo callback
  * dev_pick_tx_zero - never called directly, only as an ndo callback
  * dev_add_pack / dev_remove_pack - called early enough (in module init) to not matter
  * dev_get_iflink - mostly called by sw drivers, should not matter
  * dev_fill_forward_path - ditto
  * dev_getbyhwaddr_rcu - ditto
  * dev_getbyhwaddr - ditto
  * dev_getfirstbyhwtype - ditto
  * dev_valid_name - ditto
  * __dev_forward_skb dev_forward_skb dev_queue_xmit_nit - established helpers, no netif vs dev distinction
====================

Link: https://patch.msgid.link/20250717172333.1288349-1-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-07-18 17:27:52 -07:00
Stanislav Fomichev
88d3cec282 net: s/dev_close_many/netif_close_many/
Commit cc34acd577 ("docs: net: document new locking reality")
introduced netif_ vs dev_ function semantics: the former expects locked
netdev, the latter takes care of the locking. We don't strictly
follow this semantics on either side, but there are more dev_xxx handlers
now that don't fit. Rename them to netif_xxx where appropriate.

netif_close_many is used only by vlan/dsa and one mtk driver, so move it into
NETDEV_INTERNAL namespace.

Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
Link: https://patch.msgid.link/20250717172333.1288349-8-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-07-18 17:27:47 -07:00
Stanislav Fomichev
5d4d84618e net: s/dev_set_threaded/netif_set_threaded/
Commit cc34acd577 ("docs: net: document new locking reality")
introduced netif_ vs dev_ function semantics: the former expects locked
netdev, the latter takes care of the locking. We don't strictly
follow this semantics on either side, but there are more dev_xxx handlers
now that don't fit. Rename them to netif_xxx where appropriate.

Note that one dev_set_threaded call still remains in mt76 for debugfs file.

Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
Link: https://patch.msgid.link/20250717172333.1288349-7-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-07-18 17:27:47 -07:00
Stanislav Fomichev
93893a57ef net: s/dev_get_flags/netif_get_flags/
Commit cc34acd577 ("docs: net: document new locking reality")
introduced netif_ vs dev_ function semantics: the former expects locked
netdev, the latter takes care of the locking. We don't strictly
follow this semantics on either side, but there are more dev_xxx handlers
now that don't fit. Rename them to netif_xxx where appropriate.

Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
Link: https://patch.msgid.link/20250717172333.1288349-6-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-07-18 17:27:47 -07:00
Stanislav Fomichev
303a8487a6 net: s/__dev_set_mtu/__netif_set_mtu/
Commit cc34acd577 ("docs: net: document new locking reality")
introduced netif_ vs dev_ function semantics: the former expects locked
netdev, the latter takes care of the locking. We don't strictly
follow this semantics on either side, but there are more dev_xxx handlers
now that don't fit. Rename them to netif_xxx where appropriate.

__netif_set_mtu is used only by bond, so move it into
NETDEV_INTERNAL namespace.

Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
Link: https://patch.msgid.link/20250717172333.1288349-5-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-07-18 17:27:47 -07:00
Stanislav Fomichev
0413a34ef6 net: s/dev_pre_changeaddr_notify/netif_pre_changeaddr_notify/
Commit cc34acd577 ("docs: net: document new locking reality")
introduced netif_ vs dev_ function semantics: the former expects locked
netdev, the latter takes care of the locking. We don't strictly
follow this semantics on either side, but there are more dev_xxx handlers
now that don't fit. Rename them to netif_xxx where appropriate.

netif_pre_changeaddr_notify is used only by ipvlan/bond, so move it into
NETDEV_INTERNAL namespace.

Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
Link: https://patch.msgid.link/20250717172333.1288349-4-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-07-18 17:27:47 -07:00