From: Greg Kroah-Hartman Date: Thu, 16 Sep 2021 09:16:07 +0000 (+0200) Subject: 5.4-stable patches X-Git-Tag: v5.14.5~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=685422a9e0f5b7677cc67e231957d2fbd7ce725d;p=thirdparty%2Fkernel%2Fstable-queue.git 5.4-stable patches added patches: revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch --- diff --git a/queue-5.4/revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch b/queue-5.4/revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch new file mode 100644 index 00000000000..2f9a265e3eb --- /dev/null +++ b/queue-5.4/revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch @@ -0,0 +1,50 @@ +From 4e0a1b5e98529a8dad30d7c5d9229eef54fd50a1 Mon Sep 17 00:00:00 2001 +From: Greg Kroah-Hartman +Date: Thu, 16 Sep 2021 11:12:30 +0200 +Subject: Revert "time: Handle negative seconds correctly in timespec64_to_ns()" + +From: Greg Kroah-Hartman + +This reverts commit 7a25a0a94c8b49759582ac6141c06af4f3e8ae8f which is +commit 39ff83f2f6cc5cc1458dfcea9697f96338210beb upstream. + +Arnd reports that this needs more review before being merged into all of +the trees. + +Link: https://lore.kernel.org/r/CAK8P3a0z5jE=Z3Ps5bFTCFT7CHZR1JQ8VhdntDJAfsUxSPCcEw@mail.gmail.com +Reported-by: Arnd Bergmann +Cc: Lukas Hannen +Cc: Thomas Gleixner +Signed-off-by: Greg Kroah-Hartman +--- + include/linux/time64.h | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +--- a/include/linux/time64.h ++++ b/include/linux/time64.h +@@ -33,9 +33,7 @@ struct itimerspec64 { + #define TIME64_MIN (-TIME64_MAX - 1) + + #define KTIME_MAX ((s64)~((u64)1 << 63)) +-#define KTIME_MIN (-KTIME_MAX - 1) + #define KTIME_SEC_MAX (KTIME_MAX / NSEC_PER_SEC) +-#define KTIME_SEC_MIN (KTIME_MIN / NSEC_PER_SEC) + + /* + * Limits for settimeofday(): +@@ -134,13 +132,10 @@ static inline bool timespec64_valid_sett + */ + static inline s64 timespec64_to_ns(const struct timespec64 *ts) + { +- /* Prevent multiplication overflow / underflow */ +- if (ts->tv_sec >= KTIME_SEC_MAX) ++ /* Prevent multiplication overflow */ ++ if ((unsigned long long)ts->tv_sec >= KTIME_SEC_MAX) + return KTIME_MAX; + +- if (ts->tv_sec <= KTIME_SEC_MIN) +- return KTIME_MIN; +- + return ((s64) ts->tv_sec * NSEC_PER_SEC) + ts->tv_nsec; + } + diff --git a/queue-5.4/series b/queue-5.4/series index b8af56814f1..7613c81df22 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -177,3 +177,4 @@ fix-array-index-out-of-bounds-in-taprio_change.patch net-w5100-check-return-value-after-calling-platform_.patch revert-block-nbd-add-sanity-check-for-first_minor.patch revert-posix-cpu-timers-force-next-expiration-recalc-after.patch +revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch