]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Sep 2021 09:14:17 +0000 (11:14 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Sep 2021 09:14:17 +0000 (11:14 +0200)
added patches:
revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch

queue-5.14/revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch [new file with mode: 0644]
queue-5.14/series

diff --git a/queue-5.14/revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch b/queue-5.14/revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch
new file mode 100644 (file)
index 0000000..6d2c8d2
--- /dev/null
@@ -0,0 +1,50 @@
+From 4e0a1b5e98529a8dad30d7c5d9229eef54fd50a1 Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Thu, 16 Sep 2021 11:12:30 +0200
+Subject: Revert "time: Handle negative seconds correctly in timespec64_to_ns()"
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+This reverts commit 528521f72b8f615e0930ba4b07d508ec73b07837 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 <arnd@kernel.org>
+Cc: Lukas Hannen <lukas.hannen@opensource.tttech-industrial.com>
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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;
+ }
index 1502317b777a904362c8663c8a60cf22a8d5e56f..9c8d101185b110c0a8b047fb5a13755cc947d341 100644 (file)
@@ -392,3 +392,4 @@ fix-array-index-out-of-bounds-in-taprio_change.patch
 net-w5100-check-return-value-after-calling-platform_.patch
 net-hns3-clean-up-a-type-mismatch-warning.patch
 revert-posix-cpu-timers-force-next-expiration-recalc-after.patch
+revert-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch