SecurityPkg/SecureBootConfigDxe: require reset on all SB changes #137
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Enrolling or removing any signature should require a reset to avoid booting a system with some weird value of PCR-7. The PCR is extended on writes into SecureBoot-related variables (see SecureBootHook() in SecurityPkg/DxeImageVerificationLib) and then right before booting (in TcgDxe or Tcg2Dxe in OnReadyToBoot() handler), meaning that editing SecureBoot configuration and continuing boot process without a reset results in an unexpected value of PCR-7 even if the end result of changes is the same as it would be without any changes.
Now reset is required in the following cases as well:
Addition cases are handled in VFR while deletion options are checkboxes generated in C and that's where the flags get set (number of updated places is fewer than number of handled cases because functions are shared by menus).