linux/arch/powerpc/perf
Ravi Bangoria 4917fcb58c powerpc/sysrq: Fix oops whem ppmu is not registered
Kernel crashes if power pmu is not registered and user tries to dump
regs with 'echo p > /proc/sysrq-trigger'. Sample log:

  Unable to handle kernel paging request for data at address 0x00000008
  Faulting instruction address: 0xc0000000000d52f0

  NIP [c0000000000d52f0] perf_event_print_debug+0x10/0x230
  LR [c00000000058a938] sysrq_handle_showregs+0x38/0x50
  Call Trace:
   printk+0x38/0x4c (unreliable)
   __handle_sysrq+0xe4/0x270
   write_sysrq_trigger+0x64/0x80
   proc_reg_write+0x80/0xd0
   __vfs_write+0x40/0x200
   vfs_write+0xc8/0x240
   SyS_write+0x60/0x110
   system_call+0x58/0x6c

Fixes: 5f6d0380c6 ("powerpc/perf: Define perf_event_print_debug() to print PMU register values")
Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com>
Reviewed-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-09-20 13:30:09 +10:00
..
req-gen powerpc/perf/{hv-gpci, hv-common}: generate requests with counters annotated 2015-02-02 17:56:39 +11:00
8xx-pmu.c powerpc/8xx: Perf events on PPC 8xx 2017-01-26 17:49:34 -06:00
bhrb.S powerpc/perf: Add basic assembly code to read BHRB entries on POWER8 2013-04-26 16:11:11 +10:00
callchain.c powerpc/mm: Rename find_linux_pte_or_hugepte() 2017-08-17 23:13:46 +10:00
core-book3s.c powerpc/sysrq: Fix oops whem ppmu is not registered 2017-09-20 13:30:09 +10:00
core-fsl-emb.c perf/powerpc: reset event hw state when adding it to the PMU 2015-01-29 23:44:18 -06:00
e500-pmu.c powerpc/perf: Add stalled-cycles events 2013-01-10 17:00:56 +11:00
e6500-pmu.c powerpc/perf: Add e6500 PMU driver 2013-08-07 18:38:04 -05:00
hv-24x7-catalog.h powerpc/perf/hv-24x7: parse catalog and populate sysfs with events 2015-02-02 17:56:38 +11:00
hv-24x7-domains.h powerpc/perf/hv-24x7: parse catalog and populate sysfs with events 2015-02-02 17:56:38 +11:00
hv-24x7.c powerpc/perf/hv-24x7: Aggregate result elements on POWER9 SMT8 2017-07-02 20:40:33 +10:00
hv-24x7.h powerpc/perf/hv-24x7: Support v2 of the hypervisor API 2017-07-02 20:40:33 +10:00
hv-common.c powerpc/perf/{hv-gpci, hv-common}: generate requests with counters annotated 2015-02-02 17:56:39 +11:00
hv-common.h perf: define EVENT_DEFINE_RANGE_FORMAT_LITE helper 2015-02-02 17:56:38 +11:00
hv-gpci-requests.h powerpc/perf/hv-gpci: add the remaining gpci requests 2015-02-02 17:56:39 +11:00
hv-gpci.c powerpc/sparse: Make a bunch of things static 2016-09-13 17:35:47 +10:00
hv-gpci.h powerpc/perf/{hv-gpci, hv-common}: generate requests with counters annotated 2015-02-02 17:56:39 +11:00
imc-pmu.c powerpc/perf: Fix usage of nest_imc_refc 2017-08-17 21:56:36 +10:00
isa207-common.c powerpc/perf: Factor out PPMU_ONLY_COUNT_RUN check code from power8 2017-08-10 22:30:05 +10:00
isa207-common.h powerpc/perf: Factor out PPMU_ONLY_COUNT_RUN check code from power8 2017-08-10 22:30:05 +10:00
Makefile powerpc/perf: Add nest IMC PMU support 2017-07-25 22:55:45 +10:00
mpc7450-pmu.c powerpc/perf: Pass the struct perf_events down to compute_mmcr() 2014-07-28 14:30:47 +10:00
perf_regs.c powerpc/perf: Fix oops when kthread execs user process 2017-06-16 21:02:46 +10:00
power4-pmu.c powerpc/perf: Pass the struct perf_events down to compute_mmcr() 2014-07-28 14:30:47 +10:00
power5-pmu.c powerpc/perf: Pass the struct perf_events down to compute_mmcr() 2014-07-28 14:30:47 +10:00
power5+-pmu.c powerpc/perf: Pass the struct perf_events down to compute_mmcr() 2014-07-28 14:30:47 +10:00
power6-pmu.c powerpc/perf: Pass the struct perf_events down to compute_mmcr() 2014-07-28 14:30:47 +10:00
power7-events-list.h powerpc/perf: Make some new raw event codes available in sysfs 2014-03-24 09:48:23 +11:00
power7-pmu.c powerpc/sparse: Make a bunch of things static 2016-09-13 17:35:47 +10:00
power8-events-list.h powerpc/perf: Add Power8 mem_access event to sysfs 2017-04-19 20:00:23 +10:00
power8-pmu.c powerpc/perf: Factor out PPMU_ONLY_COUNT_RUN check code from power8 2017-08-10 22:30:05 +10:00
power9-events-list.h powerpc/perf: Cleanup of PM_BR_CMPL vs. PM_BRU_CMPL in Power9 event list 2017-08-10 22:30:06 +10:00
power9-pmu.c powerpc/perf: Cleanup of PM_BR_CMPL vs. PM_BRU_CMPL in Power9 event list 2017-08-10 22:30:06 +10:00
ppc970-pmu.c powerpc/perf: Pass the struct perf_events down to compute_mmcr() 2014-07-28 14:30:47 +10:00