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

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

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 (file)
index 0000000..e2accdf
--- /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 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 <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 a7d540ad4a9f9c4a6b74b85f932734e407ba8058..99f692ee916b13c516dc938f42249a43de763a2c 100644 (file)
@@ -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