linux/arch/powerpc
Michael Neuling 6d9c00c67b powerpc: Fix null pointer deref in perf hardware breakpoints
Currently if you are doing a global perf recording with hardware
breakpoints (ie perf record -e mem:0xdeadbeef -a), you can oops with:

  Faulting instruction address: 0xc000000000738890
  cpu 0xc: Vector: 300 (Data Access) at [c0000003f76af8d0]
      pc: c000000000738890: .hw_breakpoint_handler+0xa0/0x1e0
      lr: c000000000738830: .hw_breakpoint_handler+0x40/0x1e0
      sp: c0000003f76afb50
     msr: 8000000000001032
     dar: 6f0
   dsisr: 42000000
    current = 0xc0000003f765ac00
    paca    = 0xc00000000f262a00   softe: 0        irq_happened: 0x01
    pid   = 6810, comm = loop-read
  enter ? for help
  [c0000003f76afbe0] c00000000073cd04 .notifier_call_chain.isra.0+0x84/0xe0
  [c0000003f76afc80] c00000000073cdbc .notify_die+0x3c/0x60
  [c0000003f76afd20] c0000000000139f0 .do_dabr+0x40/0xf0
  [c0000003f76afe30] c000000000005a9c handle_dabr_fault+0x14/0x48
  --- Exception: 300 (Data Access) at 0000000010000480
  SP (ff8679e0) is in userspace

This is because we don't check to see if the break point is associated
with task before we deference the task_struct pointer.

This changes the update to use current.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-08-24 20:26:04 +10:00
..
boot powerpc/p4080ds: dts - add usb controller version info and port0 2012-08-10 07:47:02 -05:00
configs powerpc/fsl: fix "Failed to mount /dev: No such device" errors 2012-08-23 10:46:20 -05:00
include/asm Merge branch 'akpm' (Andrew's patch-bomb) 2012-07-30 17:25:34 -07:00
kernel powerpc: Fix null pointer deref in perf hardware breakpoints 2012-08-24 20:26:04 +10:00
kvm powerpc/kvm/book3s_32: Fix MTMSR_EERI macro 2012-07-31 15:21:20 +10:00
lib powerpc: Put the gpr save/restore functions in their own section 2012-07-11 14:19:59 +10:00
math-emu powerpc/math_emu/efp: Look for errata handler when type mismatches 2011-10-06 23:36:47 -05:00
mm powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
net powerpc: Start using ___PPC_RA/B/S/T where necessary 2012-07-10 19:18:25 +10:00
oprofile Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
perf powerpc/perf: Use perf_instruction_pointer in callchains 2012-07-10 19:18:46 +10:00
platforms Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2012-08-01 10:26:23 -07:00
sysdev powerpc/fsl-pci: Only scan PCI bus if configured as a host 2012-08-03 08:25:52 -05:00
xmon powerpc: Fixup whitespace in xmon 2012-08-24 20:26:03 +10:00
Kconfig ipc: use Kconfig options for __ARCH_WANT_[COMPAT_]IPC_PARSE_VERSION 2012-07-30 17:25:21 -07:00
Kconfig.debug powerpc: IOMMU fault injection 2012-07-10 19:18:59 +10:00
Makefile crypto: nx - move nx build to driver/crypto Makefile 2012-06-27 14:42:00 +08:00
relocs_check.pl powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00