All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V0 0/3] perf/x86/intel: Add Branch Monitoring support
@ 2017-11-03 18:00 Megha Dey
  2017-11-03 18:00 ` [PATCH V0 1/3] x86/cpu/intel: Add Cannonlake to Intel family Megha Dey
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Megha Dey @ 2017-11-03 18:00 UTC (permalink / raw)
  To: x86, linux-kernel, linux-doc
  Cc: tglx, mingo, hpa, andriy.shevchenko, kstewart, yu-cheng.yu,
	len.brown, gregkh, peterz, acme, alexander.shishkin, jolsa,
	namhyung, vikas.shivappa, pombredanne, me, bp,
	grzegorz.andrejczuk, tony.luck, corbet, ravi.v.shankar, megha.dey,
	Megha Dey

This patchset adds support for Intel's branch monitoring feature. This
feature uses heuristics to detect the occurrence of an ROP(Return Oriented
Programming) or ROP like(JOP: Jump oriented programming) attack. These
heuristics are based off certain performance monitoring statistics,
measured dynamically over a short configurable window period. ROP is a
malware trend in which the attacker can compromise a return pointer held
on the stack to redirect execution to a different desired instruction.

Currently, only the Cannonlake family of Intel processors support this
feature. This feature is enabled by CONFIG_PERF_EVENTS_INTEL_BM.

Once the kernel is compiled with CONFIG_PERF_EVENTS_INTEL_BM=y on a
Cannonlake system, the following perf events are added which can be viewed
with perf list:
  intel_bm/branch-misp/                              [Kernel PMU event]
  intel_bm/call-ret/                                 [Kernel PMU event]
  intel_bm/far-branch/                               [Kernel PMU event]
  intel_bm/indirect-branch-misp/                     [Kernel PMU event]
  intel_bm/ret-misp/                                 [Kernel PMU event]
  intel_bm/rets/                                     [Kernel PMU event]

A perf-based kernel driver has been used to monitor the occurrence of
one of the 6 branch monitoring events. There are 2 counters that each
can select between one of these events for evaluation over a specified
instruction window size (0 to 1023). For each counter, a threshold value
(0 to 127) can be configured to set a point at which an interrupt is
generated. The entire system can monitor a maximum of 2 events(either
from the same or different tasks) at any given time.

Apart from the kernel driver, this patchset adds CPUID of Cannonlake
processors to Intel family list and the Documentation/x86/intel_bm.txt
file with some information about Intel Branch monitoring.

Megha Dey (3):
  x86/cpu/intel: Add Cannonlake to Intel family
  perf/x86/intel/bm.c: Add Intel Branch Monitoring support
  x86, bm: Add documentation on Intel Branch Monitoring

 Documentation/x86/intel_bm.txt      | 216 ++++++++++++
 arch/x86/events/Kconfig             |  10 +
 arch/x86/events/intel/Makefile      |   2 +
 arch/x86/events/intel/bm.c          | 635 ++++++++++++++++++++++++++++++++++++
 arch/x86/include/asm/intel-family.h |   2 +
 arch/x86/include/asm/msr-index.h    |   5 +
 include/linux/perf_event.h          |   8 +-
 kernel/events/core.c                |   8 +
 8 files changed, 885 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/x86/intel_bm.txt
 create mode 100644 arch/x86/events/intel/bm.c

-- 
1.9.1

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2017-11-11  0:53 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-03 18:00 [PATCH V0 0/3] perf/x86/intel: Add Branch Monitoring support Megha Dey
2017-11-03 18:00 ` [PATCH V0 1/3] x86/cpu/intel: Add Cannonlake to Intel family Megha Dey
2017-11-03 18:00 ` [PATCH V0 2/3] perf/x86/intel/bm.c: Add Intel Branch Monitoring support Megha Dey
2017-11-04 13:24   ` Jiri Olsa
2017-11-11  0:42     ` Dey, Megha
2017-11-04 13:25   ` Jiri Olsa
2017-11-11  0:44     ` Dey, Megha
2017-11-04 13:25   ` Jiri Olsa
2017-11-04 13:25   ` Jiri Olsa
2017-11-11  0:50     ` Dey, Megha
2017-11-04 13:26   ` Jiri Olsa
2017-11-11  0:53     ` Dey, Megha
2017-11-04 13:26   ` Jiri Olsa
     [not found]   ` <20171106114943.mg6pwpqe6eqlx7w2@ukko.fi.intel.com>
2017-11-10 23:36     ` Megha Dey
2017-11-03 18:00 ` [PATCH V0 3/3] x86, bm: Add documentation on Intel Branch Monitoring Megha Dey

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.