rt-tests/SOURCES/rt-tests-deadline_tests-Null-check-to-prevent-exception.patch
2021-11-19 04:25:38 +00:00

35 lines
1.3 KiB
Diff

From 6a3dd40539c1804db8b1fe1684afa5fa111636fe Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Thu, 11 Nov 2021 08:56:54 -0500
Subject: [PATCH] rt-tests: deadline_tests: Null check to prevent floating
point exception
Fix a floating point exception that can occur if sd->nr_adjust is 0
by checking it before performing a division by zero.
Signed-off-by: John Kacur <jkacur@redhat.com>
---
src/sched_deadline/deadline_test.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/sched_deadline/deadline_test.c b/src/sched_deadline/deadline_test.c
index 53abd4d2ca6b..b7e1e045b57c 100644
--- a/src/sched_deadline/deadline_test.c
+++ b/src/sched_deadline/deadline_test.c
@@ -2050,8 +2050,10 @@ int main(int argc, char **argv)
printf("missed deadlines = %d\n", sd->missed_deadlines);
printf("missed periods = %d\n", sd->missed_periods);
printf("Total adjustments = %lld us\n", sd->total_adjust);
- printf("# adjustments = %lld avg: %lld us\n",
- sd->nr_adjust, sd->total_adjust / sd->nr_adjust);
+ if (sd->nr_adjust) {
+ printf("# adjustments = %lld avg: %lld us\n",
+ sd->nr_adjust, sd->total_adjust / sd->nr_adjust);
+ }
printf("deadline : %lld us\n", sd->deadline_us);
printf("runtime : %lld us\n", sd->runtime_us);
printf("nr_periods : %lld\n", sd->nr_periods);
--
2.31.1