Commit dabb0ef8 authored by Kai Ye's avatar Kai Ye Committed by Zheng Zengkai
Browse files

crypto: hisilicon/qm - SVA bugfixed on Kunpeng920

mainline inclusion
from mainline-v5.12-rc1-dontuse
commit 0d61c3f1
category: bugfix
bugzilla: 173981
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0d61c3f1449a70fbf70f99648c4075b1e758be4d



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

Kunpeng920 SEC/HPRE/ZIP cannot support running user space SVA and kernel
Crypto at the same time. Therefore, the algorithms should not be registered
to Crypto as user space SVA is enabled.

Signed-off-by: default avatarKai Ye <yekai13@huawei.com>
Reviewed-by: default avatarZaibo Xu <xuzaibo@huawei.com>
Reviewed-by: default avatarZhou Wang <wangzhou1@hisilicon.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarMingqiang Ling <lingmingqiang@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent d86b057b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -4004,6 +4004,9 @@ int hisi_qm_alg_register(struct hisi_qm *qm, struct hisi_qm_list *qm_list)
{
	int flag = 0;
	int ret = 0;
	/* HW V2 not support both use uacce sva mode and hardware crypto algs */
	if (qm->ver <= QM_HW_V2 && qm->use_sva)
		return 0;

	mutex_lock(&qm_list->lock);
	if (list_empty(&qm_list->list))
@@ -4035,6 +4038,9 @@ EXPORT_SYMBOL_GPL(hisi_qm_alg_register);
 */
void hisi_qm_alg_unregister(struct hisi_qm *qm, struct hisi_qm_list *qm_list)
{
	if (qm->ver <= QM_HW_V2 && qm->use_sva)
		return;

	mutex_lock(&qm_list->lock);
	list_del(&qm->list);
	mutex_unlock(&qm_list->lock);