azurelinux icon indicating copy to clipboard operation
azurelinux copied to clipboard

rust: Upgrade to 1.90.0

Open KavyaSree2610 opened this issue 2 months ago • 5 comments

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • [x] The toolchain has been rebuilt successfully (or no changes were made to it)
  • [x] The toolchain/worker package manifests are up-to-date
  • [x] Any updated packages successfully build (or no packages were changed)
  • [x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • [x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • [x] All package sources are available
  • [x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • [x] LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • [x] All source files have up-to-date hashes in the *.signatures.json files
  • [x] sudo make go-tidy-all and sudo make go-test-coverage pass
  • [x] Documentation has been updated to match any changes to the build system
  • [ ] Ready to merge

Summary
  • Upgrades Rust from 1.86.0 to 1.90.0
  • Updates all Rust-dependent packages to ensure compatibility with the new toolchain
  • Kata Containers Compatibility Patch (0001_warning.patch) A new patch has been introduced to resolve compilation warnings in kata-containers and kata-containers-cc that emerged with Rust 1.90.0. This patch is necessary because the kata-containers spec file requires rust >= 1.85.0, and newer Rust versions (1.88+) have stricter compiler warnings and linting rules.

Specific Fixes in the Patch:

  1. Dead Code Warning Suppression for s390x CCW Device Handlers Adds #[allow(dead_code)] annotations to Channel Command Word (CCW) device handler structs Root Cause: These CCW device handlers are implemented for s390x architecture support, but since kata-containers is built exclusively for x86_64 (as specified in the spec file), these structs are defined but never actually used

  2. Explicit Lifetime Annotation for Iterator Updates iterator lifetime annotations from elided lifetimes to explicit '_ (anonymous lifetime) Root Cause: Rust 1.88+ enforces more explicit lifetime annotations for iterators to improve code clarity and prevent potential lifetime-related bugs

What does the PR accomplish, why was it needed?

  • Upgrade rust to 1.90.0
Change Log
  • Bump release for all the dependent packages
  • Update cgmanifest and signatures for new rust
  • Suppress dead_code warnings for architecture-specific CCW handlers and fix lifetime elision warning in U32Set iterator implementation in katacontainers/kata-containers-cc
  • Add a patch to 389-ds-base to fix lifetime elision warning
Does this affect the toolchain?

NO

Associated issues
  • https://microsoft.visualstudio.com/OS/_workitems/edit/58943486
Links to CVEs
  • https://nvd.nist.gov/vuln/detail/CVE-YYYY-XXXX
Test Methodology
  • Buddy Build(SPECS): https://dev.azure.com/mariner-org/mariner/_build/results?buildId=972270&view=results
  • Buddy Build(SPECS-EXTENDED): https://dev.azure.com/mariner-org/mariner/_build/results?buildId=972436&view=results (Ptests failing in rust-cbindgen and python-argcomplete is a known issue)
  • Full build id: 3.0.20251030-kkaitepalli-967858

KavyaSree2610 avatar Oct 07 '25 06:10 KavyaSree2610