Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/6.0] Handle when DestroyStructure API passes null to the IL marshaller #62002

Merged
merged 1 commit into from
Dec 15, 2021

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Nov 24, 2021

Backport of #61985 to release/6.0

/cc @AaronRobinsonMSFT

Customer Impact

The issue was reported by a customer. This seems to be additional fallout from the field marshaling work done in early .NET 5. This is a regression in behavior from .NET Framework. The scenario is likely not common given the code has been broken since early .NET 5. The fix will impact all non-blittable field marshaling due to the current architecture. There is a workaround if the types can be changed, but otherwise there is no mitigation.

See #61839

Testing

Additional testing for the targeted scenario was added.

Risk

Medium. The struct field marshaling code paths have proven to be very dangerous to alter. In this case, since the bug would always result in crashing behavior it is lower than High, but does still introduce some risk. The most obvious risk here would be for products that have not tried to port from .NET Framework yet.

… valuetypes. This is an issue with field marshallers of nested non-blittable types.
@AaronRobinsonMSFT AaronRobinsonMSFT added the Servicing-consider Issue for next servicing release review label Nov 24, 2021
@AaronRobinsonMSFT AaronRobinsonMSFT added this to the 6.0.x milestone Nov 24, 2021
@AaronRobinsonMSFT
Copy link
Member

/cc @jkoritzinsky @elinor-fung

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.

LGTM

@leecow leecow added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Nov 30, 2021
@leecow leecow modified the milestones: 6.0.x, 6.0.2 Nov 30, 2021
@safern safern merged commit b5305cb into release/6.0 Dec 15, 2021
@safern safern deleted the backport/pr-61985-to-release/6.0 branch December 15, 2021 18:38
@ghost ghost locked as resolved and limited conversation to collaborators Jan 14, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Interop-coreclr Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants