• Vincenzo Frascino's avatar
    arm64: compat: Fix __arch_get_hw_counter() implementation · 6241c4dc
    Vincenzo Frascino authored
    Provide the following fixes for the __arch_get_hw_counter()
    implementation on arm64:
    - Fallback on syscall when an unstable counter is detected.
    - Introduce isb()s before and after the counter read to avoid
    speculation of the counter value and of the seq lock
    respectively.
    The second isb() is a temporary solution that will be revisited
    in 5.3-rc1.
    
    These fixes restore the semantics that __arch_counter_get_cntvct()
    had on arm64.
    Signed-off-by: default avatarVincenzo Frascino <vincenzo.frascino@arm.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: linux-arch@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-mips@vger.kernel.org
    Cc: linux-kselftest@vger.kernel.org
    Cc: catalin.marinas@arm.com
    Cc: will.deacon@arm.com
    Cc: arnd@arndb.de
    Cc: linux@armlinux.org.uk
    Cc: ralf@linux-mips.org
    Cc: paul.burton@mips.com
    Cc: daniel.lezcano@linaro.org
    Cc: salyzyn@android.com
    Cc: pcc@google.com
    Cc: shuah@kernel.org
    Cc: 0x7f454c46@gmail.com
    Cc: linux@rasmusvillemoes.dk
    Cc: huw@codeweavers.com
    Cc: sthotton@marvell.com
    Cc: andre.przywara@arm.com
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Link: https://lkml.kernel.org/r/20190625161804.38713-3-vincenzo.frascino@arm.com
    6241c4dc
compat_gettimeofday.h 3.05 KB