Skip to content

kernel: correct stale config_aarch64 source signature#17370

Draft
Copilot wants to merge 9 commits into
3.0-devfrom
copilot/fix-source-signature-check-job
Draft

kernel: correct stale config_aarch64 source signature#17370
Copilot wants to merge 9 commits into
3.0-devfrom
copilot/fix-source-signature-check-job

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 20, 2026

Merge Checklist

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

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

Summary

GitHub Actions job Source Signature Check (SPECS) failed because SPECS/kernel/kernel.signatures.json carried a stale SHA256 for SPECS/kernel/config_aarch64. This updates the recorded source signature to match the checked-in kernel config used by the PR.

Change Log
  • Root-cause the CI failure from Actions run 26135884499, job 76870875247: SPECS/kernel/config_aarch64 hash did not match the value recorded in SPECS/kernel/kernel.signatures.json.
  • Refresh only the stale config_aarch64 entry in SPECS/kernel/kernel.signatures.json; no spec content or package payload changes.
  • Keep the fix surgical to the source-integrity metadata consumed by input-srpms / Source Signature Check.
{
  "Signatures": {
    "config_aarch64": "423d1dc2a276d717d7ad81712e79b4596ca1bceebb6ba2c7eed7ea8f591f1b7e"
  }
}
Does this affect the toolchain?

NO

Associated issues

None.

Links to CVEs

None.

Test Methodology
  • Reproduced the exact mismatch reported by Actions run 26135884499 / job 76870875247.
  • Verified locally that SPECS/kernel/config_aarch64 SHA256 now matches SPECS/kernel/kernel.signatures.json.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • mariner3dailydevrepo.blob.core.windows.net
    • Triggering command: /usr/bin/wget wget -O lkg-3.0-dev.json -nv REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Deepu Thomas and others added 8 commits May 20, 2026 05:10
The x86_64 kernel config has had CONFIG_RDS disabled since 5.4.23-11
(May 2020), but the aarch64 config retained CONFIG_RDS=m, CONFIG_RDS_TCP=m,
and CONFIG_RDS_RDMA=m. This was an oversight in the original change which
predated full aarch64 support in CBL-Mariner, and has persisted across
every kernel rebase since.

Align aarch64 with x86_64. RDS (Oracle Reliable Datagram Sockets) has no
expected use in Azure Linux guest workloads, and recent CVEs in the RDS
zerocopy send path (e.g. PinTheft LPE disclosed 2026-05-19) reinforce
that the protocol should not be reachable on hosts that don't need it.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: dethoma <11412958+dethoma@users.noreply.github.com>
Extend the RDS disable from the base kernel spec to the three other
aarch64 kernel variants that retained CONFIG_RDS=m: kernel-64k (large-page
ARM kernel), kernel-hwe (hardware-enablement kernel), and kernel-mshv
(Microsoft Hypervisor root kernel). Their x86_64 configs all had RDS
already disabled (except kernel-64k which is aarch64-only); this is the
same 6-year-old config divergence reflected across the kernel family.

Mitigates exposure to RDS-specific LPEs such as PinTheft (oss-security
2026/05/19) on every Azure Linux 3.0 aarch64 kernel variant.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: dethoma <11412958+dethoma@users.noreply.github.com>
…lement

Same entanglement-rule satisfaction commit Copilot did for the
kernel/kernel-uki/kernel-64k/kernel-headers/*-signed family, but for the
kernel-hwe and kernel-mshv variants whose siblings I missed when I
bumped just the base spec releases.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: dethoma <11412958+dethoma@users.noreply.github.com>
…kernel-hwe

The CVE fix in this PR (CONFIG_RDS disable on aarch64) trips
check-kernel-configs because it modifies kernel-64k/config_aarch64
and kernel-hwe/config_aarch64. That checker re-validates the WHOLE
config against azl3-os-required-kernel-configs.json on any change,
not just the diff, so it surfaces 11 pre-existing drifts that have
nothing to do with RDS:

  kernel-64k:
    CONFIG_IKCONFIG_PROC

  kernel-hwe:
    CONFIG_IKCONFIG_PROC, CONFIG_IP_VS_DEBUG,
    CONFIG_NETFILTER_XT_TARGET_NOTRACK, CONFIG_NFT_DUP_NETDEV,
    CONFIG_NFT_FWD_NETDEV, CONFIG_NFT_REJECT_NETDEV,
    CONFIG_NF_CT_NETLINK_HELPER, CONFIG_NF_DUP_NETDEV,
    CONFIG_SENSORS_MLXREG_FAN, CONFIG_VIRTIO_CONSOLE

Document each as an explicit override matching the value already
present in the spec config_aarch64. Justification cites this PR and
notes the drift is pre-existing so it can be investigated and either
ratified or fixed by the kernel-64k/kernel-hwe owners in a follow-up.

This unblocks the security fix without us silently changing 11
unrelated configs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: dethoma <11412958+dethoma@users.noreply.github.com>
Match the kernel-headers Release: 1->2 bump that Copilot's
entanglement-fix commit (6f147b7) applied to SPECS/kernel-headers.
The toolchain and pkggen_core manifests pin exact RPM filenames and
must track release bumps in kernel-headers (and its cross variant on
x86_64).

Affected manifests:
  toolkit/resources/manifests/package/pkggen_core_aarch64.txt
  toolkit/resources/manifests/package/pkggen_core_x86_64.txt
  toolkit/resources/manifests/package/toolchain_aarch64.txt
  toolkit/resources/manifests/package/toolchain_x86_64.txt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: dethoma <11412958+dethoma@users.noreply.github.com>
…IO_CONSOLE

I had two override values inverted in commit a39c466. kernel-hwe's
actual config_aarch64 has:
  CONFIG_NFT_DUP_NETDEV=m (I had set the override to 'y')
  CONFIG_VIRTIO_CONSOLE=y (I had set the override to 'm')

Correct both to match the actual config.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: dethoma <11412958+dethoma@users.noreply.github.com>
Agent-Logs-Url: https://github.com/microsoft/azurelinux/sessions/4644267a-b248-4420-8f4c-27dc97dd899b

Co-authored-by: dethoma <11412958+dethoma@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix failing GitHub Actions job 'Source Signature Check (SPECS)' kernel: correct stale config_aarch64 source signature May 20, 2026
Copilot AI requested a review from dethoma May 20, 2026 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3.0-dev PRs Destined for AzureLinux 3.0 Packaging security Tools

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants