From 75a206fa7d4e90474f7b25d0ac9019f967c72363 Mon Sep 17 00:00:00 2001 From: JiangShui Yang Date: Thu, 15 Jun 2023 21:09:51 +0800 Subject: [PATCH] crypto: hisilicon/qm: modify loop exit condition driver inclusion category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I7DUYJ CVE: NA ---------------------------------------------------------------------- Loop branch using 'i++' as condition will cause the loop to not execute when 'i == 0', should use '++i', Fix it. Fixes: 26f2f10d4436 ("crypto: hisilicon/qm - obtain the mailbox configuration at one time") Fixes: aabdf15d8fdd ("vfio/migration: obtain the mailbox configuration at one time") Signed-off-by: JiangShui Yang Signed-off-by: Weili Qian (cherry picked from commit fc71ef5502b4082276d6fa533cc7fab2e4e80e7b) --- drivers/crypto/hisilicon/migration/acc_vf_migration.c | 2 +- drivers/crypto/hisilicon/qm.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/hisilicon/migration/acc_vf_migration.c b/drivers/crypto/hisilicon/migration/acc_vf_migration.c index e4164aed173e..cd38254c6598 100644 --- a/drivers/crypto/hisilicon/migration/acc_vf_migration.c +++ b/drivers/crypto/hisilicon/migration/acc_vf_migration.c @@ -104,7 +104,7 @@ static int qm_wait_mb_finish(struct hisi_qm *qm, struct qm_mailbox *mailbox) { int i = 0; - while (i++) { + while (++i) { qm_mb_read(qm, mailbox); if (!((le16_to_cpu(mailbox->w0) >> QM_MB_BUSY_SHIFT) & 0x1)) break; diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c index 100c0afbcd4c..f9afb2adebb9 100644 --- a/drivers/crypto/hisilicon/qm.c +++ b/drivers/crypto/hisilicon/qm.c @@ -667,7 +667,7 @@ static int qm_wait_mb_finish(struct hisi_qm *qm, struct qm_mailbox *mailbox) { int i = 0; - while (i++) { + while (++i) { qm_mb_read(qm, mailbox); if (!((le16_to_cpu(mailbox->w0) >> QM_MB_BUSY_SHIFT) & 0x1)) break; -- GitLab