Hi Pavitrakumar, kernel test robot noticed the following build warnings: https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Pavitrakumar-M/Add-SPAcc-driver-to-Linux-kernel/20240305-193337 base: https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master patch link: https://lore.kernel.org/r/20240305112831.3380896-5-pavitrakumarm%40vayavyalabs.com patch subject: [PATCH 4/4] Enable Driver compilation in crypto Kconfig and Makefile file config: m68k-randconfig-r081-20240307 (https://download.01.org/0day-ci/archive/20240307/202403072256.em3Fk3At-lkp@xxxxxxxxx/config) compiler: m68k-linux-gcc (GCC) 13.2.0 If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> | Closes: https://lore.kernel.org/r/202403072256.em3Fk3At-lkp@xxxxxxxxx/ New smatch warnings: drivers/crypto/dwc-spacc/spacc_ahash.c:1057 spacc_hash_digest() error: uninitialized symbol 'total_len'. Old smatch warnings: drivers/crypto/dwc-spacc/spacc_ahash.c:271 spacc_hash_init_dma() error: uninitialized symbol 'sgl_buffer'. vim +/total_len +1057 drivers/crypto/dwc-spacc/spacc_ahash.c 6ad822cec22644 Pavitrakumar M 2024-03-05 981 6ad822cec22644 Pavitrakumar M 2024-03-05 982 static int spacc_hash_digest(struct ahash_request *req) 6ad822cec22644 Pavitrakumar M 2024-03-05 983 { 6ad822cec22644 Pavitrakumar M 2024-03-05 984 int final = 0; 6ad822cec22644 Pavitrakumar M 2024-03-05 985 int rc, total_len; 6ad822cec22644 Pavitrakumar M 2024-03-05 986 struct crypto_ahash *reqtfm = crypto_ahash_reqtfm(req); 6ad822cec22644 Pavitrakumar M 2024-03-05 987 struct spacc_crypto_ctx *tctx = crypto_ahash_ctx(reqtfm); 6ad822cec22644 Pavitrakumar M 2024-03-05 988 struct spacc_crypto_reqctx *ctx = ahash_request_ctx(req); 6ad822cec22644 Pavitrakumar M 2024-03-05 989 struct spacc_priv *priv = dev_get_drvdata(tctx->dev); 6ad822cec22644 Pavitrakumar M 2024-03-05 990 6ad822cec22644 Pavitrakumar M 2024-03-05 991 if (tctx->flag_ppp) { 6ad822cec22644 Pavitrakumar M 2024-03-05 992 /* from finup */ 6ad822cec22644 Pavitrakumar M 2024-03-05 993 ctx->single_shot = 0; 6ad822cec22644 Pavitrakumar M 2024-03-05 994 ctx->final_part_pck = 1; 6ad822cec22644 Pavitrakumar M 2024-03-05 995 final = 2; 6ad822cec22644 Pavitrakumar M 2024-03-05 996 } else { 6ad822cec22644 Pavitrakumar M 2024-03-05 997 /* direct single shot digest call */ 6ad822cec22644 Pavitrakumar M 2024-03-05 998 ctx->single_shot = 1; 6ad822cec22644 Pavitrakumar M 2024-03-05 999 ctx->rem_len = 0; 6ad822cec22644 Pavitrakumar M 2024-03-05 1000 ctx->total_nents = sg_nents(req->src); 6ad822cec22644 Pavitrakumar M 2024-03-05 1001 } 6ad822cec22644 Pavitrakumar M 2024-03-05 1002 6ad822cec22644 Pavitrakumar M 2024-03-05 1003 if (tctx->handle < 0 || !tctx->ctx_valid || 6ad822cec22644 Pavitrakumar M 2024-03-05 1004 req->nbytes > priv->max_msg_len) 6ad822cec22644 Pavitrakumar M 2024-03-05 1005 goto fallback; "total_len" not intialized for these gotos 6ad822cec22644 Pavitrakumar M 2024-03-05 1006 6ad822cec22644 Pavitrakumar M 2024-03-05 1007 rc = spacc_hash_init_dma(tctx->dev, req, final); 6ad822cec22644 Pavitrakumar M 2024-03-05 1008 if (rc < 0) 6ad822cec22644 Pavitrakumar M 2024-03-05 1009 goto fallback; 6ad822cec22644 Pavitrakumar M 2024-03-05 1010 6ad822cec22644 Pavitrakumar M 2024-03-05 1011 if (rc == 0) 6ad822cec22644 Pavitrakumar M 2024-03-05 1012 return 0; 6ad822cec22644 Pavitrakumar M 2024-03-05 1013 6ad822cec22644 Pavitrakumar M 2024-03-05 1014 if (final) { 6ad822cec22644 Pavitrakumar M 2024-03-05 1015 if (ctx->total_nents) { 6ad822cec22644 Pavitrakumar M 2024-03-05 1016 /* INIT-UPDATE-UPDATE-FINUP/FINAL */ 6ad822cec22644 Pavitrakumar M 2024-03-05 1017 total_len = tctx->ppp_sgl[0].length; 6ad822cec22644 Pavitrakumar M 2024-03-05 1018 } else if (req->src->length == 0 && ctx->total_nents == 0) { 6ad822cec22644 Pavitrakumar M 2024-03-05 1019 /* zero msg handling */ 6ad822cec22644 Pavitrakumar M 2024-03-05 1020 total_len = 0; 6ad822cec22644 Pavitrakumar M 2024-03-05 1021 } else { 6ad822cec22644 Pavitrakumar M 2024-03-05 1022 /* handle INIT-FINUP sequence, process req->nbytes */ 6ad822cec22644 Pavitrakumar M 2024-03-05 1023 total_len = req->nbytes; 6ad822cec22644 Pavitrakumar M 2024-03-05 1024 } 6ad822cec22644 Pavitrakumar M 2024-03-05 1025 6ad822cec22644 Pavitrakumar M 2024-03-05 1026 rc = spacc_packet_enqueue_ddt(&priv->spacc, ctx->acb.new_handle, 6ad822cec22644 Pavitrakumar M 2024-03-05 1027 &ctx->src, &ctx->dst, total_len, 6ad822cec22644 Pavitrakumar M 2024-03-05 1028 0, total_len, 0, 0, 0); 6ad822cec22644 Pavitrakumar M 2024-03-05 1029 } else { 6ad822cec22644 Pavitrakumar M 2024-03-05 1030 rc = spacc_packet_enqueue_ddt(&priv->spacc, ctx->acb.new_handle, 6ad822cec22644 Pavitrakumar M 2024-03-05 1031 &ctx->src, &ctx->dst, req->nbytes, 6ad822cec22644 Pavitrakumar M 2024-03-05 1032 0, req->nbytes, 0, 0, 0); 6ad822cec22644 Pavitrakumar M 2024-03-05 1033 } 6ad822cec22644 Pavitrakumar M 2024-03-05 1034 6ad822cec22644 Pavitrakumar M 2024-03-05 1035 if (rc < 0) { 6ad822cec22644 Pavitrakumar M 2024-03-05 1036 spacc_hash_cleanup_dma(tctx->dev, req); 6ad822cec22644 Pavitrakumar M 2024-03-05 1037 spacc_close(&priv->spacc, ctx->acb.new_handle); 6ad822cec22644 Pavitrakumar M 2024-03-05 1038 6ad822cec22644 Pavitrakumar M 2024-03-05 1039 if (rc != -EBUSY) { 6ad822cec22644 Pavitrakumar M 2024-03-05 1040 pr_debug("Failed to enqueue job, ERR: %d\n", rc); 6ad822cec22644 Pavitrakumar M 2024-03-05 1041 return rc; 6ad822cec22644 Pavitrakumar M 2024-03-05 1042 } 6ad822cec22644 Pavitrakumar M 2024-03-05 1043 6ad822cec22644 Pavitrakumar M 2024-03-05 1044 if (!(req->base.flags & CRYPTO_TFM_REQ_MAY_BACKLOG)) 6ad822cec22644 Pavitrakumar M 2024-03-05 1045 return -EBUSY; 6ad822cec22644 Pavitrakumar M 2024-03-05 1046 6ad822cec22644 Pavitrakumar M 2024-03-05 1047 goto fallback; 6ad822cec22644 Pavitrakumar M 2024-03-05 1048 } 6ad822cec22644 Pavitrakumar M 2024-03-05 1049 6ad822cec22644 Pavitrakumar M 2024-03-05 1050 return -EINPROGRESS; 6ad822cec22644 Pavitrakumar M 2024-03-05 1051 6ad822cec22644 Pavitrakumar M 2024-03-05 1052 fallback: 6ad822cec22644 Pavitrakumar M 2024-03-05 1053 /* Start from scratch as init is not called before digest */ 6ad822cec22644 Pavitrakumar M 2024-03-05 1054 ctx->fb.hash_req.base = req->base; 6ad822cec22644 Pavitrakumar M 2024-03-05 1055 ahash_request_set_tfm(&ctx->fb.hash_req, tctx->fb.hash); 6ad822cec22644 Pavitrakumar M 2024-03-05 1056 6ad822cec22644 Pavitrakumar M 2024-03-05 @1057 ctx->fb.hash_req.nbytes = total_len; ^^^^^^^^^ 6ad822cec22644 Pavitrakumar M 2024-03-05 1058 ctx->fb.hash_req.src = req->src; 6ad822cec22644 Pavitrakumar M 2024-03-05 1059 ctx->fb.hash_req.result = req->result; 6ad822cec22644 Pavitrakumar M 2024-03-05 1060 6ad822cec22644 Pavitrakumar M 2024-03-05 1061 return crypto_ahash_digest(&ctx->fb.hash_req); 6ad822cec22644 Pavitrakumar M 2024-03-05 1062 } -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki