linux/arch/powerpc/kernel
Lin Ming 0696b711e4 timekeeping: Fix clock_gettime vsyscall time warp
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>
2009-11-17 11:52:34 +01:00
..
vdso32 powerpc: Fix segment mapping in vdso32 2009-10-27 16:42:40 +11:00
vdso64 Use macros for .data.page_aligned section. 2009-09-21 06:27:08 +02:00
.gitignore powerpc: Ignore generated vmlinux.lds in git 2008-10-07 14:26:18 +11:00
align.c powerpc: Keep track of emulated instructions 2009-05-21 15:44:26 +10:00
asm-offsets.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
audit.c
btext.c powerpc: Use the common ascii hex helpers 2008-08-20 16:34:57 +10:00
cacheinfo.c powerpc/cacheinfo: Rename cache_dir per-cpu variable 2009-01-13 14:48:02 +11:00
cacheinfo.h powerpc: Rewrite sysfs processor cache info code 2009-01-08 16:25:10 +11:00
clock.c
compat_audit.c
cpu_setup_6xx.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
cpu_setup_44x.S AMCC PPC 460SX redwood SoC platform initial framework 2009-02-14 14:41:29 -05:00
cpu_setup_fsl_booke.S powerpc/fsl-booke: Enable L1 cache on e500v1/e500v2/e500mc CPUs 2009-06-15 21:45:30 -05:00
cpu_setup_pa6t.S
cpu_setup_ppc970.S powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit 2008-09-15 11:08:35 -07:00
cputable.c powerpc/oprofile: Add ppc750 CL as supported by oprofile 2009-10-14 16:58:39 +11:00
crash_dump.c powerpc: Unify opcode definitions and support 2009-02-23 10:48:56 +11:00
crash.c powerpc: Increase CRASH_HANDLER_MAX 2008-06-30 22:31:00 +10:00
dbell.c powerpc: Add support for using doorbells for SMP IPI 2009-02-23 15:53:03 +11:00
dma-iommu.c powerpc: Change archdata dma_data to a union 2009-09-24 15:31:43 +10:00
dma-swiotlb.c powerpc: Handle SWIOTLB mapping error properly 2009-08-28 14:24:11 +10:00
dma.c powerpc: Rename get_dma_direct_offset get_dma_offset 2009-09-24 15:31:43 +10:00
entry_32.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
entry_64.S powerpc/ppc64: Use preempt_schedule_irq instead of preempt_schedule 2009-10-27 16:42:43 +11:00
exceptions-64e.S powerpc/book3e-64: Remove duplicated #include 2009-09-24 15:31:41 +10:00
exceptions-64s.S Merge commit 'paulus-perf/master' into next 2009-08-20 11:07:56 +10:00
firmware.c
fpu.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
ftrace.c Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-06-20 10:56:46 -07:00
head_8xx.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
head_32.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
head_40x.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
head_44x.S powerpc/mm: Cleanup handling of execute permission 2009-08-27 13:12:51 +10:00
head_64.S powerpc: Remaining 64-bit Book3E support 2009-08-20 10:25:11 +10:00
head_booke.h powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
head_fsl_booke.S powerpc/fsl-booke: Use HW PTE format if CONFIG_PTE_64BIT 2009-09-02 16:20:41 +10:00
ibmebus.c powerpc: use dma_map_ops struct 2009-08-28 14:24:10 +10:00
idle_6xx.S powerpc: Fix for getting CPU number in power_save_ppc32_restore() 2008-09-03 20:53:47 +10:00
idle_e500.S powerpc: Fix for getting CPU number in power_save_ppc32_restore() 2008-09-03 20:53:47 +10:00
idle_power4.S
idle.c powerpc: ftrace, do not latency trace idle 2008-11-20 10:51:15 -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
io.c ftrace: support for PowerPC 2008-05-23 22:43:11 +02:00
iomap.c
iommu.c powerpc: Change u64/s64 to a long long integer type 2009-01-13 14:47:59 +11:00
irq.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
isa-bridge.c [POWERPC] Remove leftover printk in isa-bridge.c 2008-05-09 20:22:59 +10:00
kgdb.c powerpc/kgdb: Fix build failure caused by "kgdb.c: unused variable 'acc'" 2009-10-14 16:58:38 +11:00
kprobes.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-01-07 11:31:52 -08:00
l2cr_6xx.S
legacy_serial.c powerpc/powermac: Fixup default serial port device for pmac_zilog 2008-07-28 16:30:53 +10:00
lparcfg.c powerpc/pseries: Fix to handle slb resize across migration 2009-09-02 16:19:01 +10:00
machine_kexec_32.c kexec jump: rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE 2008-08-15 08:35:42 -07:00
machine_kexec_64.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
machine_kexec.c powerpc: Allow mem=x cmdline to work with 4G+ 2009-05-15 16:43:41 +10:00
Makefile perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
misc_32.S powerpc: Fix __flush_icache_range on 44x 2009-08-27 13:12:52 +10:00
misc_64.S powerpc: Move VMX and VSX asm code to vector.S 2009-06-09 16:46:25 +10:00
misc.S powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit 2008-09-15 11:08:35 -07:00
module_32.c powerpc/ppc32: ftrace, dynamic ftrace to handle modules 2008-11-20 10:52:53 -08:00
module_64.c powerpc: Unify opcode definitions and support 2009-02-23 10:48:56 +11:00
module.c module: cleanup FIXME comments about trimming exception table entries. 2009-06-12 21:47:05 +09:30
mpc7450-pmu.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
msi.c powerpc/PCI: include pci.h in powerpc MSI implementation 2009-03-25 08:54:29 -07:00
nvram_64.c
of_device.c powerpc/of: Fix usage of dev_set_name() in of_device_alloc() 2009-06-26 16:55:35 +10:00
of_platform.c powerpc/pci: Merge ppc32 and ppc64 versions of phb_scan() 2009-09-02 15:45:53 +10:00
paca.c powerpc: Add PACA fields specific to 64-bit Book3E processors 2009-08-20 10:25:08 +10:00
pci_32.c powerpc/pci: Merge ppc32 and ppc64 versions of phb_scan() 2009-09-02 15:45:53 +10:00
pci_64.c powerpc: Fix compile errors found by new ppc64e_defconfig 2009-10-27 16:42:41 +11:00
pci_dn.c powerpc/pci: Move pseries code into pseries platform specific area 2009-05-21 15:44:24 +10:00
pci_of_scan.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-09-16 07:49:54 -07:00
pci-common.c powerpc/pci: Fix MODPOST warning 2009-10-14 16:58:40 +11:00
perf_callchain.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
perf_event.c powerpc/perf_events: Fix priority of MSR HV vs PR bits 2009-10-27 16:42:38 +11:00
pmc.c [POWERPC] Made FSL Book-E PMC support more generic 2008-02-05 23:34:14 -06:00
power4-pmu.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
power5-pmu.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
power5+-pmu.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
power6-pmu.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
power7-pmu.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
ppc32.h powerpc: Add VSX context save/restore, ptrace and signal support 2008-07-01 11:28:50 +10:00
ppc970-pmu.c perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
ppc_ksyms.c powerpc: Export cacheable_memzero as its now used in a driver 2009-01-08 16:25:17 +11:00
ppc_save_regs.S powerpc: Prepare xmon_save_regs for use with kdump 2008-12-23 15:13:28 +11:00
proc_ppc64.c powerpc: use non-racy method for proc entries creation 2008-04-29 08:06:22 -07:00
process.c powerpc: Fix compile errors found by new ppc64e_defconfig 2009-10-27 16:42:41 +11:00
prom_init_check.sh powerpc: Print linux_banner in prom_init 2009-03-11 17:11:33 +11:00
prom_init.c powerpc: Fix ibm,client-architecture-support printout 2009-09-24 15:31:47 +10:00
prom_parse.c powerpc: Fix of_node_put() exit path in of_irq_map_one() 2009-04-20 12:18:43 -06:00
prom.c powerpc: Shield code specific to 64-bit server processors 2009-06-09 16:47:38 +10:00
ptrace32.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
ptrace.c powerpc: Fix booke user_disable_single_step() 2009-07-15 17:41:45 +10:00
reloc_64.S powerpc: Make the 64-bit kernel as a position-independent executable 2008-09-15 11:08:38 -07:00
rtas_flash.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
rtas_pci.c powerpc/pci: Clean up direct access to sysdata by RTAS 2009-05-21 15:44:23 +10:00
rtas-proc.c [POWERPC] Fix sparse warnings in arch/powerpc/kernel 2008-05-14 22:31:59 +10:00
rtas-rtc.c
rtas.c powerpc/pseries: Fix to handle slb resize across migration 2009-09-02 16:19:01 +10:00
setup_32.c powerpc/nvram: Enable use Generic NVRAM driver for different size chips 2009-09-11 16:02:11 +10:00
setup_64.c powerpc: Fix compile errors found by new ppc64e_defconfig 2009-10-27 16:42:41 +11:00
setup-common.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2009-09-23 18:14:11 -07:00
setup.h
signal_32.c powerpc: Sanitize stack pointer in signal handling code 2009-03-27 16:58:24 +11:00
signal_64.c powerpc: Sanitize stack pointer in signal handling code 2009-03-27 16:58:24 +11:00
signal.c powerpc: Sanitize stack pointer in signal handling code 2009-03-27 16:58:24 +11:00
signal.h powerpc: Sanitize stack pointer in signal handling code 2009-03-27 16:58:24 +11:00
smp-tbsync.c powerpc: Silence software timebase sync 2008-11-05 22:08:28 +11:00
smp.c cpumask: Use accessors for cpu_*_mask: powerpc 2009-09-24 09:34:48 +09:30
softemu8xx.c Remove asm/a.out.h files for all architectures without a.out support. 2008-09-06 19:30:24 +01:00
stacktrace.c powerpc: Removed duplicated include in stacktrace.c 2008-07-28 16:30:47 +10:00
suspend.c PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
swsusp_32.S powerpc/mm: Introduce MMU features 2008-12-21 14:21:16 +11:00
swsusp_64.c
swsusp_asm64.S powerpc: Fix 64-bit hibernation with 64k pages 2008-10-07 14:26:20 +11:00
swsusp.c powerpc/mm: Split mmu_context handling 2008-12-21 14:21:15 +11:00
sys_ppc32.c headers: utsname.h redux 2009-09-23 18:13:10 -07:00
syscalls.c powerpc/mm: Add Strong Access Ordering support 2008-07-09 16:30:45 +10:00
sysfs.c powerpc: Fix bug where perf_counters breaks oprofile 2009-09-11 11:27:58 +10:00
systbl_chk.c [POWERPC] Fix a couple of copyright symbols 2008-01-25 22:52:50 +11:00
systbl_chk.sh [POWERPC] Fix a couple of copyright symbols 2008-01-25 22:52:50 +11:00
systbl.S
tau_6xx.c on_each_cpu(): kill unused 'retry' parameter 2008-06-26 11:24:38 +02:00
time.c timekeeping: Fix clock_gettime vsyscall time warp 2009-11-17 11:52:34 +01:00
traps.c powerpc: Add PTRACE_SINGLEBLOCK support 2009-06-09 13:29:25 +10:00
udbg_16550.c trivial: fix typo "for for" in multiple files 2009-09-21 15:14:54 +02:00
udbg.c powerpc/udbg: Fix lost byte during console handover; change LFCR to CRLF 2009-03-11 17:11:34 +11:00
vdso.c powerpc: Align vDSO base address 2009-10-27 16:42:40 +11:00
vecemu.c
vector.S powerpc: Use names rather than numbers for SPRGs (v2) 2009-08-20 10:12:27 +10:00
vio.c powerpc: Change archdata dma_data to a union 2009-09-24 15:31:43 +10:00
vmlinux.lds.S powerpc: warning: allocated section `.data_nosave' not in segment 2009-10-14 16:58:39 +11:00