Index: linux-2.6.15-rc3-mm1/mm/mempolicy.c =================================================================== --- linux-2.6.15-rc3-mm1.orig/mm/mempolicy.c 2005-11-30 09:53:31.000000000 -0800 +++ linux-2.6.15-rc3-mm1/mm/mempolicy.c 2005-11-30 09:53:32.000000000 -0800 @@ -294,7 +294,7 @@ static inline int check_pgd_range(struct static inline int vma_migratable(struct vm_area_struct *vma) { if (vma->vm_flags & ( - VM_LOCKED|VM_IO|VM_RESERVED|VM_PFNMAP|VM_DENYWRITE|VM_SHM)) + VM_LOCKED|VM_IO|VM_RESERVED|VM_PFNMAP|VM_DENYWRITE)) return 0; return 1; } Index: linux-2.6.15-rc3-mm1/mm/vmscan.c =================================================================== --- linux-2.6.15-rc3-mm1.orig/mm/vmscan.c 2005-11-30 09:53:31.000000000 -0800 +++ linux-2.6.15-rc3-mm1/mm/vmscan.c 2005-11-30 09:53:41.000000000 -0800 @@ -742,7 +742,7 @@ int migrate_page_remove_references(struc &mapping->page_tree, page_index(page)); - if (!page->mapping || + if (!page_mapping(page) || page_count(page) != nr_refs || *radix_pointer != page) { write_unlock_irq(&mapping->tree_lock);