[GIT,PULL] Rust for v6.8

Message ID 20240108012055.519813-1-ojeda@kernel.org
State New
Headers
Series [GIT,PULL] Rust for v6.8 |

Pull-request

https://github.com/Rust-for-Linux/linux.git tags/rust-6.8

Message

Miguel Ojeda Jan. 8, 2024, 1:20 a.m. UTC
  Hi Linus,

This is the next round of the Rust support.

All the commits have been in linux-next for more than a couple weeks,
but only for 3 -next tags given the holidays (first one next-20231222).

No conflicts expected. No changes to the C side.

There are also some Rust abstractions for network PHY drivers (with a
Rust reference driver included for Asix PHY) which you will likely get
through the networking tree. No conflicts expected with those either,
and tests pass with those merged too.

Please pull for v6.8 -- thanks!

Cheers,
Miguel

The following changes since commit a39b6ac3781d46ba18193c9dbb2110f31e9bffe9:

  Linux 6.7-rc5 (2023-12-10 14:33:40 -0800)

are available in the Git repository at:

  https://github.com/Rust-for-Linux/linux.git tags/rust-6.8

for you to fetch changes up to 711cbfc717650532624ca9f56fbaf191bed56e67:

  docs: rust: Clarify that 'rustup override' applies to build directory (2023-12-21 22:47:40 +0100)

----------------------------------------------------------------
Rust changes for v6.8

Another routine one in terms of features. In terms of lines, this time
the 'alloc' version upgrade is less prominent, given that it was fairly
small (and we did not have two upgrades).

Toolchain and infrastructure:

 - Upgrade to Rust 1.74.1.

   The patch release includes a fix for an ICE that the Apple AGX GPU
   driver was hitting.

 - Support 'srctree'-relative links in Rust code documentation.

 - Automate part of the manual constants handling (i.e. the ones not
   recognised by 'bindgen').

 - Suppress searching builtin sysroot to avoid confusion with installed
   sysroots, needed for the to-be-merged arm64 support which uses
   a builtin target.

 - Ignore '__preserve_most' functions for 'bindgen'.

 - Reduce header inclusion bloat in exports.

'kernel' crate:

 - Implement 'Debug' for 'CString'.

 - Make 'CondVar::wait()' an uninterruptible wait.

'macros' crate:

 - Update 'paste!' to accept string literals.

 - Improve '#[vtable]' documentation.

Documentation:

 - Add testing section (KUnit and 'rusttest' target).

 - Remove 'CC=clang' mentions.

 - Clarify that 'rustup override' applies to build directory.

----------------------------------------------------------------
Asahi Lina (1):
      rust: kernel: str: Implement Debug for CString

Benno Lossin (1):
      rust: macros: improve `#[vtable]` documentation

Boqun Feng (1):
      rust: sync: Makes `CondVar::wait()` an uninterruptible wait

Dirk Behme (1):
      docs: rust: Add rusttest info

Gary Guo (1):
      rust: bindings: rename const binding using sed

Masahiro Yamada (1):
      rust: replace <linux/module.h> with <linux/export.h> in rust/exports.c

Matthew Maurer (2):
      rust: Ignore preserve-most functions
      rust: Suppress searching builtin sysroot

Miguel Ojeda (3):
      rust: upgrade to Rust 1.74.1
      rust: support `srctree`-relative links
      docs: rust: remove `CC=clang` mentions

Trevor Gross (1):
      rust: macros: update 'paste!' macro to accept string literals

Viresh Kumar (1):
      docs: rust: Clarify that 'rustup override' applies to build directory

 Documentation/process/changes.rst          |  2 +-
 Documentation/rust/coding-guidelines.rst   | 13 +++++
 Documentation/rust/general-information.rst | 24 +++++++++
 Documentation/rust/quick-start.rst         | 18 +++----
 rust/Makefile                              |  8 ++-
 rust/alloc/alloc.rs                        | 32 +++++++----
 rust/alloc/lib.rs                          |  6 +--
 rust/alloc/slice.rs                        |  2 +-
 rust/alloc/vec/mod.rs                      | 87 +++++++++++++++++++++++++++++-
 rust/bindgen_parameters                    |  4 ++
 rust/bindings/bindings_helper.h            |  6 +--
 rust/bindings/lib.rs                       |  3 --
 rust/exports.c                             |  2 +-
 rust/kernel/allocator.rs                   |  2 +-
 rust/kernel/error.rs                       |  6 ++-
 rust/kernel/ioctl.rs                       |  2 +-
 rust/kernel/kunit.rs                       |  2 +-
 rust/kernel/print.rs                       |  8 +--
 rust/kernel/str.rs                         |  6 +++
 rust/kernel/sync/condvar.rs                | 32 +++++------
 rust/kernel/sync/lock/mutex.rs             |  2 +-
 rust/kernel/sync/lock/spinlock.rs          |  2 +-
 rust/kernel/task.rs                        |  2 +-
 rust/kernel/workqueue.rs                   |  2 +-
 rust/macros/lib.rs                         | 62 +++++++++++++++++----
 rust/macros/paste.rs                       | 10 +++-
 scripts/Makefile.build                     |  1 +
 scripts/min-tool-version.sh                |  2 +-
 28 files changed, 275 insertions(+), 73 deletions(-)
  

Comments

pr-tracker-bot@kernel.org Jan. 11, 2024, 9:18 p.m. UTC | #1
The pull request you sent on Mon,  8 Jan 2024 02:20:55 +0100:

> https://github.com/Rust-for-Linux/linux.git tags/rust-6.8

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/b6964fe2398cb8939c3d4fc6960a6be93687305d

Thank you!