lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1452879670-16133-1-git-send-email-marc.zyngier@arm.com>
Date:	Fri, 15 Jan 2016 17:41:07 +0000
From:	Marc Zyngier <marc.zyngier@....com>
To:	Thomas Gleixner <tglx@...utronix.de>
Cc:	<linux-kernel@...r.kernel.org>, Tomasz Nowicki <tn@...ihalf.com>,
	Christoffer Dall <christoffer.dall@...aro.org>
Subject: [PATCH 0/3] Enabling htimer support for CLOCK_MONOTONIC_RAW

In some (admitedly rare) cases, a kernel subsystem wants to obtain a
timer that is not affected by NTP whatsoever. An example of this is
the KVM/ARM timer, which uses a hrtimer to back a vcpu timer when the
vcpu is not running. If we let this backup timer being corrected by
NTP, the guest ends up being woken up at the wrong time, and confusion
follows.

This series adds a new hrtimer base (HRTIMER_BASE_MONOTONIC_RAW),
which gets used when CLOCK_MONOTONIC_RAW is passed to hrtimer_init,
making its behaviour very similar to that of the posix timers.

It also adds a new check for illegal values passed to hrtimer_init (it
seems way too easy to confuse the hrtimer code by giving it a posix
timer clockid). The last patch simply switches the KVM/ARM timer to
CLOCK_MONOTONIC_RAW.

Please note that I only have a limited understanding of how the
hrtimer subsystem actually works, so I'd appreciate any comment on how
this could otherwise be done.

It has been (very lightly) tested on arm64.

Marc Zyngier (3):
  hrtimer: Add support for CLOCK_MONOTONIC_RAW
  hrtimer: Catch illegal clockids
  KVM: arm/arm64: timer: Switch to CLOCK_MONOTONIC_RAW

 include/linux/hrtimer.h   |  1 +
 kernel/time/hrtimer.c     | 18 ++++++++++++++++--
 virt/kvm/arm/arch_timer.c |  4 ++--
 3 files changed, 19 insertions(+), 4 deletions(-)

-- 
2.1.4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ