[PATCH v2 3/3] fork: lock VMAs of the parent process when forking

Mateusz Guzik mjguzik at gmail.com
Fri Aug 4 16:25:48 PDT 2023


On 8/5/23, Linus Torvalds <torvalds at linux-foundation.org> wrote:
> On Fri, 4 Aug 2023 at 14:46, Mateusz Guzik <mjguzik at gmail.com> wrote:
>>
>> I don't see it mentioned in the discussion, so at a risk of ruffling
>> feathers or looking really bad I'm going to ask: is the locking of any
>> use if the forking process is single-threaded? T
>
> Sadly, we've always been able to access the mm from other processes,
> so the locking is - I think - unavoidable.
>
> And some of those "access from other processes" aren't even uncommon
> or special. It's things like "ps" etc, that do it just to see the
> process name and arguments.
>

I know of these guys, I think they are excluded as is -- they go
through access_remote_vm, starting with:
        if (mmap_read_lock_killable(mm))
                return 0;

while dup_mmap already write locks the parent's mm.

I don't see any surprise relocks of the semaphore.

Granted, should someone *bypass* this mechanism the above would be moot.

-- 
Mateusz Guzik <mjguzik gmail.com>



More information about the linux-arm-kernel mailing list