On Tue, 2010-06-08 at 09:28 +0100, M A Young wrote:
> On Tue, 8 Jun 2010, Ian Campbell wrote:
>
> > On Mon, 2010-06-07 at 20:29 +0100, M A Young wrote:
> >> On Thu, 3 Jun 2010, Dave McCracken wrote:
> >>
> >>> On Thursday, June 03, 2010, Ian Campbell wrote:
> >>>>> This seems to be about line 343 of drivers/xen/balloon.c in the
> >>>>> subroutine decrease_reservation which is
> >>>>>
> >>>>> for (j = 0; j < balloon_npages; j++, lpfn++, mfn++) {
> >>>>> if ((discontig_frame_list[j] =
> >>>>> pfn_to_mfn(lpfn))
> >>>>>
> >>>>> != mfn)
> >>>>>
> >>>>> discontig_free = 1;
> >>>>>
> >>>>> set_phys_to_machine(lpfn, INVALID_P2M_ENTRY);
> >>>>>
> >>>>> /* here */ if (!PageHighMem(page)) {
> >>>>>
> >>>>> ret = HYPERVISOR_update_va_mapping(
> >>>>> (unsigned long)__va(lpfn <<
> >>>>>
> >>>>> PAGE_SHIFT),
> >>>>>
> >>>>> __pte_ma(0), 0);
> >>>>> BUG_ON(ret);
> >>>>> }
> >>>>> }
> >>>>>
> >>>>>
> >>>>>> From what I can tell page is meaningless in this context as it is just
> >>>>>
> >>>>> a temporary variable used in the previous loop, so I would
> >>>>> guess that PageHighMem should be checking something else, or page should
> >>>>> be set somewhere eg. at a guess page=pfn_to_page(lpfn);
> >>>>
> >>>> That would be my guess also. CCing Dave McCracken who looks to have
> >>>> introduced this code in 0e898d5e "Add hugepage support to balloon
> >>>> driver"
> >>>
> >>> Yes, that is definitely an error. The offending line should be
> >>>
> >>> if (!PageHighMem(pfn_to_page(lpfn))) {
> >>>
> >>> Dave McCracken
> >>> Oracle Corp.
> >>
> >> I have tested the corrected line and it does fix the crash I was seeing.
> >
> > Please can one of you generate a patch and send it to the list.
>
> Attached.
Thanks, but I meant with a checkin comment and a signed-off-by etc, plus
CC to Jeremy...
Ian.
>
> Michael Young
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|