|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
Re: [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
 
 |   
 
 | 
    | 
  
  
    |   | 
    |