inc_mm_counter(dst_mm, rss); 
copy_one_pte(struct mm_struct *dst_mm, struct mm_struct *src_mm,		pte_t *dst_pte, pte_t *src_pte, unsigned long vm_flags,		unsigned long addr){	pte_t pte = *src_pte;	struct page *page;	unsigned long pfn;	/* pte contains position in swap or file, so copy. */	if (unlikely(!pte_present(pte))) {		if (!pte_file(pte)) {			swap_duplicate(pte_to_swp_entry(pte));			/* make sure dst_mm is on swapoff's mmlist. */			if (unlikely(list_empty(&dst_mm->mmlist))) {				spin_lock(&mmlist_lock);				list_add(&dst_mm->mmlist, &src_mm->mmlist);				spin_unlock(&mmlist_lock);			}		}		set_pte_at(dst_mm, addr, dst_pte, pte);		return;	}	pfn = pte_pfn(pte);	/* the pte points outside of valid memory, the	 * mapping is assumed to be good, meaningful	 * and not mapped via rmap - duplicate the	 * mapping as is.	 */	page = NULL;	if (pfn_valid(pfn))		page = pfn_to_page(pfn);	if (!page || PageReserved(page)) {		set_pte_at(dst_mm, addr, dst_pte, pte);		return;	}	/*	 * If it's a COW mapping, write protect it both	 * in the parent and the child	 */	if ((vm_flags & (VM_SHARED | VM_MAYWRITE)) == VM_MAYWRITE) {		ptep_set_wrprotect(src_mm, addr, src_pte);		pte = *src_pte;	}	/*	 * If it's a shared mapping, mark it clean in	 * the child	 */	if (vm_flags & VM_SHARED)		pte = pte_mkclean(pte);	pte = pte_mkold(pte);	get_page(page);	inc_mm_counter(dst_mm, rss);	if (PageAnon(page))		inc_mm_counter(dst_mm, anon_rss);	set_pte_at(dst_mm, addr, dst_pte, pte);	page_dup_rmap(page);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/4294621f41a85497019fae64341aa5351a1921b7/memory.c/buggy/mm/memory.c