From: Dave Hansen <dave.hansen@intel.com>
To: speck@linutronix.de
Cc: Dave Hansen <dave.hansen@intel.com>
Subject: [MODERATED] [PATCH 0/5] SSB extra 0
Date: Thu, 3 May 2018 15:29:43 -0700 [thread overview]
Message-ID: <cover.1525383411.git.dave.hansen@intel.com> (raw)
BPF is a potential source of gadgets that can be used for memory
diambiguation-based attacks. To help mitigate these, we enable
the bit in SPEC_CTRL which enables the reduced (memory)
speculation mode on the processor when runing BPF code.
This is far from optimal: it does not opt-out of the mitigations
for BPF programs which are trusted or which are less likely to be
exploited, like those which have been offloaded.
It also uses a fixed (and stupid) algoritm for keeping the MSR
write traffic to a minimum. Each time a CPU uses BPF, it does the
MSR write to enable the mitigation and then schedules some work
in 10ms to disable the mitigation. It repeats this every 10ms if
the CPU keeps seeing BPF activity. This can obviously be improved
on, but it is simple at the moment and _works_.
Dave Hansen (5):
bpf: add enter/exit markers
bpf: track entry to and exit from BFP code
bpf: use reduced speculation mitigations
x86, bugs: centralize SPEC_CTRL MSR mask generation
x86: implement reduced speculation when running BPF
arch/x86/Kconfig | 4 ++
arch/x86/include/asm/rmspec.h | 24 ++++++++++++
arch/x86/include/asm/spec-ctrl.h | 3 ++
arch/x86/kernel/cpu/bugs.c | 81 ++++++++++++++++++++++++++++++++--------
include/linux/bpf.h | 2 +
include/linux/filter.h | 34 ++++++++++++++++-
include/linux/nospec.h | 11 ++++++
kernel/bpf/sockmap.c | 6 +++
net/core/filter.c | 65 ++++++++++++++++++++++++++++++++
net/kcm/kcmsock.c | 7 +++-
10 files changed, 220 insertions(+), 17 deletions(-)
create mode 100644 arch/x86/include/asm/rmspec.h
--
2.9.5
next reply other threads:[~2018-05-03 22:34 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-03 22:29 Dave Hansen [this message]
2018-05-03 22:29 ` [MODERATED] [PATCH 1/5] SSB extra 2 Dave Hansen
2018-05-03 22:29 ` [MODERATED] [PATCH 2/5] SSB extra 3 Dave Hansen
2018-05-03 22:29 ` [MODERATED] [PATCH 3/5] SSB extra 1 Dave Hansen
2018-05-03 22:29 ` [MODERATED] [PATCH 4/5] SSB extra 5 Dave Hansen
2018-05-03 22:29 ` [MODERATED] [PATCH 5/5] SSB extra 4 Dave Hansen
2018-05-03 23:27 ` [MODERATED] Re: [PATCH 0/5] SSB extra 0 Kees Cook
2018-05-04 1:37 ` Dave Hansen
2018-05-04 22:26 ` Kees Cook
2018-05-23 7:17 ` [MODERATED] cBPF affectedness (was Re: [PATCH 0/5] SSB extra 0) Jiri Kosina
2018-05-23 13:56 ` [MODERATED] " Alexei Starovoitov
2018-05-04 9:20 ` [MODERATED] Re: [PATCH 1/5] SSB extra 2 Peter Zijlstra
2018-05-04 14:04 ` Dave Hansen
2018-05-04 15:50 ` Peter Zijlstra
2018-05-04 15:54 ` Linus Torvalds
2018-05-04 13:33 ` [PATCH 3/5] SSB extra 1 Thomas Gleixner
2018-05-04 14:22 ` [MODERATED] " Dave Hansen
2018-05-04 14:26 ` Thomas Gleixner
2018-05-04 16:04 ` [MODERATED] " Andi Kleen
2018-05-04 16:09 ` Thomas Gleixner
2018-05-04 16:28 ` [MODERATED] " Andi Kleen
2018-05-04 16:32 ` Thomas Gleixner
2018-05-04 16:43 ` [MODERATED] " Dave Hansen
2018-05-04 18:39 ` Thomas Gleixner
2018-05-06 8:32 ` Thomas Gleixner
2018-05-06 21:48 ` Thomas Gleixner
2018-05-06 22:40 ` [MODERATED] " Dave Hansen
2018-05-07 6:19 ` Thomas Gleixner
2018-05-04 17:01 ` [MODERATED] Re: [PATCH 4/5] SSB extra 5 Konrad Rzeszutek Wilk
2018-05-21 9:56 ` [MODERATED] Re: [PATCH 5/5] SSB extra 4 Jiri Kosina
2018-05-21 13:38 ` Thomas Gleixner
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=cover.1525383411.git.dave.hansen@intel.com \
--to=dave.hansen@intel.com \
--cc=speck@linutronix.de \
/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.