Commit cb642950 authored by Damian Muszynski's avatar Damian Muszynski Committed by Aichun Shi
Browse files

crypto: qat - fix mutex ordering in adf_rl

mainline inclusion
from mainline-v6.8-rc1
commit 487caa8d5ef9a9a27b092c5790d529a7a0c24f8b
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=487caa8d5ef9a9a27b092c5790d529a7a0c24f8b



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

If the function validate_user_input() returns an error, the error path
attempts to unlock an unacquired mutex.
Acquire the mutex before calling validate_user_input(). This is not
strictly necessary but simplifies the code.

Intel-SIG: commit 487caa8d5ef9 crypto: qat - fix mutex ordering in adf_rl
Backport to support QAT in-tree driver

Fixes: d9fb8408376e ("crypto: qat - add rate limiting feature to qat_4xxx")
Signed-off-by: default avatarDamian Muszynski <damian.muszynski@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 5a80a7a2
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -815,13 +815,13 @@ static int add_update_sla(struct adf_accel_dev *accel_dev,
		return -EFAULT;
	}

	mutex_lock(&rl_data->rl_lock);

	/* Input validation */
	ret = validate_user_input(accel_dev, sla_in, is_update);
	if (ret)
		goto ret_err;

	mutex_lock(&rl_data->rl_lock);

	if (is_update) {
		ret = validate_sla_id(accel_dev, sla_in->sla_id);
		if (ret)