Re: All pages belonging to a process
From: Anupama Chandwani
Date: Wed Aug 26 2009 - 16:35:24 EST
Hi Jiri,
>> /* For all vma-s of a process */
>> for (vma = task->mm->mmap; vma!=NULL; vma = vma->next)
>
> you mean vma->vm_next?
Sorry for the typo, it is vma = vma->vm_next
>
>> {
>> pgd = pgd_offset(mm, address);
>> if (!pgd_present(*pgd))
>> continue;
>>
>> pud = pud_offset(pgd, address);
>> if (!pud_present(*pud))
>> continue;
>>
>> pmd = pmd_offset(pud, address);
>> if (!pmd_present(*pmd))
>> continue;
>>
>> pte = pte_offset_map_lock (task->mm->vm_mm, pmd, address, &ptl);
>>
>> print pte_pfn(*pte) and other debug info;
>>
>> pte_unmap_unlock(pte, ptl);
>> }
>> }
>>
>> The code hangs. I do not get anything in dmesg.
>
> Do you have mmap_sem locked?
I didnt, but that didnt solve the problem.
>
> --
> Jiri Kosina
> SUSE Labs
>
--
Cheers,
Anupama Chandwani
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/