[CHERRY-PICK] MdeModulePkg: Improved error handling in RuntimeDxe Variable drivers [Rebase & FF] - #1899
Conversation
|
/azp run |
⌛ QEMU Validation PendingQEMU validation is pending on successful CI completion.
This comment was automatically generated by the Mu QEMU PR Validation workflow. |
|
Commenter does not have sufficient privileges for PR 1899 in repo microsoft/mu_basecore |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## release/202511 #1899 +/- ##
=================================================
Coverage ? 1.65%
=================================================
Files ? 637
Lines ? 233220
Branches ? 519
=================================================
Hits ? 3865
Misses ? 229331
Partials ? 24
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Please amend the commit to contain [Cherry-Pick] in the commit message title. |
There was a problem hiding this comment.
As Vineel Kovvuri[MSFT] (@vineelko) mentioned, you need to prepend the commit title with "[CHERRY-PICK]".
Cherry-pick commits are merged as-is (do not take the PR title), so it needs to be there.
Also, your original commit message in edk2 is:
MdeModulePkg: Improved error handling in RuntimeDxe Variable drivers
Some platforms may disableASSERT_DEADLOOP_ENABLEDin
PcdDebugPropertyMask. In this case ASSERT won't hang the machine.
Replaced those simple ASSERT with proper error returning handling.Signed-off-by: Paddy Deng (AMI US Holdings Inc) v-dengpaddy@microsoft.com
Your current commit message here is:
MdeModulePkg: Improved error handling in RuntimeDxe Variable drivers
Replace ASSERT_EFI_ERROR with proper error handling that returns
failure status codes. This ensures platforms with
ASSERT_DEADLOOP_ENABLED disabled handle errors gracefully.(cherry picked from commit 8bf75267f9311a8a66a3864ee71426c70bb288bb)
Co-authored-by: Copilot App 223556219+Copilot@users.noreply.github.com
You need to carry over you signed-off-by line. Your commit message here should be:
MdeModulePkg: Improved error handling in RuntimeDxe Variable drivers
Replace ASSERT_EFI_ERROR with proper error handling that returns
failure status codes. This ensures platforms with
ASSERT_DEADLOOP_ENABLED disabled handle errors gracefully.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Paddy Deng (AMI US Holdings Inc) <v-dengpaddy@microsoft.com>
(cherry picked from commit 8bf75267f9311a8a66a3864ee71426c70bb288bb)
…iable drivers Replace ASSERT_EFI_ERROR with proper error handling that returns failure status codes. This ensures platforms with ASSERT_DEADLOOP_ENABLED disabled handle errors gracefully. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: Paddy Deng (AMI US Holdings Inc) <v-dengpaddy@microsoft.com> (cherry picked from commit 8bf75267f9311a8a66a3864ee71426c70bb288bb)
4e91adf to
87e5a20
Compare
|
Hi Michael Kubacki (@makubacki) and Aaron (@apop5) , Thanks for pointing out. I have amended the commit message. |
|
PaddyDeng-v, is there a strong need for this change to go into 202511? I know this is intended to improve robustness overall and we've spent some time going through the individual changes, but release branches (especially 2511 at this point in its lifetime) are not really meant to absorb such impactful changes to error handling control flow logic that's been around for a long time unless there is a reason to risk regression. |
Description
Cherry-pick of tianocore/edk2 PR #12670 (commit 8bf75267f9311a8a66a3864ee71426c70bb288bb).
This PR improves error handling in the Variable SMM/DXE RuntimeDxe drivers by replacing
ASSERT_EFI_ERRORcalls with proper error-returning handling. This ensures platforms withASSERT_DEADLOOP_ENABLEDdisabled handle initialization errors gracefully instead ofsilently continuing.
Changes
ASSERT_EFI_ERRORwithif (EFI_ERROR(...))+DEBUG+goto ErrorExitpatternErrorExitcleanup paths inVariableServiceInitialize()andMmVariableServiceInitialize()VariableCommonInitialize()error paths (callers handle cleanup)gEfiVariableArchProtocolGuidinstallation to end ofVariableServiceInitialize()VariableClearNotifySmmReady()function for SMM notification cleanupConflict Resolution
VariableDxe.c: Preserved mu_basecore'sInitializeVariablePolicyLockingcall (MU_CHANGE)while wrapping it with proper error handling instead of
ASSERT_EFI_ERROR.How This Was Tested
Cherry-picked and conflict-resolved from upstream edk2 where it passed CI.
Integration Checklist