lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 27 May 2011 08:10:37 -0400
From:	Andrew Lutomirski <luto@....edu>
To:	richard -rw- weinberger <richard.weinberger@...il.com>
Cc:	Ingo Molnar <mingo@...e.hu>, Thomas Gleixner <tglx@...utronix.de>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Andrew Morton <akpm@...ux-foundation.org>, x86@...nel.org,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: [GIT pull] x86 vdso updates

On Fri, May 27, 2011 at 7:59 AM, richard -rw- weinberger
<richard.weinberger@...il.com> wrote:
> On Fri, May 27, 2011 at 1:36 PM, Andrew Lutomirski <luto@....edu> wrote:
>> 2. Remove the vsyscall64 sysctl.  That will reduce the number of
>> vsyscalls that require the kernel's help to one.  (This is a bit
>> unfortunate for UML users, but I'm not sure what to do about that.
>> UML vgetcpu is already terminally broken.)
>
> Can you please be a bit more precise on that?
> When there is anything I can do, let me know...

glibc's implementation of time, sched_getcpu, and (for static
binaries) gettimeofday calls a fixed address in kernel space which
returns the answer.  On UML, that address is presumably in *host*
kernel space and the host will return what the host thinks the answer
is.

That's a bit unfortunate if the guest has a different idea of cpu
numbering or what time it is.  Right now, setting kernel.vsyscall64=0
will turn gettimeofday and time (but not sched_getcpu) into a real
syscall.  The problem is that I want to remove the vsyscall64 sysctl.

If this is considered enough of a regression, then I guess we can
leave vsyscall64 around for awhile, but it will require extra work in
the soon-to-be syscall emulation hack to make sure that UML can still
trap the syscall.

The real solution is to fix glibc to use the vDSO which should avoid
this problem entirely.

--Andy

>
> --
> Thanks,
> //richard
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists