On 08/25/2016 10:49 PM, Dmitry Safonov wrote:
2016-08-25 18:21 GMT+03:00 Dmitry Safonov <dsafo...@virtuozzo.com>:
+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

Reply via email to