*   VM_RESERVED tells swapout not to try to touch *	this region. 
*   VM_RESERVED tells the core MM not to "manage" these pages *	(e.g. refcount, mapcount, try to swap them out). 
int remap_pfn_range(struct vm_area_struct *vma, unsigned long addr,		    unsigned long pfn, unsigned long size, pgprot_t prot){	pgd_t *pgd;	unsigned long next;	unsigned long end = addr + PAGE_ALIGN(size);	struct mm_struct *mm = vma->vm_mm;	int err;	/*	 * Physically remapped pages are special. Tell the	 * rest of the world about it:	 *   VM_IO tells people not to look at these pages	 *	(accesses can have side effects).	 *   VM_RESERVED tells swapout not to try to touch	 *	this region.	 */	vma->vm_flags |= VM_IO | VM_RESERVED;	BUG_ON(addr >= end);	pfn -= addr >> PAGE_SHIFT;	pgd = pgd_offset(mm, addr);	flush_cache_range(vma, addr, end);	spin_lock(&mm->page_table_lock);	do {		next = pgd_addr_end(addr, end);		err = remap_pud_range(mm, pgd, addr, next,				pfn + (addr >> PAGE_SHIFT), prot);		if (err)			break;	} while (pgd++, addr = next, addr != end);	spin_unlock(&mm->page_table_lock);	return err;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b5810039a54e5babf428e9a1e89fc1940fabff11/memory.c/buggy/mm/memory.c