[CRIU] [PATCH 3/4] arch: x86 -- Add dumping of vDSO layout

Pavel Emelyanov xemul at parallels.com
Wed Apr 17 09:34:45 EDT 2013


On 04/17/2013 05:26 PM, Cyrill Gorcunov wrote:
> On Wed, Apr 17, 2013 at 05:00:05PM +0400, Pavel Emelyanov wrote:
>>
>>> +int arch_fill_self_vdso(symtable_t *t)
>>> +{
>>> +	char buf[512];
>>> +	int ret = -1;
>>> +	FILE *maps;
>>> +
>>> +	maps = fopen("/proc/self/maps", "r");
>>
>> We do maps parsing already. Just utilize root task's vdso info for that.
>> All the more so different tasks may have different VDSOs in the future
>> (32-bit support).
> 
> The problem is that I use this parser in converter as well where I can't
> do crtool's parsing. Thus for portability reason I need some "general" code.
> Our "smaps" parsing is a way too heavy and does a much more things than
> "find out vDSO vma area".

OK.

>>
>>> +	for (i = 0; ret == 0 && i < VDSO_SYMBOL_MAX; i++) {
>>
>> Plz use explicit if (ret) break; below
> 
> Sure
> 
>>
>>> +		symbol.name = t.sym[i].name;
>>> +		symbol.offset = t.sym[i].offset;
>>> +		ret = pb_write_one(fd, &symbol, PB_VDSO);
>>> +	}
>>
>>> --- /dev/null
>>> +++ b/include/vdso.h
>>
>> Not all code below is used in non-arch code. Plz revisit.
>>
>>> +#if CONFIG_X86_64
>>
>> Not nice.
>>
> 
> OK, I'll try to rearrange it.
> 
> 	Cyrill
> .
> 




More information about the CRIU mailing list