Re: Regression: Requiring CAP_SYS_ADMIN for /proc/<pid>/pagemap causes application-level breakage

From: Konstantin Khlebnikov
Date: Thu Apr 30 2015 - 09:11:38 EST


On Thu, Apr 30, 2015 at 2:43 PM, Konstantin Khlebnikov <koct9i@xxxxxxxxx> wrote:
> On Thu, Apr 30, 2015 at 12:02 AM, Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>> On Wed, Apr 29, 2015 at 1:44 PM, Konstantin Khlebnikov <koct9i@xxxxxxxxx> wrote:
>>>
>>> This's no longer true. After recent fixes for "anon_vma endless growing" new vma
>>> might reuse old anon_vma from grandparent vma.
>>
>> Oh well. I guess that was too simple.
>>
>> If Mark is ok with the rule that "it's not reliably if you have two
>> nested forks" (ie it only works if you exec for every fork you do), it
>> should still work, right? It sounds like Mark doesn't necessarily need
>> to handle the *generic* case.
>
> What about exposing shared/exclusive bit in pagemap == 1 if
> page_mapcount() > 1, otherwise 0 (or vise versa).
>
> Seems like this should work for detecting CoWed pages in child mm.

Something like this (see patch in attachment)

Attachment: pagemap-add-mmap-shared-bit-for-marking-pages-mapped-multiple-times
Description: Binary data