Re: [RFC 1/3] x86/vdso: create vdso file, use it for mapping

From: Dmitry Safonov
Date: Thu Aug 25 2016 - 17:42:55 EST


On 08/25/2016 10:49 PM, Dmitry Safonov wrote:
2016-08-25 18:21 GMT+03:00 Dmitry Safonov <dsafonov@xxxxxxxxxxxxx>:
+static char *vdso_vma_name(struct dentry *dentry, char *buffer, int buflen)
+{
+ return "[vdso]";

It should be:
+ return dynamic_dname(dentry, buffer, buflen, "[vdso]");
returned pointer should be inside buffer.


Funny thing: after this fixup, I can easily get vdso blob image with:
[root@localhost ~]# dd if=/proc/11486/map_files/7ffd26596000-7ffd26598000 of=./vdso
16+0 records in
16+0 records out
8192 bytes (8.2 kB) copied, 0.000101732 s, 80.5 MB/s
[root@localhost ~]# objdump -dS ./vdso | head

./vdso: file format elf64-x86-64


Disassembly of section .text:

00000000000008d0 <__vdso_clock_gettime>:
8d0: 55 push %rbp
8d1: 83 ff 01 cmp $0x1,%edi
8d4: 48 89 e5 mov %rsp,%rbp


--
Dmitry