Re: [PATCH v2 02/17] mm: Exempt special mappings from mlock(), mprotect() and madvise()
From: Dmitry Safonov
Date: Tue Jan 02 2018 - 11:44:49 EST
Hi, sorry for the late reply,
2017-12-14 17:36 GMT+00:00 Peter Zijlstra <peterz@xxxxxxxxxxxxx>:
> On Thu, Dec 14, 2017 at 08:19:36AM -0800, Andy Lutomirski wrote:
>> On Thu, Dec 14, 2017 at 3:27 AM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>> > It makes no sense to ever prod at special mappings with any of these
>> > syscalls.
>> >
>> > XXX should we include munmap() ?
>>
>> This is an ABI break for the vdso. Maybe that's okay, but mremap() on
>> the vdso is certainly used, and I can imagine debuggers using
>> mprotect().
>
> *groan*, ok so mremap() will actually still work after this, but yes,
> mprotect() will not. I hadn't figured people would muck with the VDSO
> like that.
mremap() is needed for CRIU, at least.
Please, don't restrict munmap(), as ARCH_MAP_VDSO_* allows to map vdso
iff it's not already mapped.
We don't need +w vdso mapping, but I guess that may break gdb breakpoints
on vdso.
Also, AFAICS, vma_is_special_mapping() has two parameters in linux-next,
and your patches set doesn't change that.
Thanks,
Dmitry