[PATCH 1/3] arm64: vdso: put vdso datapage in a separate vma
Andy Lutomirski
luto at amacapital.net
Wed Jul 9 12:48:56 PDT 2014
On Wed, Jul 9, 2014 at 12:44 PM, Nathan Lynch <Nathan_Lynch at mentor.com> wrote:
> Hi Will, one question (and maybe it's more of a question for Andy than
> for you).
>
> On 07/09/2014 01:22 PM, Will Deacon wrote:
>> - ret = install_special_mapping(mm, vdso_base, vdso_mapping_len,
>> + ret = install_special_mapping(mm, vdso_base, vdso_text_len,
>> VM_READ|VM_EXEC|
>> VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC,
>> vdso_pagelist);
>> - if (ret) {
>> - mm->context.vdso = NULL;
>> + if (ret)
>> + goto up_fail;
>> +
>> + vdso_base += vdso_text_len;
>> + ret = install_special_mapping(mm, vdso_base, PAGE_SIZE,
>> + VM_READ|VM_MAYREAD,
>> + vdso_pagelist + vdso_pages);
>
> I note this code sets VM_MAYREAD for the data page, while x86's vvar
> mapping sets only VM_READ. (Personally I am not totally clear on the
> meaning of VM_MAYREAD, but it looks like it would have implications for
> use of mprotect on the mapping.) Should one arch or the other adjust
> its flags?
>
On quick inspection, this doesn't matter. That being said, VM_MAYREAD
seems reasonable here. I'll queue up the x86 change.
--Andy
More information about the linux-arm-kernel
mailing list