crypto: hisilicon/sgl - Delete redundant parameter verification
authorChenghai Huang <huangchenghai2@huawei.com>
Sun, 7 Apr 2024 07:59:54 +0000 (15:59 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 12 Apr 2024 07:07:52 +0000 (15:07 +0800)
The input parameter check in acc_get_sgl is redundant. The
caller has been verified once. When the check is performed for
multiple times, the performance deteriorates.

So the redundant parameter verification is deleted, and the
index verification is changed to the module entry function for
verification.

Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/hisilicon/sgl.c

index 0beca257c20b218dcd3935c92777798187834df7..568acd0aee3fa532582d44c4645e40e56318b455 100644 (file)
@@ -161,9 +161,6 @@ static struct hisi_acc_hw_sgl *acc_get_sgl(struct hisi_acc_sgl_pool *pool,
        struct mem_block *block;
        u32 block_index, offset;
 
-       if (!pool || !hw_sgl_dma || index >= pool->count)
-               return ERR_PTR(-EINVAL);
-
        block = pool->mem_block;
        block_index = index / pool->sgl_num_per_block;
        offset = index % pool->sgl_num_per_block;
@@ -230,7 +227,7 @@ hisi_acc_sg_buf_map_to_hw_sgl(struct device *dev,
        struct scatterlist *sg;
        int sg_n;
 
-       if (!dev || !sgl || !pool || !hw_sgl_dma)
+       if (!dev || !sgl || !pool || !hw_sgl_dma || index >= pool->count)
                return ERR_PTR(-EINVAL);
 
        sg_n = sg_nents(sgl);