Re: [PATCHv2 3/6] x86/arch_prctl/vdso: add ARCH_MAP_VDSO_*

From: Dmitry Safonov
Date: Tue Aug 02 2016 - 10:56:10 EST


On 07/12/2016 05:14 PM, Oleg Nesterov wrote:
On 07/11, Andy Lutomirski wrote:
I'm starting to wonder if we should finally suck it up and give
special mappings a non-NULL vm_file so we can track them properly.
Oleg, weren't you thinking of doing that for some other reason?

Yes, uprobes. Currently we can't probe vdso page(s).

So, to make sure, that I've understood correctly, I need to:
o add vm_file to vdso/vvar vmas, __install_special_mapping will init
them;
o place array pages[] inside f_mapping;
o create f_inode for each file -- for this we need some mount point, so
I'll create something like vdsofs, register this filesystem and mount
it in initcall (or like do_basic_setup - as it's done by shmem, i.e).

Is this the idea, or I got it wrong?

And maybe the idea is to create fake vm_file for just reference
counting, but do not treat/init it like file with inode, etc?
So with fake file I can also check if vdso is mapped already, but
I'm sure the fake file will not help Oleg with uprobes.

--
Dmitry