Skip to content

Incorrect assembler directive used for AArch64 raw instruction #2909

@awshkulkar

Description

@awshkulkar

Security issue notifications

If you discover a potential security issue in AWS-LC we ask that you notify AWS Security via our
vulnerability reporting page. Please do not create a
public github issue, if in doubt contact AWS security first.

Problem:

Incorrect assembler directive used for raw instructions

Solution:

The crypto/fipsmodule/cpucap/cpu_aarch64.c file contains MSR instructions for DIT set/restore that contain raw instructions. These however use .long instead of .inst as directive. Post link tools such as llvm-bolt rely on correct data mapping symbols to create control flow graph. Correcting them makes such tools run correct analysis.

  • Does this change any public APIs? If yes, explain.
  • No
  • Which algorithm(s) will this impact?
    None

Requirements / Acceptance Criteria: Unit tests, binary output with or without change for a given sha/toolchain match.

What must a solution address in order to solve the problem? How do we know the solution is complete?

  • RFC links: N/A
  • Related Issues: N/A
  • Will the Usage Guide or other documentation need to be updated?
  • Testing: How will this change be tested? Call out new integration tests, functional tests, or particularly
    interesting/important unit tests.
    • Will this change trigger AWS LibCrypto Formal Verification changes? No
    • Should this change be fuzz tested? Will it handle untrusted input? Create a separate issue to track the fuzzing work. N/A

Out of scope:

Is there anything the solution will intentionally NOT address?
No

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions