Re: [PATCH 1/2] x86/arch_prctl: add ARCH_SET_{COMPAT,NATIVE} to change compatible mode

From: Dmitry Safonov
Date: Thu Apr 07 2016 - 08:50:52 EST


On 04/07/2016 03:21 PM, Cyrill Gorcunov wrote:
On Thu, Apr 07, 2016 at 03:11:24PM +0300, Dmitry Safonov wrote:
On 04/06/2016 09:04 PM, Andy Lutomirski wrote:
[cc Dave Hansen for MPX]

Will add x32 support for v2.
I think that you should separate vdso remapping from "personality".
vdso remapping should be available even on native 32-bit builds, which
means that either you can't use arch_prctl for it or you'll have to
wire up arch_prctl as a 32-bit syscall.
I cant say, I got your point. Do you mean by vdso remapping
mremap for vdso/vvar pages? I think, it should work now.
I did remapping for vdso as blob for native x86_64 task differs
to compatible task. So it's just changing blobs, address value
is there for convenience - I may omit it and just remap
different vdso blob at the same place where was previous vdso.
I'm not sure, why do we need possibility to map 64-bit vdso blob
on native 32-bit builds?
First of all, thanks a huge for all your comments, Andy!
Dima, I'm not seeing in patch, don't you have to take
mm::mmap_sem when walking over VMAs?
I was sure I did, but have missed it, well.
Thanks!

Cyrill


--
Regards,
Dmitry Safonov