[PATCH 4/6] crypto: cavium - Prevent division by zero
Manoj Iyer
manoj.iyer at canonical.com
Fri Aug 17 14:42:04 UTC 2018
From: Jan Glauber <jglauber at cavium.com>
Avoid two potential divisions by zero when calculating average
values for the zip statistics.
BugLink: https://launchpad.net/bugs/1787469
Signed-off-by: Jan Glauber <jglauber at cavium.com>
Reviewed-by: Robert Richter <rrichter at cavium.com>
Signed-off-by: Herbert Xu <herbert at gondor.apana.org.au>
(cherry picked from commit a40c88045506ecba8e3ae75da19e8a2c53e23a41)
Signed-off-by: Manoj Iyer <manoj.iyer at canonical.com>
---
drivers/crypto/cavium/zip/zip_main.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/crypto/cavium/zip/zip_main.c b/drivers/crypto/cavium/zip/zip_main.c
index 1cd8aa488185..79b449e0f955 100644
--- a/drivers/crypto/cavium/zip/zip_main.c
+++ b/drivers/crypto/cavium/zip/zip_main.c
@@ -482,10 +482,11 @@ static int zip_show_stats(struct seq_file *s, void *unused)
atomic64_add(val, &st->pending_req);
}
- avg_chunk = (atomic64_read(&st->comp_in_bytes) /
- atomic64_read(&st->comp_req_complete));
- avg_cr = (atomic64_read(&st->comp_in_bytes) /
- atomic64_read(&st->comp_out_bytes));
+ val = atomic64_read(&st->comp_req_complete);
+ avg_chunk = (val) ? atomic64_read(&st->comp_in_bytes) / val : 0;
+
+ val = atomic64_read(&st->comp_out_bytes);
+ avg_cr = (val) ? atomic64_read(&st->comp_in_bytes) / val : 0;
seq_printf(s, " ZIP Device %d Stats\n"
"-----------------------------------\n"
"Comp Req Submitted : \t%lld\n"
--
2.17.1
More information about the kernel-team
mailing list