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

Re: [Xen-devel] crash in page_list_* macro


  • To: Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>, "Xen-Devel (E-mail)" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
  • Date: Thu, 12 Feb 2009 08:38:35 +0000
  • Cc:
  • Delivery-date: Thu, 12 Feb 2009 00:39:01 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcmMxBv/SLL14qQHR72KtYoluQ5o2QAKS78n
  • Thread-topic: [Xen-devel] crash in page_list_* macro

On 12/02/2009 03:42, "Dan Magenheimer" <dan.magenheimer@xxxxxxxxxx> wrote:

> Is the memory where the list header is stored overloaded and
> sometimes overwritten for other purposes?  Note all pages
> on my page_list have been gotten via pi=alloc_domheap_pages(0,0,0).
> Next I use va=page_to_virt(pi), use the page for awhile,
> use pi=virt_to_page(va) and put it on the page_list, then
> later when I page_list_remove_head(my_page_list), the
> list pointers are apparently corrupt.

So long as you allocate anonymous domheap memory, or xenheap memory, the
page_list fields should belong to you. The list structure is pretty simple
and I can't see anything wrong with the macros. An empty list is noted by
NULL head/tail pointers, otherwise point at head/tail pages within which
next/prev pointers are 32-bit MFNs. The head and tail pages do not point at
the page_list_head but instead contain ~0 sentinel next/prev link values.

 -- Keir



_______________________________________________
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®.