No description
Find a file
Thomas Gleixner 1881e0a3fe timekeeping/vsyscall: Prevent math overflow in BOOTTIME update
The VDSO update for CLOCK_BOOTTIME has a overflow issue as it shifts the
nanoseconds based boot time offset left by the clocksource shift. That
overflows once the boot time offset becomes large enough. As a consequence
CLOCK_BOOTTIME in the VDSO becomes a random number causing applications to
misbehave.

Fix it by storing a timespec64 representation of the offset when boot time
is adjusted and add that to the MONOTONIC base time value in the vdso data
page. Using the timespec64 representation avoids a 64bit division in the
update code.

Change-Id: I4bee5af4e14ed1bf6c9623f5cb70f1542d7cc700
Fixes: 44f57d788e7d ("timekeeping: Provide a generic update_vsyscall() implementation")
Reported-by: Chris Clayton <chris2553@googlemail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Chris Clayton <chris2553@googlemail.com>
Tested-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Link: https://lkml.kernel.org/r/alpine.DEB.2.21.1908221257580.1983@nanos.tec.linutronix.de
Git-commit: b99328a60a482108f5195b4d611f90992ca016ba
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
2020-11-02 09:42:42 -08:00
android ANDROID: ABI: refresh with latest libabigail 94f5d4ae 2020-09-14 11:45:05 +01:00
arch defconfig: Enable CONFIG_LEGACY_ENERGY_MODEL_DT for sdm660 2020-10-27 09:58:06 -07:00
block Merge android-4.19-stable.146 (443485d) into msm-4.19 2020-10-16 11:06:31 +05:30
certs Merge remote-tracking branch 'origin/tmp-441e17f' into msm-kona 2018-09-05 14:58:16 -07:00
crypto Merge android-4.19-stable.136 (204dd19) into msm-4.19 2020-10-14 20:04:29 +05:30
Documentation Merge android-4.19-stable.146 (443485d) into msm-4.19 2020-10-16 11:06:31 +05:30
drivers Merge "i3c: i3c-master-qcom-geni: Log error if DMA mode fails" 2020-11-01 23:30:12 -08:00
firmware Fix built-in early-load Intel microcode alignment 2020-01-23 08:21:29 +01:00
fs fscrypt: Handle support for v1 encryption policy 2020-10-30 11:01:16 +05:30
include timekeeping/vsyscall: Prevent math overflow in BOOTTIME update 2020-11-02 09:42:42 -08:00
init Merge "sched/tune: Fix improper accounting of tasks" 2020-10-19 15:55:56 -07:00
ipc Restore sdcardfs feature 2020-08-21 15:15:18 +05:30
kernel timekeeping/vsyscall: Prevent math overflow in BOOTTIME update 2020-11-02 09:42:42 -08:00
lib Merge android-4.19-stable.146 (443485d) into msm-4.19 2020-10-16 11:06:31 +05:30
LICENSES LICENSES: Add ISC license text 2019-01-10 17:22:01 +02:00
mm Merge android-4.19-stable.146 (443485d) into msm-4.19 2020-10-16 11:06:31 +05:30
net Merge "net: support __alloc_skb to always use GFP_DMA" 2020-10-23 18:48:18 -07:00
samples This is the 4.19.126 stable release 2020-06-03 09:23:15 +02:00
scripts Merge android-4.19-stable.146 (443485d) into msm-4.19 2020-10-16 11:06:31 +05:30
security Merge android-4.19-stable.146 (443485d) into msm-4.19 2020-10-16 11:06:31 +05:30
sound Merge android-4.19-stable.146 (443485d) into msm-4.19 2020-10-16 11:06:31 +05:30
techpack Revert "techpack: replace type with xtype while searching for sub-dirs" 2019-11-19 07:06:17 -08:00
tools Merge android-4.19-stable.125 (a483478) into msm-4.19 2020-09-20 23:45:10 +05:30
usr initramfs: restore default compression behavior 2020-04-13 10:44:59 +02:00
virt Merge android-4.19-stable.146 (443485d) into msm-4.19 2020-10-16 11:06:31 +05:30
.clang-format clang-format: Set IndentWrappedFunctionNames false 2018-08-01 18:38:51 +02:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore .gitignore: Add techpack directory to gitignore 2019-05-06 09:34:35 -07:00
.mailmap libnvdimm-for-4.19_misc 2018-08-25 18:13:10 -07:00
Android.bp Example kernel headers header_lib package 2020-01-18 11:53:58 -08:00
AndroidKernel.mk AndroidKernel: add TARGET_PREBUILT_INT_KERNEL_IMAGE 2019-08-02 20:31:09 +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 ANDROID: Add allmodconfig build.configs for x86_64 and aarch64 2019-11-12 20:55:23 +00:00
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 ANDROID: Add allmodconfig build.configs for x86_64 and aarch64 2019-11-12 20:55:23 +00:00
build.config.arm ANDROID: Add build.config files for ARM 32-bit 2020-03-16 17:43:55 +00:00
build.config.common ANDROID: update the kernel release format for GKI 2020-07-27 22:22:43 +00:00
build.config.gki ANDROID: gki: Removed cf modules from gki_defconfig 2020-01-31 16:23:38 -08:00
build.config.gki-debug.aarch64 ANDROID: build: update ABI definitions 2020-07-28 17:39:44 +00:00
build.config.gki-debug.x86_64 ANDROID: build: update ABI definitions 2020-07-28 17:39:44 +00:00
build.config.gki.aarch64 ANDROID: Enforce KMI stability 2020-08-06 17:11:23 +00:00
build.config.gki.x86_64 ANDROID: refactor build.config files to remove duplication 2019-10-22 18:27:12 -07:00
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.goldfish.arm ANDROID: build.config: enforce trace_printk check 2018-08-28 17:10:42 +05:30
build.config.goldfish.arm64 ANDROID: build.config: enforce trace_printk check 2018-08-28 17:10:42 +05:30
build.config.goldfish.mips ANDROID: build.config: enforce trace_printk check 2018-08-28 17:10:42 +05:30
build.config.goldfish.mips64 ANDROID: build.config: enforce trace_printk check 2018-08-28 17:10:42 +05:30
build.config.goldfish.x86 ANDROID: build.config: enforce trace_printk check 2018-08-28 17:10:42 +05:30
build.config.goldfish.x86_64 ANDROID: build.config: enforce trace_printk check 2018-08-28 17:10:42 +05:30
build.config.x86_64 ANDROID: refactor build.config files to remove duplication 2019-10-22 18:27:12 -07:00
COPYING COPYING: use the new text with points to the license files 2018-03-23 12:41:45 -06:00
CREDITS 9p: remove Ron Minnich from MAINTAINERS 2018-08-17 16:20:26 -07:00
gen_headers_arm.bp input: misc: hbtp_input: snapshot of driver from msm-4.9 2020-08-04 19:37:49 +05:30
gen_headers_arm64.bp input: misc: hbtp_input: snapshot of driver from msm-4.9 2020-08-04 19:37:49 +05:30
Kbuild Kbuild updates for v4.15 2017-11-17 17:45:29 -08:00
Kconfig kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt 2018-08-02 08:06:55 +09:00
kernel_headers.py Revert "kernel_headers: Disable headers matching" 2020-05-01 13:22:22 -07:00
MAINTAINERS Merge android-4.19.110 (1984fff) into msm-4.19 2020-05-23 05:08:22 -07:00
Makefile Merge android-4.19-stable.146 (443485d) into msm-4.19 2020-10-16 11:06:31 +05:30
README Docs: Added a pointer to the formatted docs to README 2018-03-21 09:02:53 -06:00
verity_dev_keys.x509 x86_64_cuttlefish_defconfig: enable verity cert 2018-08-28 17:15:17 +05:30

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.