linux/arch/powerpc/kernel
Aravinda Prasad a53fd61ac2 powerpc/ptrace: Enable hardware breakpoint upon re-registering
On powerpc, ptrace will disable hardware breakpoint request once the
breakpoint is hit. It is the responsibility of the caller to set it
again. However, when the caller sets the hardware breakpoint again
using ptrace(PTRACE_SET_DEBUGREG, child_pid, 0, addr), the hardware
breakpoint is not enabled.

While gdb's approach is to unregister and re-register the hardware
breakpoint every time the breakpoint is hit - which is working fine,
this could affect other programs trying to re-register hardware
breakpoint without unregistering.

This patch enables hardware breakpoint if the caller is re-registering.

Signed-off-by: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
Acked-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-11-15 13:01:13 +11:00
..
vdso32 powerpc: Add VDSO version of getcpu 2012-07-11 14:18:40 +10:00
vdso64 powerpc: Add VDSO version of getcpu 2012-07-11 14:18:40 +10:00
.gitignore
align.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
asm-offsets.c Merge branch 'merge' into next 2012-09-07 09:48:59 +10:00
audit.c
btext.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
cacheinfo.c cpu: convert 'cpu' and 'machinecheck' sysdev_class to a regular subsystem 2011-12-21 14:29:42 -08:00
cacheinfo.h
clock.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
compat_audit.c
cpu_setup_6xx.S powerpc: Fix some 6xx/7xxx CPU setup functions 2011-02-07 12:57:11 +11:00
cpu_setup_44x.S
cpu_setup_a2.S powerpc: Enforce usage of RA 0-R31 where possible 2012-07-10 19:18:35 +10:00
cpu_setup_fsl_booke.S powerpc/booke: Add CPU_FTR_EMB_HV check for e5500. 2012-09-12 14:57:09 -05:00
cpu_setup_pa6t.S
cpu_setup_power.S powerpc: Add POWER8 setup code 2012-11-15 13:00:42 +11:00
cpu_setup_ppc970.S powerpc, KVM: Split HVMODE_206 cpu feature bit into separate HV and architecture bits 2011-07-12 13:16:58 +03:00
cputable.c powerpc: POWER8 cputable entry 2012-11-15 13:00:45 +11:00
crash_dump.c powerpc: Rename mapping based RELOCATABLE to DYNAMIC_MEMSTART for BookE 2011-12-20 10:20:19 -05:00
crash.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
dbell.c powerpc: Make sure IPI handlers see data written by IPI senders 2012-09-05 16:05:22 +10:00
dma-iommu.c powerpc/dma-iommu: Fix IOMMU window check 2012-08-24 20:26:07 +10:00
dma-swiotlb.c powerpc/swiotlb: Enable at early stage and disable if not necessary 2012-09-12 14:57:09 -05:00
dma.c powerpc/kernel: Remove uses of abs_to_virt() and virt_to_abs() 2012-09-05 15:19:30 +10:00
entry_32.S Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-10-12 10:49:08 +09:00
entry_64.S powerpc: Fix MAX_STACK_TRACE_ENTRIES too low warning ! 2012-11-15 13:00:17 +11:00
epapr_hcalls.S KVM: PPC: Factor out guest epapr initialization 2012-05-30 11:43:10 +02:00
epapr_paravirt.c KVM: PPC: Factor out guest epapr initialization 2012-05-30 11:43:10 +02:00
exceptions-64e.S powerpc/booke: Separate out restore_e5500/setup_e5500 routines. 2012-09-12 14:57:09 -05:00
exceptions-64s.S powerpc: Fix denorm symbol name 2012-11-15 13:00:48 +11:00
fadump.c powerpc: Change memory_limit from phys_addr_t to unsigned long long 2012-09-07 11:44:30 +10:00
firmware.c powerpc: fix implicit use of cache.h in kernel/firmware.c 2011-10-31 19:30:41 -04:00
fpu.S powerpc: Enforce usage of R0-R31 where possible 2012-07-10 19:18:30 +10:00
fsl_booke_entry_mapping.S
ftrace.c powerpc/ftrace: Trace function graph entry before updating index 2012-07-27 11:42:34 +10:00
head_8xx.S powerpc: Call do_page_fault() with interrupts off 2012-03-09 10:55:08 +11:00
head_32.S powerpc: Call do_page_fault() with interrupts off 2012-03-09 10:55:08 +11:00
head_40x.S powerpc: Call do_page_fault() with interrupts off 2012-03-09 10:55:08 +11:00
head_44x.S Merge branch 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2012-05-24 16:17:30 -07:00
head_64.S powerpc/powernv: Fix OPAL debug entry 2012-11-15 13:00:14 +11:00
head_booke.h KVM: PPC: booke: category E.HV (GS-mode) support 2012-04-08 12:51:19 +03:00
head_fsl_booke.S powepc/booke: Separate out E.HV check and ivor setup code. 2012-09-12 14:57:08 -05:00
hw_breakpoint.c powerpc: Dynamically calculate the dabrx based on kernel/user/hypervisor 2012-09-10 09:59:13 +10:00
ibmebus.c powerpc: Remove all includes of <asm/abs_addr.h> 2012-09-05 15:19:33 +10:00
idle_6xx.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_book3e.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_e500.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_power4.S powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly 2012-07-11 14:18:22 +10:00
idle_power7.S powerpc/powernv: Always go into nap mode when CPU is offline 2012-09-05 16:05:20 +10:00
idle.c powerpc: Remove no longer used ppc_md.idle_loop() 2012-11-15 13:00:20 +11:00
io-workarounds.c powerpc: io-workarounds.c was implicitly getting init_mm 2011-10-31 19:30:37 -04:00
io.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
iomap.c powerpc: switch to GENERIC_PCI_IOMAP 2011-11-28 21:13:18 +02:00
iommu.c powerpc/iommu: Use bitmap library 2012-11-15 13:01:04 +11:00
irq.c powerpc/trace: Fix interrupt tracepoints vs. RCU 2012-09-17 16:31:54 +10:00
isa-bridge.c powerpc: Remove FW_FEATURE ISERIES from arch code 2012-03-21 11:16:11 +11:00
jump_label.c powerpc: Fix build breakage in jump_label.c 2011-11-16 14:25:19 +11:00
kgdb.c powerpc/kgdb: Restore current_thread_info properly 2012-08-24 20:26:06 +10:00
kprobes.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
kvm_emul.S KVM: PPC: Not optimizing MSR_CE and MSR_ME with paravirt. 2012-05-30 11:43:11 +02:00
kvm.c KVM updates for the 3.6 merge window 2012-07-24 12:01:20 -07:00
l2cr_6xx.S Fix common misspellings 2011-03-31 11:26:23 -03:00
legacy_serial.c powerpc: Fix build on some non-freescale platforms 2012-01-25 13:33:22 +11:00
lparcfg.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
machine_kexec_32.c treewide: convert uses of ATTRIB_NORETURN to __noreturn 2012-01-12 20:13:03 -08:00
machine_kexec_64.c treewide: convert uses of ATTRIB_NORETURN to __noreturn 2012-01-12 20:13:03 -08:00
machine_kexec.c powerpc: Export memory limit via device tree 2012-09-07 11:44:33 +10:00
Makefile powerpc: make POWER7 setup code name generic 2012-11-15 13:00:39 +11:00
misc_32.S powerpc: split ret_from_fork 2012-09-30 23:31:19 -04:00
misc_64.S powerpc: split ret_from_fork 2012-09-30 23:31:19 -04:00
misc.S powerpc: switch to generic sys_execve()/kernel_execve() 2012-09-30 23:35:51 -04:00
module_32.c powerpc: Fix kernel panic during kernel module load 2012-06-08 19:59:08 +10:00
module_64.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
module.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
msi.c
nvram_64.c powerpc/nvram: Generalize code for OS partitions in NVRAM 2011-03-04 18:19:04 +11:00
of_platform.c powerpc/eeh: Introduce EEH device 2012-03-09 11:39:29 +11:00
paca.c powerpc: Initialise paca.data_offset with poison 2012-09-10 09:35:27 +10:00
pci_32.c powerpc/PCI: compute I/O space bus-to-resource offset consistently 2012-03-20 10:41:44 -07:00
pci_64.c PCI: replace struct pci_bus secondary/subordinate with busn_res 2012-06-13 15:42:22 -06:00
pci_dn.c powerpc/powernv: PCI support for p7IOC under OPAL v2 2011-11-25 14:53:15 +11:00
pci_of_scan.c PCI changes for the 3.6 merge window: 2012-07-24 16:17:07 -07:00
pci-common.c Merge remote-tracking branch 'pci/pci/gavin-window-alignment' into next 2012-09-17 16:07:43 +10:00
pmc.c bug.h: add include of it to various implicit C users 2012-02-29 17:15:08 -05:00
ppc32.h compat: move compat_siginfo_t definition to asm/compat.h 2012-10-06 03:05:16 +09:00
ppc_ksyms.c powerpc: split ret_from_fork 2012-09-30 23:31:19 -04:00
ppc_save_regs.S Fix common misspellings 2011-03-31 11:26:23 -03:00
proc_powerpc.c
process.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-10-12 10:49:08 +09:00
prom_init_check.sh powerpc/powernv: Get kernel command line accross OPAL takeover 2011-09-20 16:09:48 +10:00
prom_init.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-10-06 03:16:12 +09:00
prom_parse.c powerpc: remove non-required uses of include <linux/module.h> 2011-10-31 19:30:44 -04:00
prom.c powerpc: Add asm/debug.h to get powerpc_debugfs_root 2012-11-15 12:59:27 +11:00
ptrace32.c powerpc: Remove old powerpc specific ptrace getregs/setregs calls 2012-04-30 15:37:28 +10:00
ptrace.c powerpc/ptrace: Enable hardware breakpoint upon re-registering 2012-11-15 13:01:13 +11:00
reloc_32.S powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00
reloc_64.S
rtas_flash.c powerpc/rtas_flash: Eliminate possible double free 2012-11-15 13:00:11 +11:00
rtas_pci.c powerpc/eeh: Trace eeh device from I/O cache 2012-09-10 09:35:44 +10:00
rtas-proc.c
rtas-rtc.c powerpc/rtas-rtc: remove sideeffects of printk_ratelimit 2011-06-29 15:30:43 +10:00
rtas.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
rtasd.c powerpc/pseries: Cancel RTAS event scan before firmware flash 2011-11-25 14:11:29 +11:00
setup_32.c powerpc/watchdog: move booke watchdog param related code to setup-common.c 2012-07-11 07:44:03 -05:00
setup_64.c powerpc: Set paca->data_offset = 0 for boot cpu 2012-09-27 12:51:06 +10:00
setup-common.c powerpc/watchdog: move booke watchdog param related code to setup-common.c 2012-07-11 07:44:03 -05:00
setup.h
signal_32.c Uninclude linux/freezer.h 2012-10-01 09:58:18 -04:00
signal_64.c powerpc: get rid of restore_sigmask() 2012-06-01 12:58:51 -04:00
signal.c powerpc: Rework set_dabr so it can take a DABRX value as well 2012-09-10 09:59:10 +10:00
signal.h powerpc: get rid of restore_sigmask() 2012-06-01 12:58:51 -04:00
smp-tbsync.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
smp.c powerpc/smp: Do not disable IPI interrupts during suspend 2012-09-19 08:38:16 -05:00
softemu8xx.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
stacktrace.c powerpc: various straight conversions from module.h --> export.h 2011-10-31 19:30:44 -04:00
suspend.c
swsusp_32.S Fix common misspellings 2011-03-31 11:26:23 -03:00
swsusp_64.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
swsusp_asm64.S
swsusp_booke.S
swsusp.c Disintegrate asm/system.h for PowerPC 2012-03-28 18:30:02 +01:00
sys_ppc32.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal 2012-10-12 10:49:08 +09:00
syscalls.c powerpc: Fix personality handling in ppc64_personality() 2012-08-24 20:26:07 +10:00
sysfs.c cpuidle/powerpc: Fix smt_snooze_delay functionality. 2012-10-18 10:57:24 +11:00
systbl_chk.c
systbl_chk.sh
systbl.S
tau_6xx.c
time.c Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-10-12 22:17:48 +09:00
traps.c Merge branch 'merge' into next 2012-09-07 09:48:59 +10:00
udbg_16550.c powerpc: Add early debug for WSP platforms 2011-05-06 13:32:41 +10:00
udbg.c powerpc/udbg: Remove unused udbg_read() 2012-11-15 12:59:33 +11:00
uprobes.c powerpc: Uprobes port to powerpc 2012-09-05 15:35:19 +10:00
vdso.c powerpc: Restore VDSO information on critical exception om BookE 2012-09-07 09:48:49 +10:00
vecemu.c
vector.S powerpc: Optimise enable_kernel_altivec 2012-04-30 15:37:17 +10:00
vio.c powerpc: Remove all includes of <asm/abs_addr.h> 2012-09-05 15:19:33 +10:00
vmlinux.lds.S powerpc: Remove legacy iSeries bits from assembly files 2012-03-09 10:54:59 +11:00