GNU GRUB - Bugs: bug #46014, XEN domU crash when PV grub...
You are not allowed to post comments on this tracker with your current authentication level.
bug #46014: XEN domU crash when PV grub chainloads 32-bit domU grub
Submitter: | Andreas Sundstrom <sunkan> | ||
Submitted: | Mon 21 Sep 2015 07:48:56 PM UTC | ||
Votes: | 1 | ||
Category: | Booting | Severity: | Major |
Priority: | 5 - Normal | Item Group: | Software Error |
Status: | None | Privacy: | Public |
Assigned to: | None | Originator Name: | |
Open/Closed: | Open | Release: | other |
Release: | Reproducibility: | Intermittent | |
Planned Release: | 2.02 |
Jump to the original submission
Thu 09 Mar 2017 10:26:36 PM UTC, comment #11: |
Sergio Gelato <gelato> |
Sun 05 Mar 2017 09:33:40 AM UTC, comment #10: I committed a fix. Please try again |
Vladimir Serbinenko <phcoder> |
Fri 10 Feb 2017 07:42:23 PM UTC, comment #9: Tested git master at 529818738fb2aafb05721830dc99cc6c8736a048. Same outcome as before, i.e. chainloading fails, configfile fallback succeeds. (I expected this as the Debian patches seemed orthogonal to this issue, but of course it's better to confirm it. My initial gambit was because I had hoped to find that the bug was fixed, in which case the packaging would have been of immediate use to me.)
|
Sergio Gelato <gelato> |
Thu 09 Feb 2017 07:51:28 PM UTC, comment #8:
|
Andrei Borzenkov <arvidjaar> |
Thu 09 Feb 2017 07:45:52 PM UTC, comment #7: I downloaded grub-2.02~rc1.tar.xz, debianized it based on grub2_2.02~beta3-4.debian.tar.xz (two patches dropped as they are included in rc1), and applied commit 8a96fc409373fffda99e18a8438ddfc6bb787bc8 on top of it all. I did not include the "xen: Fix parsing of XZ kernel" patch; I take your question about git master to mean that I should. Built .deb packages using pbuilder and the Debian "stretch" repositories; the source and binary packages, and the build log, are all available at https://ttt.astro.su.se/~gelato/noIo7WNwqA/ . The guest has grub-common, grub2-common, grub-xen and grub-xen-bin installed, then "grub-install --target=i386-xen /dev/xvda" was run.
|
Sergio Gelato <gelato> |
Wed 08 Feb 2017 09:57:05 PM UTC, comment #6: Did you take branch or applied patch from ML (not from branch) ? Are both GRUBs updated? Does git master work? What is xen version? Is host 32 or 64-bit? I CNR on master. Can you send your binaries? |
Vladimir Serbinenko <phcoder> |
Wed 08 Feb 2017 08:58:56 PM UTC, comment #5: I regret to report that the patch referred to by comment #3, when applied by itself on top of 2.02-rc1, doesn't fix this bug for me.
|
Sergio Gelato <gelato> |
Tue 07 Feb 2017 03:21:49 PM UTC, comment #4: Yes, my comment #2 was wrong. On closer examination the change simply causes pvboot-i386.elf to fail and the dom0 to fall back to searching for grub.cfg directly. Sorry for the noise. Will try your patch. |
Sergio Gelato <gelato> |
Tue 07 Feb 2017 08:36:25 AM UTC, comment #3: I believe this is red herring. Please try the patch that I've posted on grub-devel mailing list (https://lists.gnu.org/archive/html/grub-devel/2017-02/msg00031.html) or the branch xenfixes (http://git.savannah.gnu.org/cgit/grub.git/commit/?h=phcoder/xenfixes ) |
Vladimir Serbinenko <phcoder> |
Tue 07 Feb 2017 07:40:19 AM UTC, comment #2: I think I've found a solution. If I change Xen ELF note 9 (PAE_MODEL) from the current "yes" to "no", the resulting image boots successfully all the way into Linux (i686-pae).
|
Sergio Gelato <gelato> |
Mon 06 Feb 2017 09:52:37 AM UTC, comment #1: I can reproduce this, so far 100% of the time, with GRUB 2.02 beta 3. Only when booting a 32-bit PV guest; 64-bit guests boot fine.
|
Sergio Gelato <gelato> |
Mon 21 Sep 2015 07:48:56 PM UTC, original submission:
This is using Debian Jessie and grub 2.02~beta2-22 (with Debian patches
in domU filesystem.
binary and the domU grub reads grub.cfg and continue booting.
boot.
|
Andreas Sundstrom <sunkan> |
Depends on the following items: None found
Items that depend on this one: None found
There is 1 vote so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follow 3 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2017-02-07 | gelato | Attached File | - | Added 0001-Xen-i386-PV-guest-bootloader-does-NOT-support-PAE.patch, #39687 | |
2017-02-06 | gelato | Carbon-Copy | - | Added gelato | |
2016-03-02 | phcoder | Planned Release | None | 2.02 |
Powered by Savane 3.13-d3ae.
Corresponding source code
Much better, thank you. I took commit bcf3c55531349dfec135cad9bf359960214dd0f6 and applied it on top of the version mentioned in comment #9. The resulting dom0 image is now able to chainload the guest kernel as desired.
I also cherrypicked the same commit into the Debian package (version 2.02~beta2-22+deb8u1, which is the one mentioned in the original submission with the fix for CVE-2015-8370 on top). Replacing grub-i386-xen.bin in dom0 with the patched version was enough to cure the problem.