linux_dsm_epyc7002/arch/powerpc/kernel
Ravi Bangoria 29da4f91c0 powerpc/watchpoint: Don't allow concurrent perf and ptrace events
With Book3s DAWR, ptrace and perf watchpoints on powerpc behaves
differently. Ptrace watchpoint works in one-shot mode and generates
signal before executing instruction. It's ptrace user's job to
single-step the instruction and re-enable the watchpoint. OTOH, in
case of perf watchpoint, kernel emulates/single-steps the instruction
and then generates event. If perf and ptrace creates two events with
same or overlapping address ranges, it's ambiguous to decide who
should single-step the instruction. Because of this issue, don't
allow perf and ptrace watchpoint at the same time if their address
range overlaps.

Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Reviewed-by: Michael Neuling <mikey@neuling.org>
Link: https://lore.kernel.org/r/20200514111741.97993-15-ravi.bangoria@linux.ibm.com
2020-05-19 00:14:45 +10:00
..
ptrace powerpc/watchpoint: Use builtin ALIGN*() macros 2020-05-19 00:11:05 +10:00
syscalls asm-generic: fix unistd_32.h generation format 2020-04-07 10:43:42 -07:00
trace powerpc: Add a probe_kernel_read_inst() function 2020-05-19 00:10:37 +10:00
vdso32
vdso64
.gitignore
align.c powerpc: Define and use get_user_instr() et. al. 2020-05-19 00:10:37 +10:00
asm-offsets.c powerpc/xmon: Move breakpoints to text section 2020-05-19 00:10:36 +10:00
audit.c
btext.c
cacheinfo.c
cacheinfo.h
compat_audit.c
cpu_setup_6xx.S
cpu_setup_44x.S
cpu_setup_fsl_booke.S
cpu_setup_pa6t.S
cpu_setup_power.S
cpu_setup_ppc970.S
cputable.c
crash_dump.c powerpc: Add prefixed instructions to instruction data type 2020-05-19 00:10:39 +10:00
dawr.c powerpc/watchpoint: Disable all available watchpoints when !dawr_force_enable 2020-05-19 00:11:05 +10:00
dbell.c
dma-iommu.c
dma-mask.c
dma-swiotlb.c
dt_cpu_ftrs.c
early_32.c
eeh_cache.c
eeh_dev.c
eeh_driver.c
eeh_event.c
eeh_pe.c
eeh_sysfs.c
eeh.c powerpc/eeh: Release EEH device state synchronously 2020-05-18 21:58:44 +10:00
entry_32.S
entry_64.S
epapr_hcalls.S
epapr_paravirt.c powerpc: Use a datatype for instructions 2020-05-19 00:10:37 +10:00
exceptions-64e.S
exceptions-64s.S powerpc/64s/exceptions: Machine check reconcile irq state 2020-05-18 21:58:44 +10:00
fadump.c powerpc/fadump: consider reserved ranges while reserving memory 2020-05-04 22:29:58 +10:00
firmware.c
fpu.S
fsl_booke_entry_mapping.S
head_8xx.S
head_32.h
head_32.S
head_40x.S
head_44x.S
head_64.S powerpc/64: Don't initialise init_task->thread.regs 2020-05-15 11:58:54 +10:00
head_booke.h powerpc: Replace _ALIGN_UP() by ALIGN() 2020-05-11 23:15:15 +10:00
head_fsl_booke.S
hw_breakpoint.c powerpc/watchpoint: Don't allow concurrent perf and ptrace events 2020-05-19 00:14:45 +10:00
idle_6xx.S
idle_book3e.S
idle_book3s.S
idle_e500.S
idle.c
ima_arch.c
io-workarounds.c
io.c
iomap.c
iommu.c
irq.c
isa-bridge.c
jump_label.c powerpc: Use a datatype for instructions 2020-05-19 00:10:37 +10:00
kgdb.c powerpc: Use a datatype for instructions 2020-05-19 00:10:37 +10:00
kprobes-ftrace.c
kprobes.c powerpc/kprobes: Don't allow breakpoints on suffixes 2020-05-19 00:11:03 +10:00
kvm_emul.S
kvm.c
l2cr_6xx.S
legacy_serial.c
Makefile
mce_power.c powerpc: Use a function for reading instructions 2020-05-19 00:10:37 +10:00
mce.c powerpc/64s: machine check do not trace real-mode handler 2020-05-19 00:10:34 +10:00
misc_32.S
misc_64.S
misc.S
module_32.c powerpc: module_[32|64].c: replace swap function with built-in one 2020-05-11 23:15:14 +10:00
module_64.c powerpc: Use a macro for creating instructions from u32s 2020-05-19 00:10:36 +10:00
module.c
module.lds
msi.c
note.S
nvram_64.c powerpc: Replace _ALIGN_UP() by ALIGN() 2020-05-11 23:15:15 +10:00
of_platform.c
optprobes_head.S powerpc: Add prefixed instructions to instruction data type 2020-05-19 00:10:39 +10:00
optprobes.c powerpc: Add prefixed instructions to instruction data type 2020-05-19 00:10:39 +10:00
paca.c
pci_32.c
pci_64.c powerpc: Replace _ALIGN_UP() by ALIGN() 2020-05-11 23:15:15 +10:00
pci_dn.c
pci_of_scan.c
pci-common.c powerpc updates for 5.7 2020-04-05 11:12:59 -07:00
pci-hotplug.c powerpc/eeh: Release EEH device state synchronously 2020-05-18 21:58:44 +10:00
pmc.c
ppc32.h
ppc_save_regs.S powerpc: Improve ppc_save_regs() 2020-04-04 21:40:57 +11:00
proc_powerpc.c
process.c powerpc/watchpoint: Prepare handler to handle more than one watchpoint 2020-05-19 00:14:37 +10:00
prom_init_check.sh
prom_init.c powerpc: Replace _ALIGN() by ALIGN() 2020-05-11 23:15:16 +10:00
prom_parse.c
prom.c powerpc: Replace _ALIGN_UP() by ALIGN() 2020-05-11 23:15:15 +10:00
reloc_32.S
reloc_64.S
rtas_flash.c
rtas_pci.c
rtas-proc.c
rtas-rtc.c
rtas.c
rtasd.c
secure_boot.c
security.c powerpc: Use a macro for creating instructions from u32s 2020-05-19 00:10:36 +10:00
secvar-ops.c
secvar-sysfs.c
setup_32.c powerpc: Use a datatype for instructions 2020-05-19 00:10:37 +10:00
setup_64.c powerpc/pseries: Limit machine check stack to 4GB 2020-05-19 00:10:34 +10:00
setup-common.c
setup.h
signal_32.c powerpc: Use trap metadata to prevent double restart rather than zeroing trap 2020-05-15 11:58:54 +10:00
signal_64.c powerpc: Use trap metadata to prevent double restart rather than zeroing trap 2020-05-15 11:58:54 +10:00
signal.c powerpc/watchpoint: Convert thread_struct->hw_brk to an array 2020-05-19 00:11:05 +10:00
signal.h
smp-tbsync.c
smp.c
stacktrace.c
suspend.c
swsusp_32.S
swsusp_64.c
swsusp_asm64.S
swsusp_booke.S
swsusp.c
sys_ppc32.c
syscall_64.c
syscalls.c
sysfs.c powerpc/sysfs: Show idle_purr and idle_spurr for every CPU 2020-04-30 12:35:26 +10:00
systbl_chk.sh
systbl.S
tau_6xx.c
time.c Revert "powerpc/64: irq_work avoid interrupt when called with hardware irqs enabled" 2020-04-03 16:55:34 +11:00
tm.S
traps.c powerpc: Support prefixed instructions in alignment handler 2020-05-19 00:11:03 +10:00
ucall.S
udbg_16550.c
udbg.c
uprobes.c powerpc: Introduce a function for reporting instruction length 2020-05-19 00:10:38 +10:00
vdso.c
vecemu.c powerpc: Define and use get_user_instr() et. al. 2020-05-19 00:10:37 +10:00
vector.S
vmlinux.lds.S powerpc updates for 5.7 2020-04-05 11:12:59 -07:00
watchdog.c