[CRIU] [PATCH 4/5] vdso: parasite -- Prepare new vdso mark structure.
Pavel Emelyanov
xemul at parallels.com
Wed Jun 11 04:43:38 PDT 2014
On 06/11/2014 03:34 PM, Cyrill Gorcunov wrote:
> On Wed, Jun 11, 2014 at 03:29:38PM +0400, Pavel Emelyanov wrote:
>>>>
>>>>> struct vdso_mark {
>>>>> u64 signature;
>>>>> - unsigned long proxy_addr;
>>>>> + unsigned long proxy_vdso_addr;
>>>>> +
>>>>> + unsigned long version;
>>>>
>>>> Why do we need the version field? AFAIU the signature is enough.
>>>
>>> In case if we need to change it again, we can increase the version
>>> instead of changing signature (which is neat in ascii form now ;)
>>
>> Please, no. Leave only the signature.
>
> You miss the point. The signature _must_ be unique. While "criuvdso",
> "criuVDSO" is pretty uinique i think, better to escape inventing
> some more unique values especially those which lays in memory of
> the dumpee code.
OK, fair enough. In that case the is_vdso_mark() is wrong. Once
we've found criuvdso or criuvDSO signature we should validate
the rest of the fields, not correct our "is it vdso?" assumption.
In particular, is version != 2 we should abort the dump, not
treat the found page as non-vdso-proxy.
Thanks,
Pavel
More information about the CRIU
mailing list