Thread (36 messages) 36 messages, 5 authors, 2019-06-04

Re: [PATCH v2 0/7] mm: process_vm_mmap() -- syscall for duplication a process mapping

From: Kirill Tkhai <hidden>
Date: 2019-05-24 10:36:26
Also in: linux-mm, lkml

On 23.05.2019 19:19, Andy Lutomirski wrote:
On Tue, May 21, 2019 at 10:44 AM Kirill Tkhai [off-list ref] wrote:
quoted
On 21.05.2019 19:43, Andy Lutomirski wrote:
quoted
On Tue, May 21, 2019 at 8:52 AM Kirill Tkhai [off-list ref] wrote:
quoted
On 21.05.2019 17:43, Andy Lutomirski wrote:
quoted
quoted
Do you mean that the code you sent rejects this case?  If so, please
document it.  In any case, I looked at the code, and it seems to be
trying to handle MAP_SHARED and MAP_ANONYMOUS.  I don't see where it
would reject copying a vDSO.
I prohibit all the VMAs, which contain on of flags: VM_HUGETLB|VM_DONTEXPAND|VM_PFNMAP|VM_IO.
I'll check carefully, whether it's enough for vDSO.
I think you could make the new syscall a lot more comprehensible bg
restricting it to just MAP_ANONYMOUS, by making it unmap the source,
or possibly both.  If the new syscall unmaps the source (in order so
that the source is gone before the newly mapped pages become
accessible), then you avoid issues in which you need to define
sensible semantics for what happens if both copies are accessed
simultaneously.
In case of we unmap source, this does not introduce a new principal
behavior with the same page mapped twice in a single process like
Kirill pointed. This sounds as a good idea and this covers my
application area.

The only new principal thing is a child process will be able to inherit
a parent's VMA, which is not possible now. But it looks like we never
depend on processes relationship in the mapping code, and process
reparenting already gives many combinations, so the new change should
not affect much on this.

Kirill
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help