Re: [PATCH] linux-2.5.43_vsyscall_A0

Andrea Arcangeli
2002-10-19T04:11:08Z

On Sat, Oct 19, 2002 at 06:02:38AM +0200, Andi Kleen wrote:
> [full quote for context]
>
> On Sat, Oct 19, 2002 at 06:49:59AM +0200, Jeff Dike wrote:
> > ak@muc.de said:
> > > Guess you'll have some problems then with UML on x86-64, which always
> > > uses vgettimeofday. But it's only used for gettimeofday() currently,
> > > perhaps it's not that bad when the UML child runs with the host's
> > > time.
> >
> > It's not horrible, but it's still broken. There are people who depend
> > on UML being able to keep its own time separately from the host.
> >
> > > I guess it would be possible to add some support for UML to map own
> > > code over the vsyscall reserved locations. UML would need to use the
> > > syscalls then. But it'll be likely ugly.
> >
> > Yeah, it would be.
> >
> > My preferred solution would be for libc to ask the kernel where the vsyscall
> > area is. That's reasonably clean and virtualizable. Andrea doesn't like it
> > because it adds a few instructions to the vsyscall address calculation.
>
> I would have no problems with adding that to the x86-64 kernel. It could
> be passed in by the ELF environment vector and added to the ABI.
> Overhead should be negligible, it just needs a single table lookup.
> Andreas, what do you think ?

see my last email. And I think he needed it as an additional syscall
after execve that he could trap and revirtualize with ptrace as usual
and that would return variable addresses of pointer to functions (that
would be revirtualized inside the uml kernel of course), not an ELF
information that should be valid for both UML and host kernel.

Andrea