linux/rust/kernel
Greg Kroah-Hartman 1da0ca4bdf Merge patch series "Rust support for `struct iov_iter`"
Alice Ryhl <aliceryhl@google.com> says:

This series adds support for the `struct iov_iter` type. This type
represents an IO buffer for reading or writing, and can be configured
for either direction of communication.

In Rust, we define separate types for reading and writing. This will
ensure that you cannot mix them up and e.g. call copy_from_iter in a
read_iter syscall.

To use the new abstractions, miscdevices are given new methods read_iter
and write_iter that can be used to implement the read/write syscalls on
a miscdevice. The miscdevice sample is updated to provide read/write
operations.

Intended for Greg's miscdevice tree.

Link: https://lore.kernel.org/r/20250822-iov-iter-v5-0-6ce4819c2977@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-06 13:27:23 +02:00
..
alloc rust: alloc: fix `rusttest` by providing `Cmalloc::aligned_layout` too 2025-08-17 01:29:21 +02:00
block pin-init changes for v6.17 2025-07-13 23:05:14 +02:00
device rust: device: implement FwNode::is_of_node() 2025-06-25 18:10:12 +02:00
drm rust: drm: don't pass the address of drm::Device to drm_dev_put() 2025-08-11 23:21:45 +02:00
fs rust: fs: add Kiocb struct 2025-09-06 13:27:20 +02:00
io rust: io: fix broken intra-doc links to `platform::Device` 2025-07-22 11:08:59 +02:00
list rust: list: remove nonexistent generic parameter in link 2025-07-20 19:29:19 +02:00
mm rust: enable `clippy::as_underscore` lint 2025-06-22 23:09:17 +02:00
net Rust changes for v6.17 2025-08-03 13:49:10 -07:00
sync Rust changes for v6.17 2025-08-03 13:49:10 -07:00
time rust: time: Pass correct timer mode ID to hrtimer_start_range_ns 2025-07-17 00:55:35 +02:00
.gitignore rust: Add warn_on macro 2025-07-23 02:05:58 +02: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
bits.rs rust: bits: add support for bits/genmask macros 2025-07-19 23:18:18 +02:00
block.rs rust: block: introduce `kernel::block::mq` module 2024-06-14 07:45:04 -06:00
bug.rs rust: Add warn_on macro 2025-07-23 02:05:58 +02:00
build_assert.rs rust: add `build_error!` to the prelude 2025-01-10 00:19:09 +01:00
clk.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
configfs.rs rust: types: rename Opaque::raw_get to cast_into 2025-07-15 22:26:11 +02:00
cpu.rs device: rust: rename Device::as_ref() to Device::from_raw() 2025-07-16 23:37:49 +02:00
cpufreq.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
cpumask.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
cred.rs cred,rust: mark Credential methods inline 2025-03-04 17:07:49 -05:00
device.rs device: rust: expand documentation for Device 2025-08-12 15:23:46 +02:00
device_id.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
devres.rs rust: devres: fix leaking call to devm_add_action() 2025-08-14 01:52:15 +02:00
dma.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
driver.rs driver: rust: expand documentation for driver infrastructure 2025-08-12 15:23:49 +02:00
error.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
faux.rs rust: faux: fix C header link 2025-08-13 17:40:28 +02:00
firmware.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
fmt.rs rust: kernel: add `fmt` module 2025-07-21 01:16:35 +02:00
fs.rs rust: fs: add Kiocb struct 2025-09-06 13:27:20 +02:00
generated_arch_reachable_asm.rs.S rust: Add warn_on macro 2025-07-23 02:05:58 +02:00
generated_arch_static_branch_asm.rs.S rust: jump_label: skip formatting generated file 2024-11-20 13:32:42 -05:00
generated_arch_warn_asm.rs.S rust: Add warn_on macro 2025-07-23 02:05:58 +02:00
init.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
io.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
ioctl.rs rust: start using the `#[expect(...)]` attribute 2024-10-07 21:39:57 +02:00
iov.rs rust: iov: add iov_iter abstractions for ITER_DEST 2025-09-06 13:27:20 +02:00
jump_label.rs rust: jump_label: skip formatting generated file 2024-11-20 13:32:42 -05:00
kunit.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
lib.rs rust: iov: add iov_iter abstractions for ITER_SOURCE 2025-09-06 13:27:20 +02:00
list.rs rust: list: remove OFFSET constants 2025-07-19 23:18:18 +02:00
miscdevice.rs rust: miscdevice: Provide additional abstractions for iov_iter and kiocb structures 2025-09-06 13:27:20 +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 changes for v6.17 2025-08-03 13:49:10 -07:00
opp.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
page.rs rust: page: optimize rust symbol generation for Page 2025-05-12 00:20:25 +02:00
pci.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
pid_namespace.rs rust: add PidNamespace 2024-10-08 15:44:36 +02:00
platform.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
prelude.rs rust: kernel: remove `fmt!`, fix clippy::uninlined-format-args 2025-07-21 01:15:51 +02:00
print.rs rust: use `kernel::{fmt,prelude::fmt!}` 2025-07-21 01:16:35 +02:00
rbtree.rs rust: rbtree: simplify finding `current` in `remove_current` 2025-07-14 23:53:35 +02:00
regulator.rs rust: regulator: add a bare minimum regulator abstraction 2025-07-15 15:07:40 +01:00
revocable.rs Rust changes for v6.17 2025-08-03 13:49:10 -07: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 constants up to SZ_2G 2025-06-23 18:12:30 +02: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: kernel: use `core::ffi::CStr` method names 2025-07-21 01:16:36 +02:00
sync.rs rust: kernel: move ARef and AlwaysRefCounted to sync::aref 2025-07-22 13:52:14 +02:00
task.rs rust: task: Add Rust version of might_sleep() 2025-06-24 15:53:50 -07:00
time.rs rust: time: Add wrapper for fsleep() function 2025-06-30 13:22:05 +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.17 2025-08-03 13:49:10 -07:00
uaccess.rs rust: uaccess: use newtype for user pointers 2025-07-14 23:52:45 +02:00
workqueue.rs workqueue: rust: add delayed work items 2025-07-15 22:54:52 +02:00
xarray.rs rust: types: add FOREIGN_ALIGN to ForeignOwnable 2025-07-14 23:55:24 +02:00