Skip to content

[cDAC] Fix context alignment and content on debug validation paths#129720

Merged
rcj1 merged 1 commit into
dotnet:mainfrom
rcj1:fix-validation-sw
Jun 23, 2026
Merged

[cDAC] Fix context alignment and content on debug validation paths#129720
rcj1 merged 1 commit into
dotnet:mainfrom
rcj1:fix-validation-sw

Conversation

@rcj1

@rcj1 rcj1 commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Ensure that buffers passed into debug validation are 16-aligned. Also ensure that native memory is cleared before writing into it.

@rcj1 rcj1 changed the title Fix context alignment and content on debug validation paths [cDAC] Fix context alignment and content on debug validation paths Jun 22, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @steveisok, @tommcdon, @dotnet/dotnet-diag
See info in area-owners.md if you want to be subscribed.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts cDAC interop/debug-validation code paths to (1) ensure thread/context buffers are 16-byte aligned before being passed to callbacks/legacy implementations and (2) clear native buffers before they’re written/compared, reducing the chance of alignment faults and spurious diffs from uninitialized bytes.

Changes:

  • Zero-initialize the temporary aligned buffer used when calling the readThreadContext delegate in mscordaccore_universal.
  • Replace byte[] + fixed with NativeMemory.AlignedAlloc(..., 16) in legacy stack-walk validation paths, and clear the native buffer before calling legacy APIs.
Show a summary per file
File Description
src/native/managed/cdac/mscordaccore_universal/Entrypoints.cs Clears the temporary aligned buffer before invoking readThreadContext.
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy/Dbi/DacDbiImpl.cs Uses 16-byte-aligned native buffers (and clears them) when calling legacy stack-walk APIs for validation.

Copilot's findings

  • Files reviewed: 2/2 changed files
  • Comments generated: 5

@rcj1

rcj1 commented Jun 23, 2026

Copy link
Copy Markdown
Contributor Author

/ba-g known sos and x86 issues

@rcj1
rcj1 merged commit f4430a4 into dotnet:main Jun 23, 2026
79 of 86 checks passed
@rcj1
rcj1 deleted the fix-validation-sw branch June 23, 2026 15:44
@dotnet-milestone-bot dotnet-milestone-bot Bot added this to the 11.0-preview6 milestone Jun 24, 2026
eiriktsarpalis pushed a commit that referenced this pull request Jul 15, 2026
…129720)

Ensure that buffers passed into debug validation are 16-aligned. Also
ensure that native memory is cleared before writing into it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants