twx-linux/rust/kernel
Linus Torvalds 72b8944f14 Locking updates for v6.16:
Locking primitives:
 
   - Mark devm_mutex_init() as __must_check and fix drivers
     that didn't check the return code. (Thomas Weißschuh)
 
   - Reorganize <linux/local_lock.h> to better expose the
     internal APIs to local variables. (Sebastian Andrzej Siewior)
 
   - Remove OWNER_SPINNABLE in rwsem (Jinliang Zheng)
 
   - Remove redundant #ifdefs in the mutex code (Ran Xiaokai)
 
 Lockdep:
 
   - Avoid returning struct in lock_stats() (Arnd Bergmann)
 
   - Change `static const` into enum for LOCKF_*_IRQ_*
     (Arnd Bergmann)
 
   - Temporarily use synchronize_rcu_expedited() in
     lockdep_unregister_key() to speed things up.
     (Breno Leitao)
 
 Rust runtime:
 
   - Add #[must_use] to Lock::try_lock() (Jason Devers)
 
 Signed-off-by: Ingo Molnar <mingo@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEBpT5eoXrXCwVQwEKEnMQ0APhK1gFAmiIbzURHG1pbmdvQGtl
 cm5lbC5vcmcACgkQEnMQ0APhK1gxlRAAsnrbMN1yUbGbOh2fr7eQh69nn4VLZhvQ
 n/Q2+ZpvgBQiPhUnYub4n0B03pO6lQO+taiAQ9WTK6VHi7kzIKIx0MPWP5KV9FCY
 NQKQCmRccese0mmWVYccLPjyk6GW8l5gIhRK1vuEYANtLf/XLBYB/ygvE6a8ywNz
 dmt7IzYOIknCuEtapDzcJLBZFHG9mVTT8Kk2A5aqn+XCrxNnKrYyVOH0qw395uBw
 ulVKPJT7FGQ4qLkxfYguNWH5V1ZneN53tJouwqcM7Xpc+ookQFAZel0xlfWpVu+A
 Q2WF3W8GOrS7ER9RzjG0SQF4qYBq60yKPZr3przmjCJFRgFdvEkMEIDvbirl0Gfv
 Y04hMIcovsnh8x0iLTYxkrRxlZB/7jm5uLVJ1B6E19iYBXq1HCPkM51XugDQFxwz
 fDSLblpRZLf9OoWT9NPiiQXpoSLigwOiFdiGimIMQHRbPKCujF2T9w4XpKLLECN4
 UbYGMx/yAGdkTXelSStyru0ZLYhvxP2XMAaUJoMBrjI1ReL2e58Vmp2MqQcuhiuU
 PV5NEt0qhBAjilUrP+vuM/27UihPxcBrVgvriT+wDVrrPiy1t5iJVOKxFcrkbMto
 B+XHFA7z1EglkwGD7HCdoOFU8V3PM6+GNDMqvs5Ey3tifqampEssmYcP3YA6QYBt
 eO7imScWtII=
 =RExf
 -----END PGP SIGNATURE-----

Merge tag 'locking-core-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull locking updates from Ingo Molnar:
 "Locking primitives:

   - Mark devm_mutex_init() as __must_check and fix drivers that didn't
     check the return code (Thomas Weißschuh)

   - Reorganize <linux/local_lock.h> to better expose the internal APIs
     to local variables (Sebastian Andrzej Siewior)

   - Remove OWNER_SPINNABLE in rwsem (Jinliang Zheng)

   - Remove redundant #ifdefs in the mutex code (Ran Xiaokai)

  Lockdep:

   - Avoid returning struct in lock_stats() (Arnd Bergmann)

   - Change `static const` into enum for LOCKF_*_IRQ_* (Arnd Bergmann)

   - Temporarily use synchronize_rcu_expedited() in
     lockdep_unregister_key() to speed things up. (Breno Leitao)

  Rust runtime:

   - Add #[must_use] to Lock::try_lock() (Jason Devers)"

* tag 'locking-core-2025-07-29' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  lockdep: Speed up lockdep_unregister_key() with expedited RCU synchronization
  locking/mutex: Remove redundant #ifdefs
  locking/lockdep: Change 'static const' variables to enum values
  locking/lockdep: Avoid struct return in lock_stats()
  locking/rwsem: Use OWNER_NONSPINNABLE directly instead of OWNER_SPINNABLE
  rust: sync: Add #[must_use] to Lock::try_lock()
  locking/mutex: Mark devm_mutex_init() as __must_check
  leds: lp8860: Check return value of devm_mutex_init()
  spi: spi-nxp-fspi: Check return value of devm_mutex_init()
  local_lock: Move this_cpu_ptr() notation from internal to main header
2025-07-29 18:11:32 -07:00
..
alloc rust: alloc: add missing Markdown code span 2025-05-25 22:58:35 +02:00
block rust: pin-init: change blanket impls for [Pin]Init and add one for Result<T, E> 2025-06-11 21:13:56 +02:00
device rust: device: implement FwNode::is_of_node() 2025-06-25 18:10:12 +02:00
drm Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
fs rust: file: improve safety comments 2025-05-30 07:12:05 +02:00
io rust: io: fix broken intra-doc links to platform::Device 2025-07-22 11:08:59 +02:00
list rust: list: Fix typo much in arc.rs 2025-05-29 23:35:44 +02:00
mm mm: rust: make CONFIG_MMU ifdefs more narrow 2025-05-31 22:46:12 -07:00
net rust: net::phy Change module_phy_driver macro to use module_device_table macro 2025-07-16 23:39:07 +02:00
sync Locking updates for v6.16: 2025-07-29 18:11:32 -07:00
time rust: time: Fix compile error in impl_has_hr_timer macro 2025-06-10 20:11:36 +02:00
.gitignore rust: jump_label: skip formatting generated file 2024-11-20 13:32:42 -05:00
acpi.rs rust: device_id: split out index support into a separate trait 2025-07-16 23:38:21 +02:00
alloc.rs rust: alloc: add missing Markdown code spans 2025-05-25 22:58:35 +02:00
auxiliary.rs rust: device_id: split out index support into a separate trait 2025-07-16 23:38:21 +02:00
block.rs
build_assert.rs rust: add build_error! to the prelude 2025-01-10 00:19:09 +01:00
clk.rs rust: clk: Add initial abstractions 2025-05-19 12:55:40 +05:30
configfs.rs Rust changes for v6.16 2025-06-04 21:18:37 -07:00
cpu.rs device: rust: rename Device::as_ref() to Device::from_raw() 2025-07-16 23:37:49 +02:00
cpufreq.rs Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
cpumask.rs rust: cpumask: Replace MaybeUninit and mem::zeroed with Opaque APIs 2025-07-15 08:31:12 +05:30
cred.rs cred,rust: mark Credential methods inline 2025-03-04 17:07:49 -05:00
device_id.rs rust: device_id: split out index support into a separate trait 2025-07-16 23:38:21 +02:00
device.rs device: rust: rename Device::as_ref() to Device::from_raw() 2025-07-16 23:37:49 +02:00
devres.rs rust: devres: provide an accessor for the device 2025-07-15 14:46:13 +02:00
dma.rs rust: dma: add DMA addressing capabilities 2025-07-19 19:36:51 +02:00
driver.rs rust: device_id: split out index support into a separate trait 2025-07-16 23:38:21 +02:00
error.rs Rust changes for v6.15 2025-03-30 17:03:26 -07:00
faux.rs device: rust: rename Device::as_ref() to Device::from_raw() 2025-07-16 23:37:49 +02:00
firmware.rs rust: use #[used(compiler)] to fix build and modpost with Rust >= 1.89.0 2025-07-14 23:30:44 +02:00
fs.rs rust: file: add Rust abstraction for struct file 2024-09-30 13:02:28 +02:00
generated_arch_static_branch_asm.rs.S rust: jump_label: skip formatting generated file 2024-11-20 13:32:42 -05:00
init.rs rust: init: Fix generics in *_init! macros 2025-06-29 18:30:45 +02:00
io.rs rust: io: mem: add a generic iomem abstraction 2025-07-20 19:43:14 +02:00
ioctl.rs rust: start using the #[expect(...)] attribute 2024-10-07 21:39:57 +02:00
jump_label.rs rust: jump_label: skip formatting generated file 2024-11-20 13:32:42 -05:00
kunit.rs rust: use #[used(compiler)] to fix build and modpost with Rust >= 1.89.0 2025-07-14 23:30:44 +02:00
lib.rs Scheduler updates for v6.17: 2025-07-29 17:42:52 -07:00
list.rs rust: list: Add examples for linked list 2025-05-22 12:00:52 +02:00
miscdevice.rs Driver core changes for 6.17-rc1 2025-07-29 12:15:39 -07:00
mm.rs mm: rust: make CONFIG_MMU ifdefs more narrow 2025-05-31 22:46:12 -07:00
net.rs
of.rs rust: device_id: split out index support into a separate trait 2025-07-16 23:38:21 +02:00
opp.rs rust: opp: use c_* types via kernel prelude 2025-06-23 09:52:45 +05:30
page.rs rust: page: optimize rust symbol generation for Page 2025-05-12 00:20:25 +02:00
pci.rs rust: pci: implement the dma::Device trait 2025-07-19 19:37:17 +02:00
pid_namespace.rs rust: add PidNamespace 2024-10-08 15:44:36 +02:00
platform.rs rust: platform: add resource accessors 2025-07-20 19:43:14 +02:00
prelude.rs rust: add kunit_tests to the prelude 2025-05-27 20:09:59 +02:00
print.rs rust: replace rustdoc references to alloc::format 2025-05-12 00:20:25 +02:00
rbtree.rs rust: retain pointer mut-ness in container_of! 2025-05-28 18:54:09 +02:00
regulator.rs rust: regulator: add a bare minimum regulator abstraction 2025-07-15 15:07:40 +01:00
revocable.rs rust: revocable: support fallible PinInit types 2025-06-28 18:06:52 +02:00
security.rs lsm,rust: reword "destroy" -> "release" in SecurityCtx 2025-03-04 15:44:46 -05:00
seq_file.rs Rust changes for v6.15 2025-03-30 17:03:26 -07:00
sizes.rs rust: sizes: add commonly used constants 2024-08-30 10:27:34 +01:00
static_assert.rs rust: use absolute paths in macros referencing core and kernel 2025-05-23 00:12:14 +02:00
std_vendor.rs rust: convert raw URLs to Markdown autolinks in comments 2025-05-12 00:20:25 +02:00
str.rs rust: str: take advantage of the -> Result support in KUnit #[test]'s 2025-05-27 20:09:59 +02:00
sync.rs rust: completion: implement initial abstraction 2025-06-13 23:46:56 +02:00
task.rs rust: task: Add Rust version of might_sleep() 2025-06-24 15:53:50 -07:00
time.rs rust: time: Introduce Instant type 2025-04-29 15:31:07 +02:00
tracepoint.rs rust: add tracepoint support 2024-11-04 16:21:44 -05:00
transmute.rs rust: kernel: move FromBytes and AsBytes traits to a new transmute module 2024-10-10 00:33:42 +02:00
types.rs rust: implement Wrapper<T> for Opaque<T> 2025-06-28 14:58:08 +02:00
uaccess.rs Alloc changes for v6.16 2025-05-18 20:56:03 +02:00
workqueue.rs rust: workqueue: remove HasWork::OFFSET 2025-05-29 01:34:52 +02:00
xarray.rs rust: xarray: Add an abstraction for XArray 2025-05-01 11:37:59 +02:00