Commits
Evgeny Kravtsunov authored and Pavel Emelianov committed e5cbd1890b1
[PATCH] set PER_LINUX32 personality when restoring 32bit app on 64bit OS Current implementation of task personality migration is incorrect: cpt: static int dump_one_process(cpt_object_t *obj, struct cpt_context *ctx) { ... v->cpt_personality = tsk->personality; ... } rst: static int hook(void *arg) { ... if (ti->cpt_personality != 0) __set_personality(ti->cpt_personality); ... } On both i686 and x86_64 task->personality == 0 == PER_LINUX. But for 32-bit VE running on x86_64 personality must be set to PER_LINUX32. Solution is to set the personality of 32-bit tasks to PER_LINUX32 during restore process on x86_64 node. Attribute ti->cpt_64bit allows to distinguish 32-bit tasks that came from i686 node. Bug #94205