Переглянути джерело

[PKT_SCHED]: Fix range in psched_tod_diff() to 0..bound

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Nicolas Dichtel 20 роки тому
батько
коміт
7b3c63ac7c
1 змінених файлів з 3 додано та 2 видалено
  1. 3 2
      include/net/pkt_sched.h

+ 3 - 2
include/net/pkt_sched.h

@@ -140,7 +140,7 @@ psched_tod_diff(int delta_sec, int bound)
 	if (bound <= 1000000 || delta_sec > (0x7FFFFFFF/1000000)-1)
 		return bound;
 	delta = delta_sec * 1000000;
-	if (delta > bound)
+	if (delta > bound || delta < 0)
 		delta = bound;
 	return delta;
 }
@@ -156,7 +156,8 @@ psched_tod_diff(int delta_sec, int bound)
 		   __delta += 1000000; \
 	   case 1: \
 		   __delta += 1000000; \
-	   case 0: ; \
+	   case 0: \
+		   __delta = abs(__delta); \
 	   } \
 	   __delta; \
 })