linux_dsm_epyc7002/arch/powerpc/kernel
Breno Leitao 5521eb4bca powerpc/ptrace: Add support for PTRACE_SYSEMU
This is a patch that adds support for PTRACE_SYSEMU ptrace request in
PowerPC architecture.

When ptrace(PTRACE_SYSEMU, ...) request is called, it will be handled by
the arch independent function ptrace_resume(), which will tag the task with
the TIF_SYSCALL_EMU flag. This flag needs to be handled from a platform
dependent point of view, which is what this patch does.

This patch adds this task's flag as part of the _TIF_SYSCALL_DOTRACE, which
is the MACRO that is used to trace syscalls at entrance/exit.

Since TIF_SYSCALL_EMU is now part of _TIF_SYSCALL_DOTRACE, if the task has
_TIF_SYSCALL_DOTRACE set, it will hit do_syscall_trace_enter() at syscall
entrance and do_syscall_trace_leave() at syscall leave.
do_syscall_trace_enter() needs to handle the TIF_SYSCALL_EMU flag properly,
which will interrupt the syscall executing if TIF_SYSCALL_EMU is set. The
output values should not be changed, i.e. the return value (r3) should
contain the original syscall argument on exit.

With this flag set, the syscall is not executed fundamentally, because
do_syscall_trace_enter() is returning -1 which is bigger than NR_syscall,
thus, skipping the syscall execution and exiting userspace.

Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-10-03 15:40:04 +10:00
..
trace powerpc: consolidate -mno-sched-epilog into FTRACE flags 2018-09-19 22:01:56 +10:00
vdso32 powerpc/vdso: Correct call frame information 2018-09-14 13:47:31 +10:00
vdso64 powerpc/vdso: Correct call frame information 2018-09-14 13:47:31 +10:00
.gitignore
align.c powerpc/sstep: Introduce GETTYPE macro 2018-06-03 21:19:40 +10:00
asm-offsets.c powerpc/64: add stack protector support 2018-10-03 15:40:03 +10:00
audit.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
btext.c powerpc: Make function btext_initialize static 2018-05-25 12:04:44 +10:00
cacheinfo.c powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
cacheinfo.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
compat_audit.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cpu_setup_6xx.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
cpu_setup_44x.S
cpu_setup_fsl_booke.S powerpc: Free up CPU feature bits on 64-bit machines 2018-03-24 00:38:51 +11:00
cpu_setup_pa6t.S
cpu_setup_power.S powerpc/64s: Clear PCR on boot 2018-05-18 16:05:15 +10:00
cpu_setup_ppc970.S
cputable.c Merge branch 'topic/ppc-kvm' into next 2018-07-19 14:37:57 +10:00
crash_dump.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
crash.c powerpc: remove kdump.h from page.h 2018-07-30 22:47:53 +10:00
dbell.c powerpc: Introduce msgsnd/doorbell barrier primitives 2017-04-13 23:34:33 +10:00
dma-iommu.c powerpc: rename dma_direct_ to dma_nommu_ 2018-01-10 16:41:14 +01:00
dma-swiotlb.c swiotlb: rename swiotlb_free to swiotlb_exit 2018-01-15 09:35:39 +01:00
dma.c PCI: Call dma_debug_add_bus() for pci_bus_type from PCI core 2018-07-30 15:58:01 -05:00
dt_cpu_ftrs.c Merge branch 'topic/ppc-kvm' into next 2018-07-19 14:37:57 +10:00
eeh_cache.c powerpc/eeh: Fix misleading comment in __eeh_addr_cache_get_device() 2018-03-27 23:44:58 +11:00
eeh_dev.c powerpc/eeh: Create PHB PEs after EEH is initialized 2017-09-21 14:56:00 +10:00
eeh_driver.c powerpc/eeh: Refactor report functions 2018-06-03 20:43:41 +10:00
eeh_event.c powerpc/eeh: Manage EEH_PE_RECOVERING inside eeh_handle_normal_event() 2018-03-27 23:44:58 +11:00
eeh_pe.c powerpc/eeh: Introduce eeh_for_each_pe() 2018-06-03 20:43:39 +10:00
eeh_sysfs.c powerpc/eeh: Add EEH notify resume sysfs 2018-01-27 20:02:52 +11:00
eeh.c powerpc/eeh: Avoid misleading message "EEH: no capable adapters found" 2018-07-02 23:54:26 +10:00
entry_32.S powerpc/traps: merge unrecoverable_exception() and nonrecoverable_exception() 2018-10-03 15:40:01 +10:00
entry_64.S powerpc: Redefine TIF_32BITS thread flag 2018-10-03 15:40:04 +10:00
epapr_hcalls.S
epapr_paravirt.c
exceptions-64e.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
exceptions-64s.S Revert "convert SLB miss handlers to C" and subsequent commits 2018-10-03 15:32:49 +10:00
fadump.c powerpc/fadump: re-register firmware-assisted dump if already registered 2018-09-19 22:08:12 +10:00
firmware.c
fpu.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
fsl_booke_entry_mapping.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
head_8xx.S powerpc: remove superflous inclusions of asm/fixmap.h 2018-07-30 22:48:18 +10:00
head_32.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
head_40x.S powerpc/405: move PPC405_ERR77 in asm-405.h 2018-07-30 22:48:13 +10:00
head_44x.S
head_64.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
head_booke.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
head_fsl_booke.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
hw_breakpoint.c perf/arch/powerpc: Implement hw_breakpoint_arch_parse() 2018-06-26 09:07:55 +02:00
idle_6xx.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
idle_book3e.S powerpc/64s: make PACA_IRQ_HARD_DIS track MSR[EE] closely 2018-07-24 22:03:14 +10:00
idle_book3s.S Merge branch 'fixes' into next 2018-08-13 15:59:06 +10:00
idle_e500.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
idle_power4.S powerpc/64s: Fix PACA_IRQ_HARD_DIS accounting in idle_power4() 2018-08-14 15:36:02 +10:00
idle.c
ima_kexec.c powerpc: ima: send the kexec buffer to the next kernel 2016-12-20 09:48:44 -08:00
io-workarounds.c powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
io.c
iomap.c powerpc: iomap.c: introduce io{read|write}64_{lo_hi|hi_lo} 2018-04-05 14:59:26 +10:00
iommu.c powerpc/iommu: Avoid derefence before pointer check 2018-09-19 21:58:09 +10:00
irq.c powerpc/64: Disable irq restore warning for now 2018-08-07 21:49:24 +10:00
isa-bridge.c powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
jump_label.c
kexec_elf_64.c kernel/kexec_file.c: allow archs to set purgatory load address 2018-04-13 17:10:28 -07:00
kgdb.c powerpc/8xx: Getting rid of remaining use of CONFIG_8xx 2017-08-10 23:32:12 +10:00
kprobes-ftrace.c bpf/error-inject/kprobes: Clear current_kprobe and enable preempt in kprobe 2018-06-21 12:33:19 +02:00
kprobes.c bpf/error-inject/kprobes: Clear current_kprobe and enable preempt in kprobe 2018-06-21 12:33:19 +02:00
kvm_emul.S powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
kvm.c powerpc/kvm: Prefer fault_in_pages_readable function 2018-05-17 14:12:40 +10:00
l2cr_6xx.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
legacy_serial.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
machine_kexec_32.c
machine_kexec_64.c powerpc/64/kexec: fix race in kexec when XIVE is shutdown 2018-05-10 23:25:08 +10:00
machine_kexec_file_64.c powerpc/kexec: Use common error handling code in setup_new_fdt() 2018-08-10 22:12:36 +10:00
machine_kexec.c powerpc: remove kdump.h from page.h 2018-07-30 22:47:53 +10:00
Makefile powerpc/32: add stack protector support 2018-10-03 15:40:03 +10:00
mce_power.c powerpc/pseries: Flush SLB contents on SLB MCE errors. 2018-09-19 21:59:22 +10:00
mce.c powerpc/pseries: Flush SLB contents on SLB MCE errors. 2018-09-19 21:59:22 +10:00
misc_32.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
misc_64.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
misc.S powerpc/misc: merge reloc_offset() and add_reloc_offset() 2018-06-04 00:39:17 +10:00
module_32.c powerpc/sparse: Fix plain integer as NULL pointer warning 2018-05-25 12:04:38 +10:00
module_64.c powerpc/kbuild: move -mprofile-kernel check to Kconfig 2018-06-11 09:16:29 +09:00
module.c powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC 2018-08-08 00:32:23 +10:00
module.lds powerpc/modules: Fix alignment of .toc section in kernel modules 2017-12-11 13:03:35 +11:00
msi.c
nvram_64.c powerpc/64: Fix strncpy() related build failures with GCC 8.1 2018-06-03 20:40:24 +10:00
of_platform.c powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
optprobes_head.S powerpc/64: Rename soft_enabled to irq_soft_mask 2018-01-19 22:37:01 +11:00
optprobes.c powerpc/kprobes: Do not disable interrupts for optprobes and kprobes_on_ftrace 2017-11-12 23:51:41 +11:00
paca.c Revert "convert SLB miss handlers to C" and subsequent commits 2018-10-03 15:32:49 +10:00
pci_32.c powerpc: Remove -Wattribute-alias pragmas 2018-06-25 23:21:13 +09:00
pci_64.c powerpc: Remove -Wattribute-alias pragmas 2018-06-25 23:21:13 +09:00
pci_dn.c powerpc/pci: Separate SR-IOV Calls 2017-12-11 13:03:35 +11:00
pci_of_scan.c pci-v4.16-changes 2018-02-06 09:59:40 -08:00
pci-common.c powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
pci-hotplug.c powerpc/pci: Unroll two pass loop when scanning bridges 2017-12-18 23:05:52 -06:00
pmc.c
ppc32.h
ppc_save_regs.S powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
proc_powerpc.c powerpc: Use octal numbers for file permissions 2018-01-22 05:48:33 +11:00
process.c Revert "convert SLB miss handlers to C" and subsequent commits 2018-10-03 15:32:49 +10:00
prom_init_check.sh powerpc/mm/radix: Update command line parsing for disable_radix 2018-04-04 16:59:50 +10:00
prom_init.c powerpc/prom: Remove VLA in prom_check_platform_support() 2018-09-19 22:08:12 +10:00
prom_parse.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
prom.c powerpc: clean the inclusion of stringify.h 2018-07-30 22:48:17 +10:00
ptrace32.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
ptrace.c powerpc/ptrace: Add support for PTRACE_SYSEMU 2018-10-03 15:40:04 +10:00
reloc_32.S
reloc_64.S powerpc/asm: Convert .llong directives to .8byte 2017-08-31 14:26:47 +10:00
rtas_flash.c powerpc: Use octal numbers for file permissions 2018-01-22 05:48:33 +11:00
rtas_pci.c powerpc/kernel: Change retrieval of pci_dn 2017-08-31 14:26:40 +10:00
rtas-proc.c powerpc updates for 4.18 2018-06-07 10:23:33 -07:00
rtas-rtc.c powerpc: use time64_t in read_persistent_clock 2018-06-03 20:43:33 +10:00
rtas.c powerpc/pseries: Disable CPU hotplug across migrations 2018-09-19 22:08:12 +10:00
rtasd.c powerpc/pseries: Remove prrn_work workqueue 2018-09-19 22:08:12 +10:00
security.c powerpc/64s: Add support for software count cache flush 2018-08-08 00:32:26 +10:00
setup_32.c powerpc/32: Include setup.h header file to fix warnings 2018-08-10 22:12:38 +10:00
setup_64.c powerpc/tm: Fix HFSCR bit for no suspend case 2018-09-14 13:47:31 +10:00
setup-common.c powerpc/64: Call setup_barrier_nospec() from setup_arch() 2018-08-08 00:32:23 +10:00
setup.h powerpc/tau: Synchronize function prototypes and body 2018-05-25 12:04:43 +10:00
signal_32.c powerpc: Remove -Wattribute-alias pragmas 2018-06-25 23:21:13 +09:00
signal_64.c powerpc: Remove -Wattribute-alias pragmas 2018-06-25 23:21:13 +09:00
signal.c rseq: Avoid infinite recursion when delivering SIGSEGV 2018-06-22 19:04:22 +02:00
signal.h powerpc/syscalls: signal_{32, 64} - switch to SYSCALL_DEFINE 2018-05-10 23:25:13 +10:00
smp-tbsync.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
smp.c powerpc/topology: Get topology for shared processors at boot 2018-08-21 16:01:59 +10:00
stacktrace.c powerpc/64s: Fix build failures with CONFIG_NMI_IPI=n 2018-06-19 23:03:50 +10:00
suspend.c
swsusp_32.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
swsusp_64.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/nmi.h> 2017-03-02 08:42:30 +01:00
swsusp_asm64.S powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
swsusp_booke.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
swsusp.c powerpc/swsusp: Include suspend.h to silence sparse warnings 2017-03-20 19:02:49 +11:00
sys_ppc32.c powerpc/syscalls: kill ppc32_select() 2018-05-10 23:25:15 +10:00
syscalls.c powerpc: Remove -Wattribute-alias pragmas 2018-06-25 23:21:13 +09:00
sysfs.c Merge branch 'topic/paca' into next 2018-03-31 09:09:36 +11:00
systbl_chk.c powerpc/syscalls: Add COMPAT_SPU_NEW() macro 2018-05-10 23:25:14 +10:00
systbl_chk.sh powerpc: Make it clearer that systbl check errors are errors 2018-05-10 23:25:16 +10:00
systbl.S powerpc/syscalls: Add COMPAT_SPU_NEW() macro 2018-05-10 23:25:14 +10:00
tau_6xx.c powerpc/tau: Make some function static 2018-05-25 12:04:44 +10:00
time.c powerpc/time: inline arch_vtime_task_switch() 2018-06-04 00:39:20 +10:00
tm.S powerpc/tm: Fix HTM documentation 2018-09-17 21:17:25 +10:00
traps.c powerpc/traps: merge unrecoverable_exception() and nonrecoverable_exception() 2018-10-03 15:40:01 +10:00
udbg_16550.c
udbg.c
uprobes.c powerpc/uprobes: Implement arch_uretprobe_is_alive() 2017-08-24 16:19:21 +10:00
vdso.c powerpc: remove unneeded inclusions of cpu_has_feature.h 2018-07-30 22:47:54 +10:00
vecemu.c powerpc: Add a missing include header 2018-05-25 12:04:46 +10:00
vector.S powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
vmlinux.lds.S powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC 2018-08-08 00:32:23 +10:00
watchdog.c powerpc: NMI IPI make NMI IPIs fully sychronous 2018-07-24 22:03:14 +10:00