Re: [RFC v14-rc][PATCH 07/23] Restore memory address space

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Cgroups]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux