Skip to content

Conversation

jakobbotsch
Copy link
Member

#115083 removed this outside Windows based on the discussion #115083 (comment).

But IsIPInEpilog seems to depend on this to be set:

// We are not inside the prolog. We could either be in the middle of the method body or
// inside the epilog. While unwindInfo contains the prolog length, it does not contain the
// epilog length.
//
// Thus, to determine if we are inside the epilog, we use a property of RtlVirtualUnwind.
// When invoked for an IP, it will return a NULL for personality routine in only two scenarios:
//
// 1) The unwindInfo does not contain any personality routine information, OR
// 2) The IP is in prolog or epilog.
//
// For jitted code, (1) is not applicable since we *always* emit details of the managed personality routine
// in the unwindInfo. Thus, since we have already determined that we are not inside the prolog, if performing
// RtlVirtualUnwind against "ipToCheck" results in a NULL personality routine, it implies that we are inside
// the epilog.

This breaks hijacking outside Windows.

Fix #115321

`IsIPInEpilog` depends on this to exist. This breaks hijacking outside
Windows.
@github-actions github-actions bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label May 19, 2025
@jakobbotsch jakobbotsch added area-VM-coreclr and removed needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners labels May 19, 2025
@dotnet-policy-service
Copy link
Contributor

Tagging subscribers to this area: @mangod9
See info in area-owners.md if you want to be subscribed.

@dotnet dotnet deleted a comment from azure-pipelines bot May 19, 2025
Copy link
Member

@jkotas jkotas left a comment

Choose a reason for hiding this comment

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

Thank you for fixing this!

@jakobbotsch
Copy link
Member Author

/azp run runtime-coreclr jitstress

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@jakobbotsch
Copy link
Member Author

/azp run runtime-coreclr jitstress

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@am11
Copy link
Member

am11 commented May 19, 2025

Thanks!
wasm build failure seem related.

@jakobbotsch
Copy link
Member Author

/ba-g Installer build and test actually succeeded when looking at the console log manually (https://helix.dot.net/api/jobs/87aee799-4b70-4745-9564-0daadc53e3d0/workitems/HostActivation.Tests?api-version=2019-06-17). The other failure is a build failure being fixed by #115767

@jakobbotsch jakobbotsch merged commit dd33442 into dotnet:main May 20, 2025
91 of 95 checks passed
@jakobbotsch jakobbotsch deleted the fix-115321 branch May 20, 2025 16:27
SimaTian pushed a commit that referenced this pull request May 27, 2025
`IsIPInEpilog` depends on this to exist. Without it, hijacking is broken outside Windows.
@github-actions github-actions bot locked and limited conversation to collaborators Jun 20, 2025
Sign up for free to 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.

Test failure: JIT/Regression/CLR-x86-JIT/V2.0-Beta2/b425314/b425314/b425314.cmd

4 participants