All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: Ian Campbell <ian.campbell@citrix.com>, Wei Liu <wei.liu2@citrix.com>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	roger.pau@citrix.com, ian.jackson@eu.citrix.com,
	xen-devel@lists.xen.org, stefano.stabellini@eu.citrix.com
Subject: Re: pvgrub "Error 9: Unknown boot failure" booting Debian Jessie kernel (Was: Re: [PATCH v5 6/9] libxc: create unmapped initrd in domain builder if supported)
Date: Tue, 1 Dec 2015 08:41:10 +0100	[thread overview]
Message-ID: <565D4F16.90800@suse.com> (raw)
In-Reply-To: <565D4929.1090008@suse.com>

On 01/12/15 08:15, Juergen Gross wrote:
> On 30/11/15 17:56, Ian Campbell wrote:
>> On Mon, 2015-11-30 at 16:25 +0000, Ian Campbell wrote:
>>> (d54) Pinning the boot page table pfn 4be3 / mfn 1bfd71/1bfd71
>>> (d54) pin_table: MFN 1bfd71
>>> (XEN) mm.c:2417:d54v0 Bad type (saw 1400000000000001 != exp 7000000000000000) for mfn 165b81 (pfn 4d81)
>>
>> I added a "BUG_ON(*pt_pfn == 0x4d81);" to mini-os's new_pt_frame, which
>> after some messing with gdb to decode produced this stack trace:
>>
>> 716e7: arch_do_exit + 9 in section .text
>> 66176: do_exit + 28 in section .text
>> 6ff68: new_pt_frame + 134 in section .text
>> 70401: need_pgt + 410 in section .text
>> 706ec: do_map_frames + 284 in section .text
>> 66e72: sbrk + 130 in section .text
>> 7768e: _sbrk_r + 30 in section .text
>> 74fa3: _malloc_r + 1219 in section .text
>> 76f3f: _realloc_r + 511 in section .text
>> 31035: unsafe_flush + 46 in section .text
>> 38bc7: unxz + 480 in section .text
>> 310fa: xc_dom_decompress_unsafe + 110 in section .text
>> 38cec: xc_try_xz_decode + 45 in section .text
>> 286ff: xc_dom_probe_bzimage_kernel + 891 in section .text
>> 24613: xc_dom_find_loader + 89 in section .text
>> 24d83: xc_dom_parse_image + 58 in section .text
>> 19d06: kexec + 1012 in section .text
>> 03c27: pv_boot + 97 in section .text
>> 08e4b: boot_func + 52 in section .text
>> 0ab16: run_script + 294 in section .text
>> 10848: run_menu + 3133 in section .text
>> 10fb2: cmain + 1444 in section .text
>> 04447: main + 303 in section .text
>> 66991: call_main + 581 in section .text
>> 03423: thread_starter + 9 in section .text
>>
>> I'm not quite sure what to make of this, in particular I don't see anything
>> in kexec.c which obviously looks after unmapping the heap or brk areas.
> 
> Nah, this backtrace shows a normal allocation path while
> uncompressing the kernel image. I'd expect something like that.
> Why shouldn't mini-os make use of pfn 4d81 somewhere?
> 
> I guess there is something wrong either in mini-os's memory
> allocator (not very likely) or in kexec_allocate(). I'll try to
> check those.

Hmm, kexec_allocate() seems to be a little bit fishy.

I suspect a problem in the loop for the case new_pfn == i. I think
in this case the p2m list will be written with a wrong entry.

Ian, could you verify via:

diff --git a/stubdom/grub/kexec.c b/stubdom/grub/kexec.c
index 8fd9ff9..9421023 100644
--- a/stubdom/grub/kexec.c
+++ b/stubdom/grub/kexec.c
@@ -131,6 +131,8 @@ int kexec_allocate(struct xc_dom_image *dom)
	/* Store destination PFN of currently requested page. */
	pages_moved2pfns[i] = new_pfn;

+	BUG_ON(new_pfn == i);
+
	/* Put old page at new PFN */
	dom->p2m_host[new_pfn] = old_mfn;


Juergen

  reply	other threads:[~2015-12-01  7:41 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-12 13:43 [PATCH v5 0/9] libxc: support building large pv-domains Juergen Gross
2015-11-12 13:43 ` [PATCH v5 1/9] libxc: reorganize domain builder guest memory allocator Juergen Gross
2015-11-12 13:48   ` Wei Liu
2015-11-12 14:03     ` Juergen Gross
2015-11-12 14:47       ` Wei Liu
2015-11-12 14:47       ` Ian Campbell
2015-11-12 14:48         ` Wei Liu
2015-11-12 15:27         ` Juergen Gross
2015-11-12 15:55           ` Wei Liu
2015-11-13  4:41             ` Juergen Gross
2015-11-13  9:28             ` Ian Campbell
2015-11-13 11:13               ` Wei Liu
2015-11-12 13:43 ` [PATCH v5 2/9] xen: add generic flag to elf_dom_parms indicating support of unmapped initrd Juergen Gross
2015-11-12 13:43 ` [PATCH v5 3/9] libxc: rename domain builder count_pgtables to alloc_pgtables Juergen Gross
2015-11-12 13:43 ` [PATCH v5 4/9] libxc: introduce domain builder architecture specific data Juergen Gross
2015-11-12 13:43 ` [PATCH v5 5/9] libxc: use domain builder architecture private data for x86 pv domains Juergen Gross
2015-11-12 13:43 ` [PATCH v5 6/9] libxc: create unmapped initrd in domain builder if supported Juergen Gross
2015-11-25 16:12   ` Boris Ostrovsky
2015-11-25 16:18     ` Wei Liu
2015-11-25 16:24       ` Boris Ostrovsky
2015-11-25 16:29       ` Ian Campbell
2015-11-25 16:31         ` Wei Liu
2015-11-25 16:34         ` Boris Ostrovsky
2015-11-26  5:06     ` Juergen Gross
2015-11-26  5:19       ` Juergen Gross
2015-11-26  7:35     ` Juergen Gross
2015-11-30 10:20       ` Wei Liu
2015-11-30 10:23         ` Juergen Gross
2015-11-30 10:29           ` Wei Liu
2015-11-30 10:34           ` Ian Campbell
2015-11-30 10:47             ` Juergen Gross
2015-11-30 10:51               ` Ian Campbell
2015-11-30 10:52                 ` Ian Campbell
2015-11-30 11:03                   ` Juergen Gross
2015-11-30 11:23                     ` Ian Campbell
2015-11-30 12:20                       ` Juergen Gross
2015-11-30 12:35                         ` Ian Campbell
2015-11-30 12:59                           ` Juergen Gross
2015-11-30 13:16                             ` pvgrub "Error 9: Unknown boot failure" booting Debian Jessie kernel (Was: Re: [PATCH v5 6/9] libxc: create unmapped initrd in domain builder if supported) Ian Campbell
2015-11-30 13:41                               ` Ian Campbell
2015-11-30 14:10                                 ` Ian Campbell
2015-11-30 16:15                                 ` Juergen Gross
2015-11-30 16:25                                   ` Ian Campbell
2015-11-30 16:56                                     ` Ian Campbell
2015-12-01  7:15                                       ` Juergen Gross
2015-12-01  7:41                                         ` Juergen Gross [this message]
2015-12-01  8:30                                           ` Ian Campbell
2015-12-01  8:53                                             ` Juergen Gross
2015-12-01 10:01                                               ` Ian Campbell
2015-12-01 10:04                                                 ` Ian Campbell
2015-12-01 10:21                                                   ` Wei Liu
2015-12-01 10:31                                                     ` Ian Campbell
2015-12-01 10:33                                                       ` Wei Liu
2015-12-01 10:35                                                         ` Ian Campbell
2015-12-01 10:47                                                 ` Juergen Gross
2015-12-01  8:32                                         ` Ian Campbell
2015-12-01 11:12                                     ` dom builder logging from pvgrub Ian Campbell
2015-12-01 12:17                                       ` Samuel Thibault
2015-11-30 10:57                 ` [PATCH v5 6/9] libxc: create unmapped initrd in domain builder if supported Juergen Gross
2015-11-30 18:00       ` Boris Ostrovsky
2015-11-12 13:43 ` [PATCH v5 7/9] libxc: split p2m allocation in domain builder from other magic pages Juergen Gross
2015-11-12 13:43 ` [PATCH v5 8/9] libxc: rework of domain builder's page table handler Juergen Gross
2015-11-12 13:47   ` Wei Liu
2015-11-12 13:48     ` Juergen Gross
2015-11-16 13:40       ` Ian Campbell
2015-11-16 14:32         ` Juergen Gross
2015-11-18 16:11   ` Boris Ostrovsky
2015-11-18 16:16     ` Wei Liu
2015-11-18 16:21       ` Boris Ostrovsky
2015-11-19  6:09         ` Juergen Gross
2015-11-19 13:41           ` Boris Ostrovsky
2015-11-12 13:43 ` [PATCH v5 9/9] libxc: create p2m list outside of kernel mapping if supported Juergen Gross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=565D4F16.90800@suse.com \
    --to=jgross@suse.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=roger.pau@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.