From 64d129ca3c3c96d3cd929266aebcc2a2351e96a3 Mon Sep 17 00:00:00 2001 From: tanghui20 Date: Wed, 14 Aug 2019 21:53:41 +0800 Subject: [PATCH] ACC: Fix bug in review driver inclusion category: bugfix bugzilla: NA CVE: NA Feature or Bugfix:Bugfix Signed-off-by: tanghui20 Reviewed-by: xuzaibo Reviewed-by: Zhou Wang Reviewed-by: Yang Yingliang Signed-off-by: Yang Yingliang --- drivers/crypto/hisilicon/hpre/hpre_crypto.c | 4 ++++ drivers/crypto/hisilicon/qm.c | 16 +++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/drivers/crypto/hisilicon/hpre/hpre_crypto.c b/drivers/crypto/hisilicon/hpre/hpre_crypto.c index 7fbdc67dce91..b8651bcd001d 100644 --- a/drivers/crypto/hisilicon/hpre/hpre_crypto.c +++ b/drivers/crypto/hisilicon/hpre/hpre_crypto.c @@ -495,6 +495,10 @@ static int hpre_dh_set_params(struct hpre_ctx *ctx, struct dh *params) struct device *dev = &GET_DEV(ctx); unsigned int sz; +#define _HPRE_DH_MAX_P_SZ 512 + if (params->p_size > _HPRE_DH_MAX_P_SZ) + return -EINVAL; + if (hpre_dh_check_params_length(params->p_size << HPRE_BITS_2_BYTES_SHIFT)) return -EINVAL; diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c index 9a22c0646a75..186680967623 100644 --- a/drivers/crypto/hisilicon/qm.c +++ b/drivers/crypto/hisilicon/qm.c @@ -1019,6 +1019,7 @@ static const struct file_operations qm_regs_fops = { .owner = THIS_MODULE, .open = qm_regs_open, .read = seq_read, + .release = single_release, }; static int qm_create_debugfs_file(struct hisi_qm *qm, enum qm_debug_file index) @@ -1674,13 +1675,14 @@ static int hisi_qm_uacce_mmap(struct uacce_queue *q, switch (qfr->type) { case UACCE_QFRT_MMIO: - - /* Try to mmap corresponding pages size region */ - if (qm->ver == QM_HW_V2) - WARN_ON(sz > PAGE_SIZE * (QM_DOORBELL_PAGE_NR + - QM_V2_DOORBELL_OFFSET / PAGE_SIZE)); - else - WARN_ON(sz > PAGE_SIZE * QM_DOORBELL_PAGE_NR); + if (qm->ver == QM_HW_V2) { + if (WARN_ON(sz > PAGE_SIZE * (QM_DOORBELL_PAGE_NR + + QM_V2_DOORBELL_OFFSET / PAGE_SIZE))) + return -EINVAL; + } else { + if (WARN_ON(sz > PAGE_SIZE * QM_DOORBELL_PAGE_NR)) + return -EINVAL; + } vma->vm_flags |= VM_IO; -- GitLab