[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Re: Balloon driver crash



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.

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.