linux/rust/kernel
Linus Torvalds d24f5cdbef Rust changes for v7.3
Toolchain and infrastructure:
 
  - Warn when using 'bindgen' < 0.72.1 with 'libclang' >= 22, since that
    combination may fail to build. It includes a probe for the bug in
    case 'bindgen' happens to be patched, and tests.
 
    In parallel, Nathan updated the instructions for the kernel.org
    LLVM+Rust toolchains so that the latest version of 'bindgen' is
    installed, which should avoid some of these situations.
 
  - Support testing 'rust_is_available.sh' with 'bash' as '/bin/sh'.
 
  - Fix an objtool warning by adding one more 'noreturn' function for
    Rust 1.99.0 (expected 2026-10-01).
 
  - Fix build error in the 'rusttest' target due to ambiguity when the
    'rustc-dev' component is installed, which was uncovered by the work
    to support Rust's GCC backend ('rustc_codegen_gcc').
 
  - Fix future Clang warnings in the upcoming powerpc support due to
    macro redefinitions in the UAPI helper header by including the
    arch-aware 'ioctl.h' header.
 
 'kernel' crate:
 
  - Rework module ownership support:
 
      - Move the module-related types into a new 'module' module and make
        the 'THIS_MODULE' pointer a constant of 'ModuleMetadata' so that
        modules can provide the pointer in const contexts, and add a
        'this_module' 'const fn' to retrieve it.
 
        This was enabled by upstream Rust's work on the 'const_mut_refs'
        and 'const_refs_to_static' features which were stabilized back
        in Rust 1.83.0.
 
      - Teach '#[vtable]' to associate implementations with their owning
        module, defaulting to the local one, including fallbacks for
        doctests, uses within the 'kernel' crate (like upcoming KUnit
        '#[test]'s for DRM) and 'rusttest'.
 
      - Set 'fops.owner' from the module pointer for DRM and miscdevice.
 
      - Migrate Rust Binder and configfs away from the old 'THIS_MODULE'
        'static' and finally remove it from the 'module!' macro.
 
  - 'num' module:
 
      - Add the new 'casts' module for lossless integer conversions.
 
        Rust's 'core' library's 'From' implementations do not cover
        conversions that are not portable or future-proof. However, the
        kernel supports a narrower set of architectures, which makes it
        helpful to provide more infallible conversions, instead of having
        developers use 'as' casts, which carry the risk of silently
        losing data.
 
        This goes along with previous work we did to avoid casts in Rust
        kernel code since they are more powerful than needed.
 
        Thus, provide safe 'const' conversion functions (e.g.
        'usize_as_u64' and 'u64_into_u8'), as well as the 'FromSafeCast'
        and 'IntoSafeCast' extension traits that provide conversions that
        are known to be lossless in the kernel, and an 'arch' submodule
        defining conversions that are known to be lossless on particular
        architectures (e.g. 64-bit platforms). For instance:
 
            // Conversion in const context.
            const USIZED_CONST: usize = u8_as_usize(255u8);
 
            // Non-const conversions.
            let a = u64::from_safe_cast(4096usize);
            let b: u64 = 4096usize.into_safe_cast();
 
      - Add 'Bounded::shr_exact' method in the vein of 'try_shrink' which
        shifts a bounded right only if it loses no set bits.
 
      - Fix unsoundness issue in the 'Bounded::shr' method by rejecting,
        at compile-time, shifts of at least the type's bit width.
 
  - 'fmt' module:
 
      - Route '{:p}' raw pointer formatting through the kernel's hashed
        '%p' format to prevent address leaks, including support for width
        and padding. Include tests for both 'no_hash_pointers' case and
        the default (hashed) one.
 
      - Fix the '{:p}' forwarding implementation, which could print the
        address of a temporary stack variable.
 
  - 'time' module:
 
      - Make 'Delta' generic over its time unit, with a default unit of
        nanoseconds ('Nsec'), preserving the existing behavior. Then, add
        a 'Jiffy' time unit.
 
      - Add the 'Delta::as_millis_ceil()' method.
 
      - Fix 'as_micros_ceil()' rounding near 'i64::MAX', which could
        yield a result one microsecond too small.
 
  - 'sync' module:
 
      - Implement 'ForeignOwnable' for 'ARef<T>', allowing C code to own
        an 'ARef<T>'.
 
      - Add a safe abstraction for 'rcu_barrier()'.
 
  - 'error' module: add all of the remaining error codes, except the
    deprecated compatibility aliases.
 
  - 'bug' module:
 
      - Fix build error on UML in 'warn_on!' for callers from within
        the 'kernel' crate.
 
      - Fix future 'dead_code' warning on arm and loongarch64 and under
        'CONFIG_BUG=n' in 'warn_on!', which would trigger with the
        upcoming SRCU abstractions.
 
      - Fix future build error in 'rusttest' on cross-compilation cases,
        which would trigger when 'warn_on!' has callers inside the
        'kernel' crate.
 
  - 'bitfield' module: fix build error for the upcoming support for
    Rust's GCC backend ('rustc_codegen_gcc') by always inlining a couple
    conversions used in tests.
 
 'pin-init' crate:
 
  - User-visible changes:
 
      - Merge the '__pinned_init' and '__init' methods and make 'Init'
        a marker trait.
 
      - Introduce public APIs 'raw_init' and 'raw_try_init' to prevent
        users from needing to invoke the internal
        '__pinned_init'/'__init' methods.
 
      - Emit errors for duplicate '#[pin]' attributes.
 
      - Link 'Zeroable::zeroed' and 'pin_init::zeroed' in documentation.
 
  - Other changes:
 
      - Fix unwind safety issues.
 
      - Clean up lint 'allow' and 'expect's.
 
      - Overhaul '#[cfg]' handling to pave the way for tuple structs and
        self-referential structs.
 
      - Mark many functions as '#[inline]' for better codegen with '-C
        opt-level=s' ('CC_OPTIMIZE_FOR_SIZE').
 
 'MAINTAINERS':
 
  - Update 'MODULE SUPPORT' to cover the new 'module' module.
 
 And some other fixes, cleanups and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPjU5OPd5QIZ9jqqOGXyLc2htIW0FAmqCCJQACgkQGXyLc2ht
 IW3ErA//e5gz1OEDalINpUt1zYktodleilyxvaUkoR0Q0T+pQIgoMniD7OWxPCPG
 G6Qq/bBEPezwuMncJizsc3Gj9h9/KEPfZXaDYPt/p0rdVL4Ej5gOzpOWM1lB4XCA
 z2xgOwVSyY6Go6sTEru1tG8Qs7v72NmjqIf1088K+6NQ9CVwWBL78arXzIuzi4L/
 rK829rV/8evCxomQxCNN3Nb7VYXpmavRLqXvbF3mt8AAAkqlbF8I2DVZusZNJpNT
 0b9fpefw4Im8zwaXMP1Tiw1RCV8rAATKDjJARNEh0jUEKfJ6KGnO7hDqx0k7HGYG
 9T+ZLTSV4i24J2hs3f1+atN4rScPntpOSxUylBgPsregj2jdbUwWs80PdtzePBPD
 rxpUXY/1zFT0JcC9qkgnBwB7OXwR0GmLQdf70OtSj3SgVQnsulHv7Xe/BIXtxCkR
 +I88//hHssEIkyHvi2Q+F1id+aj3ag05UuKivE+pgs7rIINoOSO8B0XPRGmeXYeC
 uo+OTHz/wzq1/7qR/a/rTw28fW/H7gc/06c29qQagfuwrZz4rVzpaZrh7DyZEm18
 t4m+rtJ2Ccw8vmkl6Y8axx3nlRhaIICIlSgv2iGULYYOH5jZ9tdBAqxXxHlcCyLw
 Ns9n95MYvbLXDlO0+Woz4Y6Ltdz1BXXubH881WRQL4Zck3LJ10g=
 =4uyP
 -----END PGP SIGNATURE-----

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

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

   - Warn when using 'bindgen' < 0.72.1 with 'libclang' >= 22, since
     that combination may fail to build. It includes a probe for the bug
     in case 'bindgen' happens to be patched, and tests

     In parallel, Nathan updated the instructions for the kernel.org
     LLVM+Rust toolchains so that the latest version of 'bindgen' is
     installed, which should avoid some of these situations

   - Support testing 'rust_is_available.sh' with 'bash' as '/bin/sh'

   - Fix an objtool warning by adding one more 'noreturn' function for
     Rust 1.99.0 (expected 2026-10-01)

   - Fix build error in the 'rusttest' target due to ambiguity when the
     'rustc-dev' component is installed, which was uncovered by the work
     to support Rust's GCC backend ('rustc_codegen_gcc')

   - Fix future Clang warnings in the upcoming powerpc support due to
     macro redefinitions in the UAPI helper header by including the
     arch-aware 'ioctl.h' header

  'kernel' crate:

   - Rework module ownership support:

       - Move the module-related types into a new 'module' module and
         make the 'THIS_MODULE' pointer a constant of 'ModuleMetadata'
         so that modules can provide the pointer in const contexts, and
         add a 'this_module' 'const fn' to retrieve it

         This was enabled by upstream Rust's work on the 'const_mut_refs'
         and 'const_refs_to_static' features which were stabilized back
         in Rust 1.83.0

       - Teach '#[vtable]' to associate implementations with their
         owning module, defaulting to the local one, including fallbacks
         for doctests, uses within the 'kernel' crate (like upcoming
         KUnit '#[test]'s for DRM) and 'rusttest'

       - Set 'fops.owner' from the module pointer for DRM and
         miscdevice

       - Migrate Rust Binder and configfs away from the old
         'THIS_MODULE' 'static' and finally remove it from the 'module!'
         macro

   - 'num' module:

       - Add the new 'casts' module for lossless integer conversions

         Rust's 'core' library's 'From' implementations do not cover
         conversions that are not portable or future-proof. However, the
         kernel supports a narrower set of architectures, which makes it
         helpful to provide more infallible conversions, instead of
         having developers use 'as' casts, which carry the risk of
         silently losing data

         This goes along with previous work we did to avoid casts in
         Rust kernel code since they are more powerful than needed

         Thus, provide safe 'const' conversion functions (e.g.
         'usize_as_u64' and 'u64_into_u8'), as well as the
         'FromSafeCast' and 'IntoSafeCast' extension traits that provide
         conversions that are known to be lossless in the kernel, and an
         'arch' submodule defining conversions that are known to be
         lossless on particular architectures (e.g. 64-bit platforms).
         For instance:

             // Conversion in const context.
             const USIZED_CONST: usize = u8_as_usize(255u8);

             // Non-const conversions.
             let a = u64::from_safe_cast(4096usize);
             let b: u64 = 4096usize.into_safe_cast();

       - Add 'Bounded::shr_exact' method in the vein of 'try_shrink'
         which shifts a bounded right only if it loses no set bits

       - Fix unsoundness issue in the 'Bounded::shr' method by
         rejecting, at compile-time, shifts of at least the type's bit
         width

   - 'fmt' module:

       - Route '{:p}' raw pointer formatting through the kernel's hashed
         '%p' format to prevent address leaks, including support for
         width and padding. Include tests for both 'no_hash_pointers'
         case and the default (hashed) one

       - Fix the '{:p}' forwarding implementation, which could print the
         address of a temporary stack variable

   - 'time' module:

       - Make 'Delta' generic over its time unit, with a default unit of
         nanoseconds ('Nsec'), preserving the existing behavior. Then,
         add a 'Jiffy' time unit

       - Add the 'Delta::as_millis_ceil()' method

       - Fix 'as_micros_ceil()' rounding near 'i64::MAX', which could
         yield a result one microsecond too small

   - 'sync' module:

       - Implement 'ForeignOwnable' for 'ARef<T>', allowing C code to
         own an 'ARef<T>'

       - Add a safe abstraction for 'rcu_barrier()'

   - 'error' module: add all of the remaining error codes, except the
     deprecated compatibility aliases

   - 'bug' module:

       - Fix build error on UML in 'warn_on!' for callers from within
         the 'kernel' crate

       - Fix future 'dead_code' warning on arm and loongarch64 and under
         'CONFIG_BUG=n' in 'warn_on!', which would trigger with the
         upcoming SRCU abstractions

       - Fix future build error in 'rusttest' on cross-compilation
         cases, which would trigger when 'warn_on!' has callers inside
         the 'kernel' crate

   - 'bitfield' module: fix build error for the upcoming support for
     Rust's GCC backend ('rustc_codegen_gcc') by always inlining a
     couple conversions used in tests

  'pin-init' crate:

   - User-visible changes:

       - Merge the '__pinned_init' and '__init' methods and make 'Init'
         a marker trait

       - Introduce public APIs 'raw_init' and 'raw_try_init' to prevent
         users from needing to invoke the internal '__pinned_init' and
         '__init' methods

       - Emit errors for duplicate '#[pin]' attributes

       - Link 'Zeroable::zeroed' and 'pin_init::zeroed' in documentation

   - Other changes:

       - Fix unwind safety issues

       - Clean up lint 'allow' and 'expect's

       - Overhaul '#[cfg]' handling to pave the way for tuple structs
         and self-referential structs

       - Mark many functions as '#[inline]' for better codegen with '-C
         opt-level=s' ('CC_OPTIMIZE_FOR_SIZE')

  'MAINTAINERS':

   - Update 'MODULE SUPPORT' to cover the new 'module' module

  And some other fixes, cleanups and improvements"

* tag 'rust-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux: (54 commits)
  rust: add functions and traits for lossless integer conversions
  rust: kernel: add `LocalModule` fallback for `#[vtable]` `impl`s
  rust: fmt: route {:p} through HashedPtr to prevent address leaks
  rust: fmt: fix {:p} printing stack addresses
  rust: module: update MAINTAINERS to cover module.rs
  rust: macros: remove `THIS_MODULE` static from `module!`
  rust_binder: use `LocalModule` for `THIS_MODULE`
  rust: configfs: use `LocalModule` for `THIS_MODULE`
  rust: miscdevice: set fops.owner from driver module pointer
  rust: drm: set fops.owner from driver module pointer
  rust: macros: auto-insert OwnerModule in #[vtable]
  rust: doctest: add LocalModule fallback for #[vtable] ThisModule
  rust: module: add `THIS_MODULE` const to `ModuleMetadata` trait
  rust: module: move module types into `module.rs`
  rust: num: add Bounded::shr_exact
  rust: num: reject Bounded::shr overshifts at build time
  rust: num: use const_assert! in Bounded
  rust: uapi: replace direct asm-generic/ioctl.h include with linux/ioctl.h
  rust: time: add Delta::as_millis_ceil()
  rust: time: add jiffies time unit for Delta
  ...
2026-08-18 11:25:09 -07:00
..
alloc rust: treewide: replace __pinned_init with raw_[try_]init 2026-08-05 11:36:18 +01:00
block rust: block: fix GenDisk cleanup paths 2026-05-31 19:45:06 -06:00
debugfs Driver core changes for 7.0-rc1 2026-02-11 17:43:59 -08:00
device rust: device: replace kernel::c_str! with C-Strings 2025-12-22 17:30:24 +01:00
drm rust: drm: set fops.owner from driver module pointer 2026-08-12 09:36:26 +02:00
fs rust: fs: add file::Offset type alias 2025-11-05 00:05:38 +01:00
gpu rust: gpu: Add GPU buddy allocator bindings 2026-03-23 21:41:47 +01:00
interop rust: interop: Add list module for C linked list interface 2026-03-23 20:29:28 +01:00
io Driver core changes for 7.2-rc1 2026-06-15 12:41:17 +05:30
iommu rust: iommu: fix srctree link warning 2026-01-22 09:19:30 +01:00
irq rust: irq: move 'static bounds to traits 2026-03-03 20:33:26 +01:00
list Locking updates for v7.1: 2026-04-14 12:36:25 -07:00
mm mm: rename zap_page_range_single() to zap_vma_range() 2026-04-05 13:53:15 -07:00
net rust: module: move module types into module.rs 2026-08-12 09:36:26 +02:00
num rust: add functions and traits for lossless integer conversions 2026-08-13 13:41:28 +02:00
pci rust: pci: make Bar lifetime-parameterized 2026-05-27 16:24:23 +02:00
ptr rust: ptr: remove implicit index projection syntax 2026-06-05 10:16:47 +02:00
str rust: str: add radix prefixed integer parsing functions 2025-11-03 14:40:45 +01:00
sync rust: sync: Add abstraction for rcu_barrier() 2026-08-10 07:58:37 +02:00
time hrtimer: add usage examples to documentation 2026-03-23 08:31:00 +01:00
types rust: types: add ForLt trait for higher-ranked lifetime support 2026-05-27 16:24:59 +02:00
.gitignore rust: Add warn_on macro 2025-07-23 02:05:58 +02:00
acpi.rs rust: acpi: replace core::mem::zeroed with pin_init::zeroed 2025-10-27 20:27:05 +01:00
alloc.rs rust: alloc: cleanup imports and use "kernel vertical" style 2026-05-20 17:34:17 +02:00
auxiliary.rs rust: module: move module types into module.rs 2026-08-12 09:36:26 +02:00
bitfield.rs rust: bitfield: always inline test conversions 2026-08-10 06:58:31 +02:00
bitmap.rs rust: tests: add Kconfig for KUnit test 2026-06-08 02:30:33 +02:00
bits.rs rust: bits: always inline functions using build_assert with arguments 2026-01-18 20:40:11 +01:00
block.rs rust: block: add block related constants 2025-09-02 05:23:56 -06:00
bug.rs rust: bug: fix warn_on macro build error on UML 2026-08-10 07:14:24 +02:00
build_assert.rs rust: make build_assert module the home of related macros 2026-06-10 09:07:13 +02:00
clk.rs rust: clk: implement Send and Sync 2026-04-03 11:57:35 +02:00
configfs.rs rust: configfs: use LocalModule for THIS_MODULE 2026-08-12 09:36:26 +02:00
cpu.rs rust: kernel: cpu: mark CpuId::current() inline 2025-09-14 23:58:45 +02:00
cpufreq.rs CPUFreq arm updates for 7.3 2026-08-06 13:25:02 +02:00
cpumask.rs rust: cpumask: rename methods of Cpumask for clarity and consistency 2026-01-27 11:21:23 +05:30
cred.rs Char/Misc/IIO/Binder changes for 6.18-rc1 2025-10-04 16:26:32 -07:00
debugfs.rs rust: debugfs: Use kernel Atomic type in docs example 2026-01-19 15:02:46 +01:00
device_id.rs rust: device_id: replace incorrect word in safety documentation 2025-12-29 14:09:18 +01:00
device.rs rust: device: avoid trailing ; in printing macros 2026-07-16 23:40:54 +02:00
devres.rs rust: io: gate ioremap doctests on CONFIG_HAS_IOMEM 2026-08-06 16:05:50 +02:00
dma.rs rust: treewide: replace __pinned_init with raw_[try_]init 2026-08-05 11:36:18 +01:00
driver.rs Merge patch series "rust: device: Higher-Ranked Lifetime Types for device drivers" 2026-05-29 00:38:54 +02:00
error.rs rust: error: add remaining error codes 2026-08-10 07:57:34 +02:00
faux.rs rust: faux: use "kernel vertical" style for imports 2026-01-07 19:56:00 +01:00
firmware.rs rust: firmware: replace kernel::c_str! with C-Strings 2025-11-17 00:53:47 +01:00
fmt.rs rust: fmt: route {:p} through HashedPtr to prevent address leaks 2026-08-12 11:58:50 +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
gpu.rs rust: gpu: Add GPU buddy allocator bindings 2026-03-23 21:41:47 +01:00
i2c.rs rust: module: move module types into module.rs 2026-08-12 09:36:26 +02:00
id_pool.rs rust: id_pool: do not immediately acquire new ids 2025-12-02 14:17:09 -05:00
impl_flags.rs rust: impl_flags: use bit helper in example 2026-08-10 06:44:10 +02:00
init.rs rust: treewide: replace __pinned_init with raw_[try_]init 2026-08-05 11:36:18 +01:00
interop.rs rust: interop: Add list module for C linked list interface 2026-03-23 20:29:28 +01:00
io.rs rust: io: gate ioremap doctests on CONFIG_HAS_IOMEM 2026-08-06 16:05:50 +02:00
ioctl.rs rust: make build_assert module the home of related macros 2026-06-10 09:07:13 +02:00
iov.rs rust: iov: add iov_iter abstractions for ITER_DEST 2025-09-06 13:27:20 +02:00
irq.rs rust: irq: add support for threaded IRQs and handlers 2025-08-12 20:22:09 +02:00
jump_label.rs rust: jump_label: skip formatting generated file 2024-11-20 13:32:42 -05:00
Kconfig.test rust: bitfield: Add KUnit tests for bitfield 2026-06-09 04:13:07 +02:00
kunit.rs kunit,rust: Add ability to skip entire test suites 2026-06-29 15:48:26 -06:00
lib.rs rust: kernel: add LocalModule fallback for #[vtable] impls 2026-08-13 11:58:59 +02:00
list.rs rust: list: hide macros from top-level kernel doc 2026-03-27 12:15:47 +01:00
maple_tree.rs rust: maple_tree: rcu_read_lock() in destructor to silence lockdep 2025-12-23 11:23:15 -08:00
miscdevice.rs rust: miscdevice: set fops.owner from driver module pointer 2026-08-12 09:36:26 +02:00
mm.rs rust: mm: update ARef and AlwaysRefCounted imports from sync::aref 2025-09-13 16:55:15 -07:00
module_param.rs rust: module_param: add missing newline to pr_warn_once 2026-06-04 16:42:34 +00:00
module.rs rust: module: add THIS_MODULE const to ModuleMetadata trait 2026-08-12 09:36:26 +02:00
net.rs rust: core abstractions for network PHY drivers 2023-12-15 09:35:50 +00:00
num.rs rust: add functions and traits for lossless integer conversions 2026-08-13 13:41:28 +02:00
of.rs rust: of: use core::ffi::CStr method names 2025-09-16 09:26:59 +02:00
opp.rs opp: rust: mark OPP methods as inline 2026-05-25 09:40:52 +05:30
page.rs mm.git review status for mm-hotfixes-stable..mm-stable 2026-06-19 10:14:34 -07:00
pci.rs rust: module: move module types into module.rs 2026-08-12 09:36:26 +02:00
pid_namespace.rs rust: pid_namespace: update AlwaysRefCounted imports from sync::aref 2025-08-19 13:08:41 +02:00
platform.rs Rust changes for v7.3 2026-08-18 11:25:09 -07:00
prelude.rs rust: prelude: add zerocopy{,_derive}::IntoBytes 2026-06-17 00:32:42 +02:00
print.rs rust: print: fix broken _printk Rustdoc link 2026-08-03 08:03:24 +02:00
processor.rs rust: Add cpu_relax() helper 2025-08-21 16:58:07 +02:00
ptr.rs Rust timekeeping changes for v7.1 2026-04-08 10:44:11 +02:00
pwm.rs rust: treewide: replace __pinned_init with raw_[try_]init 2026-08-05 11:36:18 +01:00
rbtree.rs Rust changes for v6.20 / v7.0 2026-02-10 11:53:01 -08:00
regulator.rs rust: regulator: do not assume that regulator_get() returns non-null 2026-03-24 13:08:21 +00:00
revocable.rs Rust changes for v6.17 2025-08-03 13:49:10 -07:00
safety.rs rust: safety: introduce unsafe_precondition_assert! macro 2026-02-02 08:10:48 +01:00
scatterlist.rs rust: scatterlist: Update ARef imports to use sync::aref 2025-12-18 17:25:45 +01:00
security.rs rust_binder: add Rust Binder driver 2025-09-19 09:40:46 +02:00
seq_file.rs rust: seq_file: replace kernel::c_str! with C-Strings 2026-01-29 15:32:40 +01:00
sizes.rs rust: sizes: add SizeConstants trait for device address space constants 2026-04-07 12:57:50 +02:00
soc.rs rust: Add soc_device support 2025-12-28 12:43:56 +01: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: clean unused import for Rust >= 1.98 2026-06-10 09:07:13 +02:00
sync.rs rust: sync: Replace kernel::c_str! with C-Strings 2026-01-28 09:25:44 +01:00
task.rs Char/Misc/IIO/and others driver updates for 7.1-rc1 2026-04-24 13:23:50 -07:00
time.rs rust: time: add Delta::as_millis_ceil() 2026-08-11 11:34:06 +02:00
tracepoint.rs rust: add tracepoint support 2024-11-04 16:21:44 -05:00
transmute.rs rust: transmute: simplify code with Rust 1.80.0 split_at_*checked() 2026-04-07 10:00:24 +02:00
types.rs rust: treewide: replace __pinned_init with raw_[try_]init 2026-08-05 11:36:18 +01:00
uaccess.rs Char/Misc/IIO/and others driver updates for 7.1-rc1 2026-04-24 13:23:50 -07:00
usb.rs rust: module: move module types into module.rs 2026-08-12 09:36:26 +02:00
workqueue.rs rust: workqueue: use new sync::aref path for imports 2026-03-26 15:45:34 +00:00
xarray.rs rust: make build_assert module the home of related macros 2026-06-10 09:07:13 +02:00