Linux kernel source tree
Go to file
Huacai Chen d39c24f5c2 UPSTREAM: timekeeping/vsyscall: Update VDSO data unconditionally
The update of the VDSO data is depending on __arch_use_vsyscall() returning
True. This is a leftover from the attempt to map the features of various
architectures 1:1 into generic code.

The usage of __arch_use_vsyscall() in the actual vsyscall implementations
got dropped and replaced by the requirement for the architecture code to
return U64_MAX if the global clocksource is not usable in the VDSO.

But the __arch_use_vsyscall() check in the update code stayed which causes
the VDSO data to be stale or invalid when an architecture actually
implements that function and returns False when the current clocksource is
not usable in the VDSO.

As a consequence the VDSO implementations of clock_getres(), time(),
clock_gettime(CLOCK_.*_COARSE) operate on invalid data and return bogus
information.

Remove the __arch_use_vsyscall() check from the VDSO update function and
update the VDSO data unconditionally.

[ tglx: Massaged changelog and removed the now useless implementations in
  	asm-generic/ARM64/MIPS ]

Fixes: 44f57d788e ("timekeeping: Provide a generic update_vsyscall() implementation")
Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Paul Burton <paul.burton@mips.com>
Cc: linux-mips@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/1571887709-11447-1-git-send-email-chenhc@lemote.com
(cherry picked from commit 52338415cf)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 158635600
Bug: 154668398
Bug: 157925983
Change-Id: I71691d3011a96256d1ce01718d3f0fdc0778920e
2020-06-15 15:23:37 +00:00
arch UPSTREAM: timekeeping/vsyscall: Update VDSO data unconditionally 2020-06-15 15:23:37 +00:00
block ANDROID: block: backport the ability to specify max_dun_bytes 2020-05-14 15:44:27 -07:00
certs
crypto This is the 4.19.124 stable release 2020-05-20 11:37:46 +02:00
Documentation UPSTREAM: dt-bindings: usb: musb: Add support for MediaTek musb controller 2020-06-11 19:06:42 +08:00
drivers BACKPORT: usb: musb: Add support for MediaTek musb controller 2020-06-11 19:07:47 +08:00
firmware
fs ANDROID: Incremental fs: Remove dependency on PKCS7_MESSAGE_PARSER 2020-06-09 15:27:23 +00:00
include UPSTREAM: timekeeping/vsyscall: Update VDSO data unconditionally 2020-06-15 15:23:37 +00:00
init This is the 4.19.124 stable release 2020-05-20 11:37:46 +02:00
ipc This is the 4.19.124 stable release 2020-05-20 11:37:46 +02:00
kernel UPSTREAM: timekeeping/vsyscall: Update VDSO data unconditionally 2020-06-15 15:23:37 +00:00
lib This is the 4.19.125 stable release 2020-05-28 12:20:07 +02:00
LICENSES
mm This is the 4.19.127 stable release 2020-06-07 14:25:43 +02:00
net ANDROID: GKI: Revert "genetlink: disallow subscribing to unknown mcast groups" 2020-06-12 08:21:17 +00:00
samples This is the 4.19.126 stable release 2020-06-03 09:23:15 +02:00
scripts This is the 4.19.125 stable release 2020-05-28 12:20:07 +02:00
security This is the 4.19.127 stable release 2020-06-07 14:25:43 +02:00
sound This is the 4.19.126 stable release 2020-06-03 09:23:15 +02:00
tools This is the 4.19.123 stable release 2020-05-14 08:54:02 +02:00
usr initramfs: restore default compression behavior 2020-04-13 10:44:59 +02:00
virt KVM: arm64: Fix 32bit PC wrap-around 2020-05-14 07:57:20 +02:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
abi_gki_aarch64_cuttlefish_whitelist ANDROID: abi_gki_aarch64_cuttlefish_whitelist: remove stale symbols 2020-04-29 10:52:02 +00:00
abi_gki_aarch64_qcom_whitelist ANDROID: GKI: update whitelist 2020-06-10 10:48:36 +08:00
abi_gki_aarch64_whitelist ANDROID: GKI: Update the ABI xml and whitelist 2020-05-14 15:58:13 -07:00
abi_gki_aarch64.xml ANDROID: Update the ABI xml and whitelist 2020-06-10 11:04:27 +08:00
build.config.aarch64 ANDROID: add compat cross compiler 2020-04-27 22:52:19 -07:00
build.config.allmodconfig ANDROID: build.config.allmodconfig: Re-enable XFS_FS 2020-04-17 08:41:31 +00:00
build.config.allmodconfig.aarch64
build.config.allmodconfig.arm ANDROID: Add build.config files for ARM 32-bit 2020-03-16 17:43:55 +00:00
build.config.allmodconfig.x86_64
build.config.arm ANDROID: Add build.config files for ARM 32-bit 2020-03-16 17:43:55 +00:00
build.config.common ANDROID: clang: update to 11.0.1 2020-05-18 19:33:08 +00:00
build.config.gki
build.config.gki_kasan ANDROID: Rename build.config.gki.arch_kasan 2020-05-13 15:10:51 +00:00
build.config.gki_kasan.aarch64 ANDROID: Drop ABI monitoring from KASAN build config 2020-05-13 15:11:47 +00:00
build.config.gki_kasan.x86_64 ANDROID: Rename build.config.gki.arch_kasan 2020-05-13 15:10:51 +00:00
build.config.gki-debug.aarch64 ANDROID: Fix build.config.gki-debug 2020-05-20 11:50:18 +00:00
build.config.gki-debug.x86_64 ANDROID: Fix build.config.gki-debug 2020-05-20 11:50:18 +00:00
build.config.gki.aarch64 ANDROID: build.config.gki.aarch64: Enable WHITELIST_STRICT_MODE 2020-05-07 08:12:23 +00:00
build.config.gki.x86_64
build.config.x86_64
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS This is the 4.19.107 stable release 2020-03-03 07:33:01 +01:00
Makefile This is the 4.19.128 stable release 2020-06-11 09:16:29 +02:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.