linux/arch/s390/kernel
Martin Schwidefsky 1277580fe5 [S390] vdso: clock_gettime of CLOCK_THREAD_CPUTIME_ID with noexec=on
The combination of noexec=on and a clock_gettime call with clock id
CLOCK_THREAD_CPUTIME_ID is broken. The vdso code switches to the
access register mode to get access to the per-cpu data structure to
execute the magic ectg instruction. After the ectg instruction the
code always switches back to the primary mode but for noexec=on the
correct mode is the secondary mode. The effect of the bug is that the
user space program looses the access to all mappings without PROT_EXEC,
e.g. the stack. The problem is fixed by restoring the mode that has
been active before the switch to the access register mode.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2009-07-24 12:41:02 +02:00
..
vdso32 [S390] gettimeofday.S: removed duplicated #includes 2009-01-09 12:15:04 +01:00
vdso64 [S390] vdso: clock_gettime of CLOCK_THREAD_CPUTIME_ID with noexec=on 2009-07-24 12:41:02 +02:00
asm-offsets.c [S390] cpu hotplug and accounting values 2009-04-14 15:37:27 +02:00
audit.c [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
audit.h [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
base.S [S390] Convert memory detection into C code. 2007-02-05 21:18:37 +01:00
bitmap.c [S390] move EXPORT_SYMBOLs to definitions 2009-03-26 15:24:11 +01:00
compat_audit.c [S390] Get rid of a bunch of sparse warnings again. 2007-10-12 16:13:06 +02:00
compat_exec_domain.c [S390] Get rid of a lot of sparse warnings. 2007-02-05 21:16:47 +01:00
compat_linux.c ptrace: remove PT_DTRACE from avr32, mn10300, parisc, s390, sh, xtensa 2009-06-18 13:03:48 -07:00
compat_linux.h compat: generic compat get/settimeofday 2008-10-16 11:21:33 -07:00
compat_ptrace.h [S390] Expose a constant for the number of words representing the CRs 2009-03-26 15:24:25 +01:00
compat_signal.c [S390] fix system call parameter functions. 2008-11-27 11:06:56 +01:00
compat_wrapper.S [S390] wire up sys_perf_counter_open 2009-06-12 10:27:40 +02:00
cpcmd.c [S390] convert cpcmd printks to pr_xxx macros. 2008-12-25 13:39:19 +01:00
crash.c [S390] Get rid of a lot of sparse warnings. 2007-02-05 21:16:47 +01:00
debug.c [S390] s390dbf: Remove needless check for NULL pointer. 2009-03-26 15:24:29 +01:00
diag.c [S390] vmur: fix diag14 exceptions with addresses > 2GB. 2007-08-22 13:51:47 +02:00
dis.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
early.c [S390] hibernation: fix lowcore handling 2009-07-24 12:41:00 +02:00
ebcdic.c [S390] Get rid of a lot of sparse warnings. 2007-02-05 21:16:47 +01:00
entry64.S [S390] ftrace: add system call tracer support 2009-06-12 10:27:39 +02:00
entry.h [CVE-2009-0029] s390 specific system call wrappers 2009-01-14 14:15:32 +01:00
entry.S [S390] ftrace: add system call tracer support 2009-06-12 10:27:39 +02:00
ftrace.c function-graph: add stack frame test 2009-06-18 18:40:18 -04:00
head31.S [S390] eliminate ipl_device from lowcore 2009-03-26 15:24:27 +01:00
head64.S [S390] eliminate ipl_device from lowcore 2009-03-26 15:24:27 +01:00
head.S Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-06-14 13:46:25 -07:00
init_task.c mm: consolidate init_mm definition 2009-06-16 19:47:28 -07:00
ipl.c [S390] shutdown actions: save/return rc from init function 2009-07-07 16:37:52 +02:00
irq.c [S390] Fix init irq proc build break. 2009-02-11 10:37:39 +01:00
kprobes.c [S390] kprobes: defer setting of ctlblk state 2009-06-22 12:08:24 +02:00
machine_kexec.c [S390] Cleanup kprobes printk messages. 2008-07-14 10:02:24 +02:00
Makefile [S390] ftrace: add function graph tracer support 2009-06-12 10:27:39 +02:00
mcount.S [S390] ftrace: add function graph tracer support 2009-06-12 10:27:39 +02:00
mem_detect.c [S390] s390: hibernation support for s390 2009-06-16 10:31:22 +02:00
module.c module: cleanup FIXME comments about trimming exception table entries. 2009-06-12 21:47:05 +09:30
nmi.c [S390] merge cpu.h into cputime.h 2009-06-12 10:27:29 +02:00
process.c ptrace: remove PT_DTRACE from avr32, mn10300, parisc, s390, sh, xtensa 2009-06-18 13:03:48 -07:00
processor.c [S390] Add hwcap flag for the etf3 enhancement facility 2009-03-26 15:24:32 +01:00
ptrace.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
reipl64.S [S390] fix clock comparator save area usage 2009-03-26 15:24:32 +01:00
reipl.S [S390] reipl: move dump_prefix_page out of text section. 2007-03-05 23:35:43 +01:00
relocate_kernel64.S [S390] Reset infrastructure for re-IPL. 2006-12-04 15:40:26 +01:00
relocate_kernel.S [S390] Reset infrastructure for re-IPL. 2006-12-04 15:40:26 +01:00
s390_ext.c [S390] ftrace: add function graph tracer support 2009-06-12 10:27:39 +02:00
s390_ksyms.c [S390] move EXPORT_SYMBOLs to definitions 2009-03-26 15:24:11 +01:00
sclp.S [S390] add mini sclp driver 2009-06-12 10:27:30 +02:00
setup.c [S390] ftrace: add dynamic ftrace support 2009-06-12 10:27:38 +02:00
signal.c [S390] implement is_compat_task 2009-06-12 10:27:30 +02:00
smp.c [S390] vdso: fix per cpu area allocation 2009-07-24 12:41:01 +02:00
stacktrace.c [S390] Fix stacktrace compile bug. 2008-07-17 17:22:09 +02:00
sys_s390.c [CVE-2009-0029] s390 specific system call wrappers 2009-01-14 14:15:32 +01:00
syscalls.S [S390] wire up sys_perf_counter_open 2009-06-12 10:27:40 +02:00
sysinfo.c [S390] move sysinfo.c from drivers/s390 to arch/s390/kernel 2009-03-26 15:24:06 +01:00
time.c [S390] time: convert from bootmem to slab 2009-06-22 12:08:16 +02:00
topology.c [S390] cpumask: remove cpu_coregroup_map 2009-03-26 15:24:32 +01:00
traps.c [S390] fix dump_stack vs. %p and (null) 2009-03-26 15:24:02 +01:00
vdso.c [S390] implement is_compat_task 2009-06-12 10:27:30 +02:00
vmlinux.lds.S [S390] ftrace: add function graph tracer support 2009-06-12 10:27:39 +02:00
vtime.c [S390] lockless idle time accounting 2009-06-22 12:08:23 +02:00