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

@rcj1rcj1 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.

@rcj1rcj1 changed the title Fix context alignment and content on debug validation paths[cDAC] Fix context alignment and content on debug validation pathsJun 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.

CopilotAI 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
FileDescription
src/native/managed/cdac/mscordaccore_universal/Entrypoints.csClears the temporary aligned buffer before invoking readThreadContext.
src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Legacy/Dbi/DacDbiImpl.csUses 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
ContributorAuthor

/ba-g known sos and x86 issues

@rcj1
rcj1 merged commit f4430a4 into dotnet:mainJun 23, 2026
79 of 86 checks passed
@rcj1
rcj1 deleted the fix-validation-sw branch June 23, 2026 15:44
@dotnet-milestone-botdotnet-milestone-botBot 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.
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 24, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rcj1@max-charlamb