linux/rust/kernel
Linus Torvalds 267594792a Rust fixes for v7.0 (2nd)
Toolchain and infrastructure:
 
  - Remap paths to avoid absolute ones starting with the upcoming Rust
    1.95.0 release. This improves build reproducibility, avoids leaking
    the exact path and avoids having the same path appear in two forms.
 
    The approach here avoids remapping debug information as well, in
    order to avoid breaking tools that used the paths to access source
    files, which was the previous attempt that needed to be reverted.
 
  - Allow 'unused_features' lint for the upcoming Rust 1.96.0 release.
    While well-intentioned, we do not benefit much from the new lint.
 
  - Emit dependency information into '$(depfile)' directly to avoid
    a temporary '.d' file (it was an old approach).
 
 'kernel' crate:
 
  - 'str' module: fix warning under '!CONFIG_BLOCK' by making
    'NullTerminatedFormatter' public.
 
  - 'cpufreq' module: suppress false positive Clippy warning.
 
 'pin-init' crate:
 
  - Remove '#[disable_initialized_field_access]' attribute which was
    unsound. This means removing the support for structs with unaligned
    fields (through the 'repr(packed)' attribute), for now.
 
    And document the load-bearing fact of field accessors (i.e. that they
    are required for soundness).
 
  - Replace shadowed return token by 'unsafe'-to-create token in order
    to remain sound in the face of the likely upcoming Type Alias Impl
    Trait (TAIT) and the next trait solver in upstream Rust.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPjU5OPd5QIZ9jqqOGXyLc2htIW0FAmm1r2MACgkQGXyLc2ht
 IW17OhAAoRMLTOf/iTNu29njOtjG5iYABeC5zMnxYUErWGLOooz8D82UEiB85Whs
 uhVeW6YZ1jCcizglmbXOduKUOmSvEUYSv5/wj1w5OIF0FWW/6BA/aNdgDijHTbSU
 v/x5NfKwxZ7JD8ivl+Z7RxtA3ggEODr/pn8USIKaZr0wEjEcnP1xBedZR6+NXuBT
 CUXYm9g0BMfBbHsaI6DgD6/aj3TuHjbp1GGFlMmKd7YJGzFihhxU7nKtzkRDxAUd
 HROY1Pi+iEUXFYmeXbgObVgRqzcTYV37CkbMfPk1SoIdXXhtPcO8TJ1GguAMuVMO
 alAaVEAGFBKvnNGFoocCoxRt8U9hhiOiqlP+QMu2sbVWxWdmdBRcXlB+t4YIqFWy
 6Icp/5K8C6Tf7ZrDZhccn6T6jqp+mvNzfanppi0/DFlZiN+1oSABQgEV3YtAiEIW
 UHLT5bO5YEkHW73S9mSKhBhbH58h8IX7oGv/wteovI3gjMA9of/8/6MArWXbLpxj
 o6ws7p595/xRV+xZURm7YQm6wtbjBr4Eipgd3vIoc0Z+VbCnDLEs/n8cEYY2CtIg
 9Ze+MbBaqnf58qvhwj9Zy8ncQVnCtpQmybUE/i/YfdXo7AMsKtdUppv09xfz4fMC
 NWRqJttuWiUttGsLvi/GTxzkz5bT6Y6ZHHNqTyIKWXEIBTtRxK8=
 =7LgC
 -----END PGP SIGNATURE-----

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

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

   - Remap paths to avoid absolute ones starting with the upcoming Rust
     1.95.0 release. This improves build reproducibility, avoids leaking
     the exact path and avoids having the same path appear in two forms

     The approach here avoids remapping debug information as well, in
     order to avoid breaking tools that used the paths to access source
     files, which was the previous attempt that needed to be reverted

   - Allow 'unused_features' lint for the upcoming Rust 1.96.0 release.
     While well-intentioned, we do not benefit much from the new lint

   - Emit dependency information into '$(depfile)' directly to avoid a
     temporary '.d' file (it was an old approach)

  'kernel' crate:

   - 'str' module: fix warning under '!CONFIG_BLOCK' by making
     'NullTerminatedFormatter' public

   - 'cpufreq' module: suppress false positive Clippy warning

  'pin-init' crate:

   - Remove '#[disable_initialized_field_access]' attribute which was
     unsound. This means removing the support for structs with unaligned
     fields (through the 'repr(packed)' attribute), for now

     And document the load-bearing fact of field accessors (i.e. that
     they are required for soundness)

   - Replace shadowed return token by 'unsafe'-to-create token in order
     to remain sound in the face of the likely upcoming Type Alias Impl
     Trait (TAIT) and the next trait solver in upstream Rust"

* tag 'rust-fixes-7.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux:
  rust: kbuild: allow `unused_features`
  rust: cpufreq: suppress clippy::double_parens in Policy doctest
  rust: pin-init: replace shadowed return token by `unsafe`-to-create token
  rust: pin-init: internal: init: document load-bearing fact of field accessors
  rust: pin-init: internal: init: remove `#[disable_initialized_field_access]`
  rust: build: remap path to avoid absolute path
  rust: kbuild: emit dep-info into $(depfile) directly
  rust: str: make NullTerminatedFormatter public
2026-03-14 12:35:16 -07:00
..
alloc
block
debugfs Driver core changes for 7.0-rc1 2026-02-11 17:43:59 -08:00
device
drm
fs
io
iommu
irq Rust fixes for v7.0-rc1 2026-02-22 08:43:31 -08:00
list Rust fixes for v7.0-rc1 2026-02-22 08:43:31 -08:00
mm
net
num
pci rust: io: macro_export io_define_read!() and io_define_write!() 2026-02-23 00:54:02 +01:00
ptr rust: ptr: add projection infrastructure 2026-03-07 23:06:17 +01:00
str
sync Char/Misc/IIO driver changes for 7.0-rc1 2026-02-17 09:11:04 -08:00
time
.gitignore
acpi.rs
alloc.rs
auxiliary.rs
bitmap.rs
bits.rs
block.rs
bug.rs
build_assert.rs
clk.rs
configfs.rs
cpu.rs
cpufreq.rs rust: cpufreq: suppress clippy::double_parens in Policy doctest 2026-03-12 11:01:23 +01:00
cpumask.rs
cred.rs
debugfs.rs
device.rs
device_id.rs
devres.rs
dma.rs rust: dma: use pointer projection infra for `dma_{read,write}` macro 2026-03-07 23:06:20 +01:00
driver.rs
error.rs
faux.rs
firmware.rs
fmt.rs
fs.rs
generated_arch_reachable_asm.rs.S
generated_arch_static_branch_asm.rs.S
generated_arch_warn_asm.rs.S
i2c.rs Rust changes for v6.20 / v7.0 2026-02-10 11:53:01 -08:00
id_pool.rs
impl_flags.rs
init.rs
io.rs rust: io: macro_export io_define_read!() and io_define_write!() 2026-02-23 00:54:02 +01:00
ioctl.rs
iov.rs
irq.rs
jump_label.rs
kunit.rs rust: kunit: fix warning when !CONFIG_PRINTK 2026-03-02 10:01:15 -07:00
lib.rs rust: ptr: add projection infrastructure 2026-03-07 23:06:17 +01:00
list.rs
maple_tree.rs
miscdevice.rs
mm.rs
module_param.rs
net.rs
num.rs
of.rs
opp.rs
page.rs
pci.rs
pid_namespace.rs
platform.rs
prelude.rs
print.rs
processor.rs
ptr.rs rust: ptr: add projection infrastructure 2026-03-07 23:06:17 +01:00
pwm.rs
rbtree.rs Rust changes for v6.20 / v7.0 2026-02-10 11:53:01 -08:00
regulator.rs
revocable.rs
safety.rs
scatterlist.rs
security.rs
seq_file.rs
sizes.rs
slice.rs
soc.rs
static_assert.rs
std_vendor.rs
str.rs rust: str: make NullTerminatedFormatter public 2026-03-04 02:03:31 +01:00
sync.rs
task.rs
time.rs
tracepoint.rs
transmute.rs
types.rs
uaccess.rs
usb.rs USB / Thunderbolt changes for 7.0-rc1 2026-02-17 09:36:43 -08:00
workqueue.rs
xarray.rs