lib/vdso: Remove VDSO_HAS_32BIT_FALLBACK
authorVincenzo Frascino <vincenzo.frascino@arm.com>
Fri, 30 Aug 2019 13:58:58 +0000 (14:58 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 14 Jan 2020 11:20:44 +0000 (12:20 +0100)
VDSO_HAS_32BIT_FALLBACK was introduced to address a regression which
caused seccomp to deny access to the applications to clock_gettime64()
and clock_getres64() because they are not enabled in the existing
filters.

The purpose of VDSO_HAS_32BIT_FALLBACK was to simplify the conditional
implementation of __cvdso_clock_get*time32() variants.

Now that all the architectures that support the generic vDSO library
have been converted to support the 32 bit fallbacks the conditional
can be removed.

Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20190830135902.20861-5-vincenzo.frascino@arm.com
References: c60a32ea4f45 ("lib/vdso/32: Provide legacy syscall fallbacks")

lib/vdso/gettimeofday.c

index 8e77071..cd3aacf 100644 (file)
@@ -126,13 +126,8 @@ __cvdso_clock_gettime32(clockid_t clock, struct old_timespec32 *res)
 
        ret = __cvdso_clock_gettime_common(clock, &ts);
 
-#ifdef VDSO_HAS_32BIT_FALLBACK
        if (unlikely(ret))
                return clock_gettime32_fallback(clock, res);
-#else
-       if (unlikely(ret))
-               ret = clock_gettime_fallback(clock, &ts);
-#endif
 
        if (likely(!ret)) {
                res->tv_sec = ts.tv_sec;
@@ -242,13 +237,8 @@ __cvdso_clock_getres_time32(clockid_t clock, struct old_timespec32 *res)
 
        ret = __cvdso_clock_getres_common(clock, &ts);
 
-#ifdef VDSO_HAS_32BIT_FALLBACK
        if (unlikely(ret))
                return clock_getres32_fallback(clock, res);
-#else
-       if (unlikely(ret))
-               ret = clock_getres_fallback(clock, &ts);
-#endif
 
        if (likely(!ret && res)) {
                res->tv_sec = ts.tv_sec;