Re: [PATCH v7 3/4] fs/proc/task_mmu: Implement IOCTL to get and/or the clear info about PTEs

From: Muhammad Usama Anjum
Date: Thu Jan 26 2023 - 09:33:18 EST


On 1/24/23 10:30 PM, Peter Xu wrote:
> On Mon, Jan 23, 2023 at 05:18:13PM +0500, Muhammad Usama Anjum wrote:
>>>> + if (IS_GET_OP(p) && p->max_pages && (p->found_pages == p->max_pages))
>>>> + return -ENOSPC;
>>>
>>> This is the function to test "whether the walker should walk the vma
>>> specified". This check should IIUC be meaningless because found_pages
>>> doesn't boost during vma switching, while OTOH your pmd walker fn should do
>>> proper check when increasing found_pages and return -ENOSPC properly when
>>> the same condition met. That should be enough, IMHO.
>> This check is needed in case we want to abort the walk at once. We return
>> negative value from here which aborts the walk. Returning negative value
>> from pmd_entry doesn't abort the walk. So this check is needed in the
>> test_walk.
>
> Why? What I see locally is (walk_pmd_range):
>
> if (ops->pmd_entry)
> err = ops->pmd_entry(pmd, addr, next, walk);
> if (err)
> break;
Sorry, mistake on my part. I'll correct it in next version (v9).

>
> Thanks,
>

--
BR,
Muhammad Usama Anjum