[PATCH v4 0/6] s390: Enable Rust support and add required arch glue

Jan Polensky posted 6 patches 1 week, 2 days ago
There is a newer version of this series
Documentation/rust/arch-support.rst |  1 +
arch/s390/Kconfig                   |  1 +
arch/s390/Makefile                  | 28 ++++++++++++++----------
arch/s390/include/asm/bug.h         | 12 +++++++++++
arch/s390/include/asm/cmpxchg.h     |  8 +++----
arch/s390/include/asm/jump_label.h  | 33 +++++++++++++++++------------
rust/Makefile                       |  1 +
rust/bindgen_parameters             |  7 ++++++
rust/helpers/uaccess.c              |  7 ++++++
scripts/generate_rust_target.rs     |  2 ++
scripts/min-tool-version.sh         |  6 +++++-
11 files changed, 76 insertions(+), 30 deletions(-)
[PATCH v4 0/6] s390: Enable Rust support and add required arch glue
Posted by Jan Polensky 1 week, 2 days ago
Rust support on s390 requires a small set of architecture-specific pieces
before the generic Rust kernel infrastructure can be used.

The series wires up s390 as a Rust-capable 64-bit architecture, adds the
missing assembly interfaces needed by Rust for WARN/BUG reporting and for
static branches, adjusts bindgen parameters to avoid repr layout conflicts
caused by packed and aligned s390 structures, and fixes issues discovered
during testing.

s390 currently requires rustc with support for -Zpacked-stack, and the
minimum tool version gating is adjusted accordingly.

Link: https://github.com/Rust-for-Linux/linux/issues/2

Tested against: rustc 1.96.0-beta.7 (6be5f81e1 2026-05-17)

Changes since v3:
- Added patch 4/6: Fix __underlying_memchr macro expansion on s390 (reported by Miguel)
- Added patch 5/6: Fix KASAN stack-out-of-bounds in atomic helpers (reported by Miguel, suggested by Gary)
- Patch 6/6: Document CONFIG_EXPOLINE constraint in arch-support.rst (Sashiko AI feedback)

Changes since v2:
- mflags: cleanup (thanks Gary)

Changes since v1:
- strip the -nightly suffix in min-tool-version.sh (thanks Miguel and Alice)
- ARCH_JUMP_TABLE_ENTRY() moved up to align comments properly (thanks Gary)
- removed MONCODE_BUG to prevent 0U in non-C context in assembler (noted by Sashiko - AI)
- prevent environment pollution by explicit initialization mflag := (noted by Sashiko - AI)

Jan Polensky (6):
  s390/bug: Provide ARCH_WARN_ASM for Rust WARN/BUG support
  s390/jump_label: Implement ARCH_STATIC_BRANCH_JUMP_ASM and
    ARCH_STATIC_BRANCH_ASM macros
  rust/bindgen_parameters: Mark s390 types as opaque to prevent repr
    conflicts
  rust: helpers: Use __builtin_memchr directly on s390
  s390/cmpxchg: Fix KASAN stack-out-of-bounds in atomic helpers
  s390: Enable Rust support

 Documentation/rust/arch-support.rst |  1 +
 arch/s390/Kconfig                   |  1 +
 arch/s390/Makefile                  | 28 ++++++++++++++----------
 arch/s390/include/asm/bug.h         | 12 +++++++++++
 arch/s390/include/asm/cmpxchg.h     |  8 +++----
 arch/s390/include/asm/jump_label.h  | 33 +++++++++++++++++------------
 rust/Makefile                       |  1 +
 rust/bindgen_parameters             |  7 ++++++
 rust/helpers/uaccess.c              |  7 ++++++
 scripts/generate_rust_target.rs     |  2 ++
 scripts/min-tool-version.sh         |  6 +++++-
 11 files changed, 76 insertions(+), 30 deletions(-)


base-commit: 8fde5d1d47f69db6082dfa34500c27f8485389a5
--
2.53.0
Re: [PATCH v4 0/6] s390: Enable Rust support and add required arch glue
Posted by Miguel Ojeda 1 week, 2 days ago
On Fri, May 29, 2026 at 4:58 PM Jan Polensky <japo@linux.ibm.com> wrote:
>
> Tested against: rustc 1.96.0-beta.7 (6be5f81e1 2026-05-17)

Rust 1.96.0 is released! :)

Cheers,
Miguel
Re: [PATCH v4 0/6] s390: Enable Rust support and add required arch glue
Posted by Jan Polensky 6 days, 16 hours ago
On Fri, May 29, 2026 at 06:56:45PM +0200, Miguel Ojeda wrote:
> On Fri, May 29, 2026 at 4:58 PM Jan Polensky <japo@linux.ibm.com> wrote:
> >
> > Tested against: rustc 1.96.0-beta.7 (6be5f81e1 2026-05-17)
>
> Rust 1.96.0 is released! :)
>
> Cheers,
> Miguel
Hi Miguel,

I’ve downloaded and tested it. v5 is now on its way.

Best regards,
Jan