linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Balbir Singh <sblbir@amazon.com>
To: <linux-kernel@vger.kernel.org>, <tglx@linutronix.de>
Cc: <tony.luck@intel.com>, <keescook@chromium.org>, <x86@kernel.org>,
	<benh@kernel.crashing.org>, <dave.hansen@intel.com>,
	Balbir Singh <sblbir@amazon.com>
Subject: [PATCH 0/3] arch/x86: Optionally flush L1D on context switch
Date: Thu, 2 Apr 2020 17:23:58 +1100	[thread overview]
Message-ID: <20200402062401.29856-1-sblbir@amazon.com> (raw)

Provide a mechanisn to flush the L1D cache on context switch.  The goal
is to allow tasks that are paranoid due to the recent snoop assisted data
sampling vulnerabilites, to flush their L1D on being switched out.
This protects their data from being snooped or leaked via side channels
after the task has context switched out.

The core of the patches is patch 3, the first two refactor the code so
that common bits can be reused.

Changelog:
 - Refactor the code and reuse cond_ibpb() - code bits provided by tglx
 - Merge mm state tracking for ibpb and l1d flush
 - Rename TIF_L1D_FLUSH to TIF_SPEC_FLUSH_L1D

Changelog RFC:
 - Reuse existing code for allocation and flush
 - Simplify the goto logic in the actual l1d_flush function
 - Optimize the code path with jump labels/static functions

The RFC patch was previously posted at

https://lore.kernel.org/lkml/20200325071101.29556-1-sblbir@amazon.com/

Balbir Singh (3):
  arch/x86/kvm: Refactor l1d flush lifecycle management
  arch/x86: Refactor tlbflush and l1d flush
  arch/x86: Optionally flush L1D on context switch

 arch/x86/include/asm/cacheflush.h  |  6 ++
 arch/x86/include/asm/thread_info.h |  6 +-
 arch/x86/include/asm/tlbflush.h    |  2 +-
 arch/x86/include/uapi/asm/prctl.h  |  3 +
 arch/x86/kernel/Makefile           |  1 +
 arch/x86/kernel/l1d_flush.c        | 85 +++++++++++++++++++++++++++
 arch/x86/kernel/process_64.c       | 10 +++-
 arch/x86/kvm/vmx/vmx.c             | 56 +++---------------
 arch/x86/mm/tlb.c                  | 92 +++++++++++++++++++++++-------
 9 files changed, 189 insertions(+), 72 deletions(-)
 create mode 100644 arch/x86/kernel/l1d_flush.c

-- 
2.17.1


             reply	other threads:[~2020-04-02  6:26 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-02  6:23 Balbir Singh [this message]
2020-04-02  6:23 ` [PATCH 1/3] arch/x86/kvm: Refactor l1d flush lifecycle management Balbir Singh
2020-04-02  6:24 ` [PATCH 2/3] arch/x86: Refactor tlbflush and l1d flush Balbir Singh
2020-04-02  6:24 ` [PATCH 3/3] arch/x86: Optionally flush L1D on context switch Balbir Singh
2020-04-02 22:11   ` Borislav Petkov
2020-04-02 22:18     ` Singh, Balbir
2020-04-02 20:13 ` [PATCH 0/3] " Josh Poimboeuf
2020-04-02 20:35   ` Singh, Balbir
2020-04-02 20:47     ` Josh Poimboeuf
2020-04-02 21:45       ` Thomas Gleixner
2020-04-02 22:23         ` Singh, Balbir

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=20200402062401.29856-1-sblbir@amazon.com \
    --to=sblbir@amazon.com \
    --cc=benh@kernel.crashing.org \
    --cc=dave.hansen@intel.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    --subject='Re: [PATCH 0/3] arch/x86: Optionally flush L1D on context switch' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).