linux-uconsole/arch/s390/kernel
Lin Ming 8aa3149405 timekeeping: Fix clock_gettime vsyscall time warp
commit 0696b711e4 upstream.

Since commit 0a544198 "timekeeping: Move NTP adjusted clock multiplier
to struct timekeeper" the clock multiplier of vsyscall is updated with
the unmodified clock multiplier of the clock source and not with the
NTP adjusted multiplier of the timekeeper.

This causes user space observerable time warps:
new CLOCK-warp maximum: 120 nsecs,  00000025c337c537 -> 00000025c337c4bf

Add a new argument "mult" to update_vsyscall() and hand in the
timekeeping internal NTP adjusted multiplier.

Signed-off-by: Lin Ming <ming.m.lin@intel.com>
Cc: "Zhang Yanmin" <yanmin_zhang@linux.intel.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Tony Luck <tony.luck@intel.com>
LKML-Reference: <1258436990.17765.83.camel@minggr.sh.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Kurt Garloff <garloff@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-13 13:20:13 -07:00
..
vdso32 Use macros for .data.page_aligned section. 2009-09-21 06:27:08 +02:00
vdso64 Use macros for .data.page_aligned section. 2009-09-21 06:27:08 +02:00
asm-offsets.c [S390] hibernate: Do real CPU swap at resume time 2009-09-22 22:58:46 +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 untangle the do_mremap() mess 2010-01-18 10:19:11 -08:00
compat_linux.h [S390] Convert sys_execve to function with parameters. 2009-09-22 22:58:43 +02: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] 64-bit register support for 31-bit processes 2009-10-06 10:35:10 +02:00
compat_wrapper.S [S390] compat: fix truncate system call wrapper 2009-10-06 10:35:08 +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 sysctl: remove "struct file *" argument of ->proc_handler 2009-09-24 07:21:04 -07: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] reset cputime accounting after IPL from NSS 2009-11-13 15:45:03 +01:00
ebcdic.c [S390] Get rid of a lot of sparse warnings. 2007-02-05 21:16:47 +01:00
entry.h [S390] Convert sys_execve to function with parameters. 2009-09-22 22:58:43 +02:00
entry.S S390: fix single stepped svcs with TRACE_IRQFLAGS=y 2010-02-09 04:50:43 -08:00
entry64.S S390: fix single stepped svcs with TRACE_IRQFLAGS=y 2010-02-09 04:50:43 -08:00
ftrace.c [S390] ftrace: drop nmi protection 2009-10-06 10:35:08 +02:00
head.S [S390] Limit cpu detection to 256 physical cpus. 2009-09-11 10:29:55 +02:00
head31.S [S390] Initialize __LC_THREAD_INFO early. 2009-09-11 10:29:53 +02:00
head64.S s390: clear high-order bits of registers after sam64 2009-12-18 14:03:51 -08:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
ipl.c [S390] smp: fix sigp stop handling 2009-10-29 15:05:13 +01: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] hibernation: merge files and move to kernel/ 2009-09-11 10:29:45 +02:00
mcount.S [S390] improve mcount code 2009-09-11 10:29:43 +02:00
mcount64.S [S390] improve mcount code 2009-09-11 10:29:43 +02:00
mem_detect.c [S390] s390: hibernation support for s390 2009-06-16 10:31:22 +02:00
module.c [S390] module: fix memory leak in s390 module loader 2009-10-06 10:35:06 +02:00
nmi.c [S390] merge cpu.h into cputime.h 2009-06-12 10:27:29 +02:00
process.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
processor.c [S390] Add highgprs facility to /proc/cpuinfo 2009-10-14 12:43:53 +02:00
ptrace.c ptrace: fix return value of do_syscall_trace_enter() 2010-05-26 14:29:16 -07:00
reipl.S [S390] reipl: move dump_prefix_page out of text section. 2007-03-05 23:35:43 +01:00
reipl64.S [S390] fix clock comparator save area usage 2009-03-26 15:24:32 +01:00
relocate_kernel.S [S390] Reset infrastructure for re-IPL. 2006-12-04 15:40:26 +01:00
relocate_kernel64.S [S390] Reset infrastructure for re-IPL. 2006-12-04 15:40:26 +01:00
s390_ext.c nohz: Introduce arch_needs_cpu 2010-08-13 13:20:13 -07:00
s390_ksyms.c [S390] move EXPORT_SYMBOLs to definitions 2009-03-26 15:24:11 +01:00
sclp.S [S390] hibernate: Do real CPU swap at resume time 2009-09-22 22:58:46 +02:00
setup.c [S390] 64-bit register support for 31-bit processes 2009-10-06 10:35:10 +02:00
signal.c KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] 2009-09-02 21:29:22 +10:00
smp.c [S390] smp: fix sigp sense handling 2009-10-29 15:05:13 +01:00
stacktrace.c [S390] Fix stacktrace compile bug. 2008-07-17 17:22:09 +02:00
suspend.c [S390] hibernate: make sure pfn_is_nosave handles lowcore pages 2009-09-22 22:58:45 +02:00
swsusp_asm64.S [S390] smp: fix sigp sense handling 2009-10-29 15:05:13 +01:00
sys_s390.c untangle the do_mremap() mess 2010-01-18 10:19:11 -08:00
syscalls.S [S390] Get rid of init_module/delete_module compat functions. 2009-09-22 22:58:43 +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 timekeeping: Fix clock_gettime vsyscall time warp 2010-08-13 13:20:13 -07: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] perf_counter: fix vdso detection 2009-10-06 10:35:09 +02:00
vmlinux.lds.S [S390] Enable kmemleak on s390. 2009-10-06 10:35:06 +02:00
vtime.c nohz: Introduce arch_needs_cpu 2010-08-13 13:20:13 -07:00