From: Andrew Morton <akpm@linux-foundation.org>
To: Erik Bosman <ebn310@few.vu.nl>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
Andrea Arcangeli <andrea@cpushare.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/3] x86: Implement prctl PR_GET_TSC and PR_SET_TSC
Date: Tue, 15 Apr 2008 00:29:18 -0700 [thread overview]
Message-ID: <20080415002918.6a3b40b6.akpm@linux-foundation.org> (raw)
In-Reply-To: <Pine.GSO.4.56.0804111855070.16669@keg.few.vu.nl>
On Fri, 11 Apr 2008 18:55:58 +0200 (CEST) Erik Bosman <ebn310@few.vu.nl> wrote:
>
> x86: Implement prctl PR_GET_TSC and PR_SET_TSC
>
> This patch adds a configure option CONFIG_DISABLE_TSC
> (off by default) for the x86 platform to enable the
> PR_GET_TSC and PR_SET_TSC commands. These control the
> ability to use the timestamp counter from userspace
> (the RDTSC instruction.)
>
> This patch uses code earlier used to disable the
> timestamp counter for the SECCOMP framework. It used
> to disable the RDTSC on 32 bit kernels, but allow it
> on x86_64. This patch makes SECCOMP disable the
> timestamp counter whenever CONFIG_DISABLE_TSC is
> enabled.
>
> ...
>
> +config DISABLE_TSC
> + def_bool n
> + prompt "Make availability of the RDTSC instruction configurable"
> + depends on (X86_32 || X86_64) && EXPERIMENTAL
> + help
> + While the RDTSC instruction allows for very precise time
> + measurements, it is also a source for non-determinism
> + during the execution of a process which can be a problem in some
> + security contexts. This option adds prctl commands to configure
> + and test the availability of the RDTSC instruction on a
> + per-process basis. Choosing this option may cause a small
> + performance hit during context switching.
> +
> + If unsure, say N.
> +
> config SECCOMP
> def_bool y
> prompt "Enable seccomp to safely compute untrusted bytecode"
> diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c
> index 6496344..e6a861f 100644
> --- a/arch/x86/kernel/process_32.c
> +++ b/arch/x86/kernel/process_32.c
> @@ -36,6 +36,7 @@
> #include <linux/personality.h>
> #include <linux/tick.h>
> #include <linux/percpu.h>
> +#include <linux/prctl.h>
>
> #include <asm/uaccess.h>
> #include <asm/pgtable.h>
> @@ -528,11 +529,12 @@ start_thread(struct pt_regs *regs, unsigned long new_ip, unsigned long new_sp)
> }
> EXPORT_SYMBOL_GPL(start_thread);
>
> -#ifdef CONFIG_SECCOMP
> +#ifdef CONFIG_DISABLE_TSC
> static void hard_disable_TSC(void)
> {
> write_cr4(read_cr4() | X86_CR4_TSD);
> }
Won't this break this build if CONFIG_DISABLE_TSC=n and CONFIG_SECCOMP=y?
The prctl.h and sys.c parts look OK to me. I'll consider this a git-x86
patch.
next prev parent reply other threads:[~2008-04-15 7:30 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-11 16:55 [PATCH 2/3] x86: Implement prctl PR_GET_TSC and PR_SET_TSC Erik Bosman
2008-04-12 19:49 ` Arjan van de Ven
2008-04-12 20:48 ` H. Peter Anvin
2008-04-12 21:05 ` Erik Bosman
2008-04-12 21:12 ` Arjan van de Ven
2008-04-13 21:51 ` Erik Bosman
2008-04-13 22:02 ` H. Peter Anvin
2008-04-14 8:42 ` Ingo Molnar
2008-04-13 22:24 ` [PATCH 2/3-REVISED] " Erik Bosman
2008-04-14 3:58 ` Arjan van de Ven
2008-04-14 8:48 ` Ingo Molnar
2008-04-14 10:57 ` [PATCH 2/3] " Michael Kerrisk
2008-04-14 11:59 ` Erik Bosman
2008-04-14 12:21 ` Michael Kerrisk
2008-04-26 22:47 ` dean gaudet
2008-04-26 22:51 ` H. Peter Anvin
2008-04-26 23:14 ` dean gaudet
2008-04-26 23:46 ` H. Peter Anvin
2008-04-27 0:29 ` dean gaudet
2008-04-27 0:37 ` H. Peter Anvin
2008-04-27 0:47 ` David Miller
2008-04-15 7:29 ` Andrew Morton [this message]
2008-04-15 7:46 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080415002918.6a3b40b6.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=andrea@cpushare.com \
--cc=ebn310@few.vu.nl \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox