[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Re: Balloon driver crash
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 justa 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. Michael Young Attachment:
balloon.fix.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |