linux/rust/kernel
Miguel Ojeda e8fa0481ea pin-init changes for v6.17
Added:
 
 - 'impl<T, E> [Pin]Init<T, E> for Result<T, E>', so results are now
   (pin-)initializers.
 
 - 'Zeroable::init_zeroed()' delegating to 'init_zeroed()'.
 
 - New 'zeroed()', a safe version of 'mem::zeroed()' and also provide
   it via 'Zeroable::zeroed()'.
 
 - Implement 'Zeroable' for 'Option<&T>' and 'Option<&mut T>'.
 
 - Implement 'Zeroable' for 'Option<[unsafe] [extern "abi"]
   fn(...args...) -> ret>' for '"Rust"' and '"C"' ABIs and up to 20
   arguments.
 
 Changed:
 
 - Blanket impls of 'Init' and 'PinInit' from 'impl<T, E> [Pin]Init<T, E>
   for T' to 'impl<T> [Pin]Init<T> for T'.
 
 - Renamed 'zeroed()' to 'init_zeroed()'.
 
 Upstream dev news:
 
 - More CI improvements to deny warnings, use '--all-targets'. Also check
   the synchronization status of the two '-next' branches in upstream and
   the kernel.
 -----BEGIN PGP SIGNATURE-----
 
 iIgEABYKADAWIQQjEG/HT3UeYLJybLTomd21rZaLygUCaGqd4RIcbG9zc2luQGtl
 cm5lbC5vcmcACgkQ6Jndta2Wi8qKagD/aBH4iwbal0DHbYx36TMfkvunp6pkKAo1
 uu7qbmNwMMwBAKuRb41xA2AvllcYy/aMsb5H00o3iVLOzpMUHNnOFdIJ
 =0DbP
 -----END PGP SIGNATURE-----

Merge tag 'pin-init-v6.17' of https://github.com/Rust-for-Linux/linux into rust-next

Pull pin-init updates from Benno Lossin:
 "Added:

   - 'impl<T, E> [Pin]Init<T, E> for Result<T, E>', so results are now
     (pin-)initializers.

   - 'Zeroable::init_zeroed()' delegating to 'init_zeroed()'.

   - New 'zeroed()', a safe version of 'mem::zeroed()' and also provide
     it via 'Zeroable::zeroed()'.

   - Implement 'Zeroable' for 'Option<&T>' and 'Option<&mut T>'.

   - Implement 'Zeroable' for 'Option<[unsafe] [extern "abi"]
     fn(...args...) -> ret>' for '"Rust"' and '"C"' ABIs and up to 20
     arguments.

  Changed:

   - Blanket impls of 'Init' and 'PinInit' from 'impl<T, E>
     [Pin]Init<T, E> for T' to 'impl<T> [Pin]Init<T> for T'.

   - Renamed 'zeroed()' to 'init_zeroed()'.

  Upstream dev news:

   - More CI improvements to deny warnings, use '--all-targets'. Also
     check the synchronization status of the two '-next' branches in
     upstream and the kernel."

Acked-by: Andreas Hindborg <a.hindborg@kernel.org>

* tag 'pin-init-v6.17' of https://github.com/Rust-for-Linux/linux:
  rust: pin-init: examples, tests: use `ignore` instead of conditionally compiling tests
  rust: init: remove doctest's `Error::from_errno` workaround
  rust: init: re-enable doctests
  rust: pin-init: implement `ZeroableOption` for function pointers with up to 20 arguments
  rust: pin-init: change `impl Zeroable for Option<NonNull<T>>` to `ZeroableOption for NonNull<T>`
  rust: pin-init: implement `ZeroableOption` for `&T` and `&mut T`
  rust: pin-init: add `zeroed()` & `Zeroable::zeroed()` functions
  rust: pin-init: add `Zeroable::init_zeroed`
  rust: pin-init: rename `zeroed` to `init_zeroed`
  rust: pin-init: feature-gate the `stack_init_reuse` test on the `std` feature
  rust: pin-init: examples: pthread_mutex: disable the main test for miri
  rust: pin-init: examples, tests: add conditional compilation in order to compile under any feature combination
  rust: pin-init: change blanket impls for `[Pin]Init` and add one for `Result<T, E>`
  rust: pin-init: improve safety documentation for `impl<T> [Pin]Init<T> for T`
2025-07-13 23:05:14 +02:00
..
alloc rust: enable clippy::ptr_as_ptr lint 2025-06-22 23:08:42 +02:00
block pin-init changes for v6.17 2025-07-13 23:05:14 +02:00
drm rust: enable clippy::as_underscore lint 2025-06-22 23:09:17 +02:00
fs rust: enable clippy::ref_as_ptr lint 2025-06-22 23:09:32 +02:00
list rust: enable clippy::ptr_as_ptr lint 2025-06-22 23:08:42 +02:00
mm rust: enable clippy::as_underscore lint 2025-06-22 23:09:17 +02:00
net rust: enable clippy::cast_lossless lint 2025-06-22 23:09:25 +02:00
sync rust: sync: implement Borrow and BorrowMut for Arc types 2025-07-03 20:46:29 +02:00
time rust: enable clippy::ptr_as_ptr lint 2025-06-22 23:08:42 +02:00
.gitignore rust: jump_label: skip formatting generated file 2024-11-20 13:32:42 -05:00
alloc.rs rust: alloc: add missing Markdown code spans 2025-05-25 22:58:35 +02:00
auxiliary.rs Rust changes for v6.16 2025-06-04 21:18:37 -07:00
block.rs rust: block: introduce kernel::block::mq module 2024-06-14 07:45:04 -06:00
build_assert.rs rust: add build_error! to the prelude 2025-01-10 00:19:09 +01:00
clk.rs rust: Use consistent "# Examples" heading style in rustdoc 2025-06-24 01:02:30 +02:00
configfs.rs pin-init changes for v6.17 2025-07-13 23:05:14 +02:00
cpu.rs rust: cpu: Add CpuId::current() to retrieve current CPU ID 2025-06-12 10:31:28 +05:30
cpufreq.rs rust: Use consistent "# Examples" heading style in rustdoc 2025-06-24 01:02:30 +02:00
cpumask.rs rust: Use consistent "# Examples" heading style in rustdoc 2025-06-24 01:02:30 +02:00
cred.rs cred,rust: mark Credential methods inline 2025-03-04 17:07:49 -05:00
device.rs rust: enable clippy::ptr_as_ptr lint 2025-06-22 23:08:42 +02:00
device_id.rs rust: enable clippy::ref_as_ptr lint 2025-06-22 23:09:32 +02:00
devres.rs rust: Use consistent "# Examples" heading style in rustdoc 2025-06-24 01:02:30 +02:00
dma.rs rust: enable clippy::as_underscore lint 2025-06-22 23:09:17 +02:00
driver.rs rust: make pin-init its own crate 2025-03-16 21:59:19 +01:00
error.rs rust: enable clippy::as_underscore lint 2025-06-22 23:09:17 +02:00
faux.rs rust/kernel/faux: mark Registration methods inline 2025-03-11 10:42:23 +01:00
firmware.rs rust: Use consistent "# Examples" heading style in rustdoc 2025-06-24 01:02:30 +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: remove doctest's Error::from_errno workaround 2025-06-11 21:13:57 +02:00
io.rs rust: io: avoid mentioning private fields in IoMem 2025-06-24 01:02:30 +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: kunit: use crate-level mapping for c_void 2025-06-24 00:55:22 +02:00
lib.rs Rust changes for v6.16 2025-06-04 21:18:37 -07:00
list.rs rust: list: replace unwrap() with ? in doctest examples 2025-06-24 01:01:12 +02:00
miscdevice.rs rust: enable clippy::as_underscore lint 2025-06-22 23:09:17 +02:00
mm.rs mm: rust: make CONFIG_MMU ifdefs more narrow 2025-05-31 22:46:12 -07:00
net.rs rust: core abstractions for network PHY drivers 2023-12-15 09:35:50 +00:00
of.rs rust: enable clippy::as_underscore lint 2025-06-22 23:09:17 +02:00
opp.rs rust: Use consistent "# Examples" heading style in rustdoc 2025-06-24 01:02:30 +02:00
page.rs rust: page: optimize rust symbol generation for Page 2025-05-12 00:20:25 +02:00
pci.rs rust: Use consistent "# Examples" heading style in rustdoc 2025-06-24 01:02:30 +02:00
pid_namespace.rs rust: add PidNamespace 2024-10-08 15:44:36 +02:00
platform.rs rust: Use consistent "# Examples" heading style in rustdoc 2025-06-24 01:02:30 +02:00
prelude.rs rust: add kunit_tests to the prelude 2025-05-27 20:09:59 +02:00
print.rs rust: enable clippy::ptr_as_ptr lint 2025-06-22 23:08:42 +02:00
rbtree.rs rust: rbtree: add RBTree::is_empty 2025-06-29 18:52:41 +02:00
revocable.rs rust: revocable: document why &T is not used in RevocableGuard 2025-06-29 18:54:54 +02:00
security.rs lsm,rust: reword "destroy" -> "release" in SecurityCtx 2025-03-04 15:44:46 -05:00
seq_file.rs rust: enable clippy::ptr_as_ptr lint 2025-06-22 23:08:42 +02: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: enable clippy::ref_as_ptr lint 2025-06-22 23:09:32 +02:00
sync.rs rust: Use consistent "# Examples" heading style in rustdoc 2025-06-24 01:02:30 +02:00
task.rs rust: task: add missing Markdown code spans and intra-doc links 2025-05-25 22:58:35 +02: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 changes for v6.16 2025-06-04 21:18:37 -07:00
uaccess.rs rust: enable clippy::ref_as_ptr lint 2025-06-22 23:09:32 +02:00
workqueue.rs rust: Use consistent "# Examples" heading style in rustdoc 2025-06-24 01:02:30 +02:00
xarray.rs rust: xarray: Add an abstraction for XArray 2025-05-01 11:37:59 +02:00