Skip to content

openssl speed fixes#12992

Merged
tobiasb-ms merged 2 commits into3.0-devfrom
tobiasb-ms/openssl-speed-fixes
Mar 18, 2025
Merged

openssl speed fixes#12992
tobiasb-ms merged 2 commits into3.0-devfrom
tobiasb-ms/openssl-speed-fixes

Conversation

@tobiasb-ms
Copy link
Copy Markdown
Contributor

@tobiasb-ms tobiasb-ms commented Mar 17, 2025

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

With the symcrypt provider installed, openssl speed has a couple problems.

First, there are intermittent (but frequent) segfaults in openssl speed ecdh and openssl speed ffdh. This is fixed by upstream pull openssl/openssl#26976. We fix that by taking that patch.

Second, there are several warnings, the root cause of which also makes certain speed test be skipped. This boils down to a feature gap between symcrypt and default provider. For now, we will patch out the specific tests that are warning/bailing, but as those features come online in symcrypt we'll modify/remove that patch.

Change Log
  • Add upstream patch openssl/openssl@782912c to fix seg faults.
  • Add patch that disables specific speed tests that symcrypt does not yet support.
  • Bump release and package manifests.
Does this affect the toolchain?

YES

Associated issues
Test Methodology
  1. amd64-non-fips
  2. amd64-fips
  3. arm64-non-fips
  4. arm64-fips

For each, I validated:

  1. It was in the correct fips mode
  2. Fips mode could be enabled/disabled
  3. symcrypt provider is present by default and for non-fips images can be removed.
  4. basic encrypt/decrypt and sign/validate worked
  5. openssl speed runs correctly
  6. go tests with the system provider run properly

@tobiasb-ms tobiasb-ms requested a review from a team as a code owner March 17, 2025 22:44
@microsoft-github-policy-service microsoft-github-policy-service Bot added Packaging 3.0-dev PRs Destined for AzureLinux 3.0 labels Mar 17, 2025
@tobiasb-ms tobiasb-ms merged commit c7a5b79 into 3.0-dev Mar 18, 2025
14 checks passed
@tobiasb-ms tobiasb-ms deleted the tobiasb-ms/openssl-speed-fixes branch March 18, 2025 17:57
@tobiasb-ms tobiasb-ms mentioned this pull request Mar 28, 2025
12 tasks
SumitJenaHCL pushed a commit to SumitJenaHCL/azurelinux that referenced this pull request Aug 20, 2025
With the symcrypt provider installed, openssl speed has a couple problems.

First, there are intermittent (but frequent) segfaults in openssl speed ecdh and openssl speed ffdh. This is fixed by upstream pull openssl/openssl#26976. We fix that by taking that patch.

Second, there are several warnings, the root cause of which also makes certain speed test be skipped. This boils down to a feature gap between symcrypt and default provider. For now, we will patch out the specific tests that are warning/bailing, but as those features come online in symcrypt we'll modify/remove that patch.
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants