From: Bagas Sanjaya <bagasdotme@gmail.com>
To: Eric Biggers <ebiggers@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H . Peter Anvin" <hpa@zytor.com>,
x86@kernel.org
Cc: linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-hardening@vger.kernel.org,
Peter Zijlstra <peterz@infradead.org>,
Roxana Bradescu <roxabee@chromium.org>,
Adam Langley <agl@google.com>, Ard Biesheuvel <ardb@kernel.org>,
"Jason A . Donenfeld" <Jason@zx2c4.com>
Subject: Re: [PATCH] x86: enable Data Operand Independent Timing Mode
Date: Wed, 25 Jan 2023 10:07:57 +0700 [thread overview]
Message-ID: <Y9CdDUudjeczrOWz@debian.me> (raw)
In-Reply-To: <20230125012801.362496-1-ebiggers@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 3355 bytes --]
On Tue, Jan 24, 2023 at 05:28:01PM -0800, Eric Biggers wrote:
> +.. SPDX-License-Identifier: GPL-2.0
> +
> +DODT - Data Operand Dependent Timing
> +====================================
> +
> +Data Operand Dependent Timing (DODT) is a CPU vulnerability that makes the
> +execution times of instructions depend on the values of the data operated on.
> +
> +This vulnerability potentially enables side-channel attacks on data, including
> +cryptographic keys. Most cryptography algorithms require that a variety of
> +instructions be constant-time in order to prevent side-channel attacks.
> +
> +Affected CPUs
> +-------------
> +
> +This vulnerability affects Intel Core family processors based on the Ice Lake
> +and later microarchitectures, and Intel Atom family processors based on the
> +Gracemont and later microarchitectures. For more information, see Intel's
> +documentation [1]_.
> +
> +Mitigation
> +----------
> +
> +Mitigation of this vulnerability involves setting a Model Specific Register
> +(MSR) bit to enable Data Operand Independent Timing Mode (DOITM).
> +
> +By the default, the kernel does this on all CPUs. This mitigation is global, so
> +it applies to both the kernel and userspace.
> +
> +This mitigation can be disabled by adding ``doitm=off`` to the kernel command
> +line. It's also one of the mitigations that can be disabled by
> +``mitigations=off``.
> +
> +References
> +----------
> +.. [1] Data Operand Independent Timing Instruction Set Architecture (ISA) Guidance
> + https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/best-practices/data-operand-independent-timing-isa-guidance.html
> diff --git a/Documentation/admin-guide/hw-vuln/index.rst b/Documentation/admin-guide/hw-vuln/index.rst
> index 4df436e7c4177..cd962f9634dad 100644
> --- a/Documentation/admin-guide/hw-vuln/index.rst
> +++ b/Documentation/admin-guide/hw-vuln/index.rst
> @@ -18,3 +18,4 @@ are configurable at compile, boot or run time.
> core-scheduling.rst
> l1d_flush.rst
> processor_mmio_stale_data.rst
> + dodt.rst
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index 6cfa6e3996cf7..a6a872c4365e6 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -1119,6 +1119,12 @@
> The filter can be disabled or changed to another
> driver later using sysfs.
>
> + doitm=off [X86,INTEL] Disable the use of Data Operand Independent
> + Timing Mode (DOITM). I.e., disable the mitigation for
> + the Data Operand Dependent Timing (DODT) CPU
> + vulnerability. For details, see
> + Documentation/admin-guide/hw-vuln/dodt.rst
> +
> driver_async_probe= [KNL]
> List of driver names to be probed asynchronously. *
> matches with all driver names. If * is specified, the
> @@ -3259,6 +3265,7 @@
> no_uaccess_flush [PPC]
> mmio_stale_data=off [X86]
> retbleed=off [X86]
> + doitm=off [X86,INTEL]
>
> Exceptions:
> This does not have any effect on
The doc LGTM, thanks!
Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com>
--
An old man doll... just what I always wanted! - Clara
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2023-01-25 3:08 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-25 1:28 [PATCH] x86: enable Data Operand Independent Timing Mode Eric Biggers
2023-01-25 3:07 ` Bagas Sanjaya [this message]
2023-01-25 15:29 ` Dave Hansen
2023-01-25 16:15 ` Dave Hansen
2023-01-25 16:22 ` Ard Biesheuvel
2023-01-25 16:45 ` Dave Hansen
2023-01-26 10:20 ` Ard Biesheuvel
2023-01-26 13:52 ` Jann Horn
2023-01-26 16:40 ` Dave Hansen
2023-01-26 17:52 ` Jann Horn
2023-01-26 19:12 ` Dave Hansen
2023-01-26 22:37 ` Eric Biggers
2023-01-26 23:58 ` Dave Hansen
2023-01-31 22:48 ` Dave Hansen
2023-02-01 6:54 ` Eric Biggers
2023-02-01 18:09 ` Dave Hansen
2023-02-01 22:33 ` Josh Triplett
2023-02-03 16:25 ` Dave Hansen
2026-03-18 15:33 ` Marvin Häuser
2026-03-18 15:44 ` Dave Hansen
2026-03-18 16:15 ` Eric Biggers
2026-03-18 16:23 ` Dave Hansen
[not found] ` <D5B3C493-BADA-4906-BB34-E5D60182F611@rptu.de>
2026-03-18 20:16 ` Marvin Häuser
2023-02-03 18:25 ` Dave Hansen
2023-03-03 3:32 ` Roxana Bradescu
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=Y9CdDUudjeczrOWz@debian.me \
--to=bagasdotme@gmail.com \
--cc=Jason@zx2c4.com \
--cc=agl@google.com \
--cc=ardb@kernel.org \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=ebiggers@kernel.org \
--cc=hpa@zytor.com \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=roxabee@chromium.org \
--cc=tglx@linutronix.de \
--cc=x86@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.