From 9fa13e01c6e2bf5655bcf9d148e1f75bfc988811 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 16 Sep 2021 11:16:25 +0200 Subject: [PATCH] 5.10-stable patches added patches: revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch --- ...econds-correctly-in-timespec64_to_ns.patch | 50 +++++++++++++++++++ queue-5.10/series | 1 + 2 files changed, 51 insertions(+) create mode 100644 queue-5.10/revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch diff --git a/queue-5.10/revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch b/queue-5.10/revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch new file mode 100644 index 00000000000..e2accdf1149 --- /dev/null +++ b/queue-5.10/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 656f343d724b45295f73000eb6e7bd3d212af116 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 +@@ -25,9 +25,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(): +@@ -126,13 +124,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.10/series b/queue-5.10/series index a7d540ad4a9..99f692ee916 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -282,3 +282,4 @@ fs-io_uring-don-t-use-the-return-value-from-import_i.patch io_uring-remove-duplicated-io_size-from-rw.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 -- 2.47.2