]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
crypto: hisilicon/sec2 - fix some cleanup issues
authorQi Tao <taoqi10@huawei.com>
Fri, 26 Jan 2024 09:38:27 +0000 (17:38 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 2 Feb 2024 10:10:05 +0000 (18:10 +0800)
This patch fixes following cleanup issues:
 - The return value of the function is
   inconsistent with the actual return type.
 - After the pointer type is directly converted
   to the `__le64` type, the program may crash
   or produce unexpected results.

Signed-off-by: Qi Tao <taoqi10@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/hisilicon/sec2/sec_crypto.c

index 692ba3213cc653e11033aae4188a734fd342da28..f7e2ba0bf160464c706c13f37967a5677a9be2fd 100644 (file)
@@ -118,7 +118,7 @@ struct sec_aead {
 };
 
 /* Get an en/de-cipher queue cyclically to balance load over queues of TFM */
-static inline int sec_alloc_queue_id(struct sec_ctx *ctx, struct sec_req *req)
+static inline u32 sec_alloc_queue_id(struct sec_ctx *ctx, struct sec_req *req)
 {
        if (req->c_req.encrypt)
                return (u32)atomic_inc_return(&ctx->enc_qcyclic) %
@@ -1371,7 +1371,7 @@ static int sec_skcipher_bd_fill_v3(struct sec_ctx *ctx, struct sec_req *req)
        sec_sqe3->bd_param = cpu_to_le32(bd_param);
 
        sec_sqe3->c_len_ivin |= cpu_to_le32(c_req->c_len);
-       sec_sqe3->tag = cpu_to_le64(req);
+       sec_sqe3->tag = cpu_to_le64((unsigned long)req);
 
        return 0;
 }