-
Notifications
You must be signed in to change notification settings - Fork 30
GRUB memory corruption in older Container Linux releases #2400
Comments
Capturing some offline discussion and experimentation: Binary patching would involve:
This should not be done client side. If we do binary patch, we should build and thoroughly test it with each released version of grub, then the client side should apply the correct update based on either the original install version of a hash of To find the incorrect and correct values, you can download the binpkg for grub and use the debug symbols in Another option is to nop-out the call to It's also worth noting the binkpkg should be the one for the SDK, since we use the SDK's grub, not the board's. |
I went ahead and downloaded all the binpkgs from 926 - 1722 (183 releases) and did some analysis:
|
Things needed before binary patching:
|
This includes a postinst update to fix broken grubs. See coreos/bugs#2400.
Closed via coreos/coreos-overlay#3218 |
Reopening until it makes its way to stable. |
We're not planning to backport this to the current beta or stable branches; we'll let the change promote through the channels in the usual fashion. GRUB itself is fixed in all three release branches (though the fix is not yet included in a stable release) so there will be no new affected releases. Thus I'll close. |
Issue Report
Bug
Container Linux Version
Introduced in coreos/grub@a2599ab in 926.0.0.
Fixed in coreos/grub#53 in alpha 1744.0.0.
Environment
AMD64 booting via BIOS.
Expected Behavior
GRUB does not corrupt memory.
Actual Behavior
GRUB corrupts memory. Sometimes this causes boot failures.
Reproduction Steps
See #2284.
Other Information
Because GRUB is not updated after installation, OS upgrades will not fix the bug. The open question is whether the bug is likely to cause machines to break in the future. We have no evidence that this has happened so far, but we don't really know.
Further characterize the potential impact of the bug on existing systems, and consider adding a
coreos-postinst
hack to fix the broken GRUB on upgrade. This could be done by installing a fixed GRUB version (seems very risky) or by applying a binary patch to fix the incorrect offset (seems somewhat less risky).The text was updated successfully, but these errors were encountered: