]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch from 4.14,...
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Sep 2021 09:49:52 +0000 (11:49 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Sep 2021 09:49:52 +0000 (11:49 +0200)
queue-4.14/series
queue-4.14/time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch [deleted file]
queue-4.19/series
queue-4.19/time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch [deleted file]
queue-4.4/series
queue-4.4/time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch [deleted file]
queue-4.9/series
queue-4.9/time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch [deleted file]

index c690941a93b15bff8994030ab955cde8b5656e41..0f8b61a402058d317816c2ae458a812533af7e54 100644 (file)
@@ -88,7 +88,6 @@ ipv4-make-exception-cache-less-predictible.patch
 net-sched-fix-qdisc_rate_table-refcount-leak-when-ge.patch
 net-qualcomm-fix-qca7000-checksum-handling.patch
 netns-protect-netns-id-lookups-with-rcu.patch
-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch
 tty-fix-data-race-between-tiocsti-and-flush_to_ldisc.patch
 x86-resctrl-fix-a-maybe-uninitialized-build-warning-treated-as-error.patch
 kvm-x86-update-vcpu-s-hv_clock-before-back-to-guest-when-tsc_offset-is-adjusted.patch
diff --git a/queue-4.14/time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch b/queue-4.14/time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch
deleted file mode 100644 (file)
index 92ae211..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From 39ff83f2f6cc5cc1458dfcea9697f96338210beb Mon Sep 17 00:00:00 2001
-From: Lukas Hannen <lukas.hannen@opensource.tttech-industrial.com>
-Date: Wed, 25 Aug 2021 10:12:43 +0000
-Subject: time: Handle negative seconds correctly in timespec64_to_ns()
-
-From: Lukas Hannen <lukas.hannen@opensource.tttech-industrial.com>
-
-commit 39ff83f2f6cc5cc1458dfcea9697f96338210beb upstream.
-
-timespec64_ns() prevents multiplication overflows by comparing the seconds
-value of the timespec to KTIME_SEC_MAX. If the value is greater or equal it
-returns KTIME_MAX.
-
-But that check casts the signed seconds value to unsigned which makes the
-comparision true for all negative values and therefore return wrongly
-KTIME_MAX.
-
-Negative second values are perfectly valid and required in some places,
-e.g. ptp_clock_adjtime().
-
-Remove the cast and add a check for the negative boundary which is required
-to prevent undefined behaviour due to multiplication underflow.
-
-Fixes: cb47755725da ("time: Prevent undefined behaviour in timespec64_to_ns()")'
-Signed-off-by: Lukas Hannen <lukas.hannen@opensource.tttech-industrial.com>
-Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-Cc: stable@vger.kernel.org
-Link: https://lore.kernel.org/r/AM6PR01MB541637BD6F336B8FFB72AF80EEC69@AM6PR01MB5416.eurprd01.prod.exchangelabs.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- include/linux/time64.h |    9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
---- a/include/linux/time64.h
-+++ b/include/linux/time64.h
-@@ -40,7 +40,9 @@ struct itimerspec64 {
- /* Located here for timespec[64]_valid_strict */
- #define TIME64_MAX                    ((s64)~((u64)1 << 63))
- #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)
- #if __BITS_PER_LONG == 64
-@@ -189,10 +191,13 @@ static inline bool timespec64_valid_stri
-  */
- static inline s64 timespec64_to_ns(const struct timespec64 *ts)
- {
--      /* Prevent multiplication overflow */
--      if ((unsigned long long)ts->tv_sec >= KTIME_SEC_MAX)
-+      /* Prevent multiplication overflow / underflow */
-+      if (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 7ca2186886fff066f1de9b542dbe4cbeb7a3880c..6f38f5d2299bd6c1aeb7da3c1ddc3bec2a684462 100644 (file)
@@ -107,7 +107,6 @@ fscrypt-add-fscrypt_symlink_getattr-for-computing-st_size.patch
 ext4-report-correct-st_size-for-encrypted-symlinks.patch
 f2fs-report-correct-st_size-for-encrypted-symlinks.patch
 ubifs-report-correct-st_size-for-encrypted-symlinks.patch
-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch
 tty-fix-data-race-between-tiocsti-and-flush_to_ldisc.patch
 x86-resctrl-fix-a-maybe-uninitialized-build-warning-treated-as-error.patch
 kvm-x86-update-vcpu-s-hv_clock-before-back-to-guest-when-tsc_offset-is-adjusted.patch
diff --git a/queue-4.19/time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch b/queue-4.19/time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch
deleted file mode 100644 (file)
index fe7104b..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From 39ff83f2f6cc5cc1458dfcea9697f96338210beb Mon Sep 17 00:00:00 2001
-From: Lukas Hannen <lukas.hannen@opensource.tttech-industrial.com>
-Date: Wed, 25 Aug 2021 10:12:43 +0000
-Subject: time: Handle negative seconds correctly in timespec64_to_ns()
-
-From: Lukas Hannen <lukas.hannen@opensource.tttech-industrial.com>
-
-commit 39ff83f2f6cc5cc1458dfcea9697f96338210beb upstream.
-
-timespec64_ns() prevents multiplication overflows by comparing the seconds
-value of the timespec to KTIME_SEC_MAX. If the value is greater or equal it
-returns KTIME_MAX.
-
-But that check casts the signed seconds value to unsigned which makes the
-comparision true for all negative values and therefore return wrongly
-KTIME_MAX.
-
-Negative second values are perfectly valid and required in some places,
-e.g. ptp_clock_adjtime().
-
-Remove the cast and add a check for the negative boundary which is required
-to prevent undefined behaviour due to multiplication underflow.
-
-Fixes: cb47755725da ("time: Prevent undefined behaviour in timespec64_to_ns()")'
-Signed-off-by: Lukas Hannen <lukas.hannen@opensource.tttech-industrial.com>
-Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-Cc: stable@vger.kernel.org
-Link: https://lore.kernel.org/r/AM6PR01MB541637BD6F336B8FFB72AF80EEC69@AM6PR01MB5416.eurprd01.prod.exchangelabs.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- include/linux/time64.h |    9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
---- a/include/linux/time64.h
-+++ b/include/linux/time64.h
-@@ -39,7 +39,9 @@ struct itimerspec64 {
- /* Located here for timespec[64]_valid_strict */
- #define TIME64_MAX                    ((s64)~((u64)1 << 63))
- #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():
-@@ -138,10 +140,13 @@ static inline bool timespec64_valid_sett
-  */
- static inline s64 timespec64_to_ns(const struct timespec64 *ts)
- {
--      /* Prevent multiplication overflow */
--      if ((unsigned long long)ts->tv_sec >= KTIME_SEC_MAX)
-+      /* Prevent multiplication overflow / underflow */
-+      if (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 f556db04b5403d6dba5d1a94445e3f2d5836b40a..c9ceb58ad5eabd8e6afb7a1f1845190b4db356ab 100644 (file)
@@ -65,7 +65,6 @@ usb-ehci-orion-handle-errors-of-clk_prepare_enable-i.patch
 ath6kl-wmi-fix-an-error-code-in-ath6kl_wmi_sync_poin.patch
 bcma-fix-memory-leak-for-internally-handled-cores.patch
 ipv4-make-exception-cache-less-predictible.patch
-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch
 tty-fix-data-race-between-tiocsti-and-flush_to_ldisc.patch
 kvm-x86-update-vcpu-s-hv_clock-before-back-to-guest-when-tsc_offset-is-adjusted.patch
 clk-kirkwood-fix-a-clocking-boot-regression.patch
diff --git a/queue-4.4/time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch b/queue-4.4/time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch
deleted file mode 100644 (file)
index 3d732b2..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From 39ff83f2f6cc5cc1458dfcea9697f96338210beb Mon Sep 17 00:00:00 2001
-From: Lukas Hannen <lukas.hannen@opensource.tttech-industrial.com>
-Date: Wed, 25 Aug 2021 10:12:43 +0000
-Subject: time: Handle negative seconds correctly in timespec64_to_ns()
-
-From: Lukas Hannen <lukas.hannen@opensource.tttech-industrial.com>
-
-commit 39ff83f2f6cc5cc1458dfcea9697f96338210beb upstream.
-
-timespec64_ns() prevents multiplication overflows by comparing the seconds
-value of the timespec to KTIME_SEC_MAX. If the value is greater or equal it
-returns KTIME_MAX.
-
-But that check casts the signed seconds value to unsigned which makes the
-comparision true for all negative values and therefore return wrongly
-KTIME_MAX.
-
-Negative second values are perfectly valid and required in some places,
-e.g. ptp_clock_adjtime().
-
-Remove the cast and add a check for the negative boundary which is required
-to prevent undefined behaviour due to multiplication underflow.
-
-Fixes: cb47755725da ("time: Prevent undefined behaviour in timespec64_to_ns()")'
-Signed-off-by: Lukas Hannen <lukas.hannen@opensource.tttech-industrial.com>
-Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-Cc: stable@vger.kernel.org
-Link: https://lore.kernel.org/r/AM6PR01MB541637BD6F336B8FFB72AF80EEC69@AM6PR01MB5416.eurprd01.prod.exchangelabs.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- include/linux/time64.h |    9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
---- a/include/linux/time64.h
-+++ b/include/linux/time64.h
-@@ -38,7 +38,9 @@ struct itimerspec64 {
- /* Located here for timespec[64]_valid_strict */
- #define TIME64_MAX                    ((s64)~((u64)1 << 63))
- #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)
- #if __BITS_PER_LONG == 64
-@@ -197,10 +199,13 @@ static inline bool timespec64_valid_stri
-  */
- static inline s64 timespec64_to_ns(const struct timespec64 *ts)
- {
--      /* Prevent multiplication overflow */
--      if ((unsigned long long)ts->tv_sec >= KTIME_SEC_MAX)
-+      /* Prevent multiplication overflow / underflow */
-+      if (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 738080390686ba5189216a099263a6c701666ed1..1a49b74f05e0cd4160392fcd99bd62fdd680c900 100644 (file)
@@ -80,7 +80,6 @@ usb-ehci-orion-handle-errors-of-clk_prepare_enable-i.patch
 ath6kl-wmi-fix-an-error-code-in-ath6kl_wmi_sync_poin.patch
 bcma-fix-memory-leak-for-internally-handled-cores.patch
 ipv4-make-exception-cache-less-predictible.patch
-time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch
 tty-fix-data-race-between-tiocsti-and-flush_to_ldisc.patch
 kvm-x86-update-vcpu-s-hv_clock-before-back-to-guest-when-tsc_offset-is-adjusted.patch
 ima-remove-wmissing-prototypes-warning.patch
diff --git a/queue-4.9/time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch b/queue-4.9/time-handle-negative-seconds-correctly-in-timespec64_to_ns.patch
deleted file mode 100644 (file)
index daf9351..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From 39ff83f2f6cc5cc1458dfcea9697f96338210beb Mon Sep 17 00:00:00 2001
-From: Lukas Hannen <lukas.hannen@opensource.tttech-industrial.com>
-Date: Wed, 25 Aug 2021 10:12:43 +0000
-Subject: time: Handle negative seconds correctly in timespec64_to_ns()
-
-From: Lukas Hannen <lukas.hannen@opensource.tttech-industrial.com>
-
-commit 39ff83f2f6cc5cc1458dfcea9697f96338210beb upstream.
-
-timespec64_ns() prevents multiplication overflows by comparing the seconds
-value of the timespec to KTIME_SEC_MAX. If the value is greater or equal it
-returns KTIME_MAX.
-
-But that check casts the signed seconds value to unsigned which makes the
-comparision true for all negative values and therefore return wrongly
-KTIME_MAX.
-
-Negative second values are perfectly valid and required in some places,
-e.g. ptp_clock_adjtime().
-
-Remove the cast and add a check for the negative boundary which is required
-to prevent undefined behaviour due to multiplication underflow.
-
-Fixes: cb47755725da ("time: Prevent undefined behaviour in timespec64_to_ns()")'
-Signed-off-by: Lukas Hannen <lukas.hannen@opensource.tttech-industrial.com>
-Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-Cc: stable@vger.kernel.org
-Link: https://lore.kernel.org/r/AM6PR01MB541637BD6F336B8FFB72AF80EEC69@AM6PR01MB5416.eurprd01.prod.exchangelabs.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- include/linux/time64.h |    9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
---- a/include/linux/time64.h
-+++ b/include/linux/time64.h
-@@ -39,7 +39,9 @@ struct itimerspec64 {
- /* Located here for timespec[64]_valid_strict */
- #define TIME64_MAX                    ((s64)~((u64)1 << 63))
- #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)
- #if __BITS_PER_LONG == 64
-@@ -188,10 +190,13 @@ static inline bool timespec64_valid_stri
-  */
- static inline s64 timespec64_to_ns(const struct timespec64 *ts)
- {
--      /* Prevent multiplication overflow */
--      if ((unsigned long long)ts->tv_sec >= KTIME_SEC_MAX)
-+      /* Prevent multiplication overflow / underflow */
-+      if (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;
- }