Commit 555c4edc authored by Adam Guerin's avatar Adam Guerin Committed by Aichun Shi
Browse files

crypto: qat - avoid division by zero

mainline inclusion
from mainline-v6.9-rc1
commit f99fb7d660f7c818105803f1f1915396a14d18ad
category: feature
bugzilla: https://gitee.com/openeuler/intel-kernel/issues/I9A5BW
CVE: N/A
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f99fb7d660f7c818105803f1f1915396a14d18ad



-------------------------------------

Check if delta_us is not zero and return -EINVAL if it is.
delta_us is unlikely to be zero as there is a sleep between the reads of
the two timestamps.

This is to fix the following warning when compiling the QAT driver
using clang scan-build:
    drivers/crypto/intel/qat/qat_common/adf_clock.c:87:9: warning: Division by zero [core.DivideZero]
       87 |         temp = DIV_ROUND_CLOSEST_ULL(temp, delta_us);
          |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Intel-SIG: commit f99fb7d660f7 crypto: qat - avoid division by zero
Backport to support QAT in-tree driver

Fixes: e2980ba5 ("crypto: qat - add measure clock frequency")
Signed-off-by: default avatarAdam Guerin <adam.guerin@intel.com>
Reviewed-by: default avatarGiovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
[ Aichun Shi: amend commit log ]
Signed-off-by: default avatarAichun Shi <aichun.shi@intel.com>
parent 92472054
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -83,6 +83,9 @@ static int measure_clock(struct adf_accel_dev *accel_dev, u32 *frequency)
	}

	delta_us = timespec_to_us(&ts3) - timespec_to_us(&ts1);
	if (!delta_us)
		return -EINVAL;

	temp = (timestamp2 - timestamp1) * ME_CLK_DIVIDER * 10;
	temp = DIV_ROUND_CLOSEST_ULL(temp, delta_us);
	/*