Quoting Oren Laadan (orenl@xxxxxxxxxxxxxxx): > > > Serge E. Hallyn wrote: > > Quoting Oren Laadan (orenl@xxxxxxxxxxxxxxx): > >> + ret = -EINVAL; > >> + if (hh->vdso != (unsigned long) mm->context.vdso) > >> + goto out; > > > > We were just talking about vdso+s390 on irc this morning, > > wondering about how to handle it... > > > > Looking at arch/x86/vdso/vma.c, this seems like it should > > pretty much always error out. The vdso base is set as a > > random offset above the stack base at exec(). > > Yes, I was wondering too ... :( > > The default config is CONFIG_COMPAT_VDSO which disabled the > randomization, that's why it works for the default case on X86_32. > > I think the code is mainly in arch/x86/vdso/vdso32_setup.c. We may earn the ire of the community once again, but it seems to me we have no choice but to tweak arch_setup_additional_pages() to take an optional requested location. Then binfmt->load_binary() can pass NULL to indicate business as usual, while sys_restart() can pass the saved vdso_base. -serge _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers