Open adrianreber opened 3 years ago
That may be tied to the switch of the powerpc VDSO to generic C implementation: https://lore.kernel.org/linuxppc-dev/cover.1604426550.git.christophe.leroy@csgroup.eu/
BTW, 53 59 53 54 45 4D 43 46 47 3A 50 50 43 36 34 0 = "SYSTEMCFG:PPC64" and 7F 45 4C 46 2 1 1 0 0 0 0 0 0 0 0 0 = "ELF!"
Probably linked to commit https://github.com/linuxppc/linux/commit/511157ab641eb6bedd00d62673388e78a4f871cf which has put the data page up front like most other architectures.
This can be managed by reading the aux vector AT_SYSINFO_EHDR.
I wrote a patch ldu4/criu@e870e1434648 which makes criu check
happy.
@adrianreber could you give it a try?
Hi guys, @chleroy @ldu4, what do you think about this kernel patch? https://github.com/0x7f454c46/linux/commit/783c7a2532d2219edbcf555cc540eab05f698d2a (untested, working on it, I appreciate if someone helps with it)
Hi @ldu4, one thing I find a bit strange about your patch is that you fixed vdso_fill_self_symtable()
, but probably restorer has to be fixed too: it will read vdso vma from images, but than it will try to parse it in vdso_proxify()
. Where it will try to parse ELF at the start of the VMA.
Hi @0x7f454c46, I probably missed other part, I did that in hurry and didn't get more time to do C/R test. I'll investigate on that. That being said, I think your kernel patch introducing the vvar mapping for PowerPC makes sense.
A friendly reminder that this issue had no activity for 30 days.
Looks like the kernel changes made it to 5.13, 5.11.20 and 5.12.3
While trying to debug #1415 I updated to a newer kernel (5.11.7-100.fc32.ppc64le) and now CRIU completely fails on ppc64le:
The error looks the same if booting with
vdso=0
or without.I added some debug code to see why it fails and read
ehdr->e_ident
is different from the expected.CRIU expects
7F 45 4C 46 2 1 1 0 0 0 0 0 0 0 0 0
but CRIU actually reads53 59 53 54 45 4D 43 46 47 3A 50 50 43 36 34 0
@0x7f454c46 maybe you have and idea. This was still working on 5.8.18-100.fc31.ppc64le
@mihalicyn just FYI if you are planning to upgrade the Jenkins hosts you might run into this error.