Linux-Crypto Archive on lore.kernel.org
 help / color / Atom feed
* [bug report] crypto: sa2ul - Add crypto driver
@ 2020-07-27 11:20 dan.carpenter
  0 siblings, 0 replies; only message in thread
From: dan.carpenter @ 2020-07-27 11:20 UTC (permalink / raw)
  To: j-keerthy; +Cc: linux-crypto

Hello Keerthy,

The patch 7694b6ca649f: "crypto: sa2ul - Add crypto driver" from Jul
13, 2020, leads to the following static checker warning:

	drivers/crypto/sa2ul.c:1201 sa_run()
	error: 'mdptr' dereferencing possible ERR_PTR()

drivers/crypto/sa2ul.c
  1176          rxd->enc = req->enc;
  1177          rxd->ddev = ddev;
  1178          rxd->src = src;
  1179          rxd->dst = dst;
  1180          rxd->iv_idx = req->ctx->iv_idx;
  1181          rxd->enc_iv_size = sa_ctx->cmdl_upd_info.enc_iv.size;
  1182          rxd->tx_in->callback = req->callback;
  1183          rxd->tx_in->callback_param = rxd;
  1184  
  1185          tx_out = dmaengine_prep_slave_sg(pdata->dma_tx, src,
  1186                                           src_nents, DMA_MEM_TO_DEV,
  1187                                           DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
  1188  
  1189          if (!tx_out) {
  1190                  dev_err(pdata->dev, "OUT prep_slave_sg() failed\n");
  1191                  ret = -EINVAL;
  1192                  goto err_cleanup;
  1193          }
  1194  
  1195          /*
  1196           * Prepare metadata for DMA engine. This essentially describes the
  1197           * crypto algorithm to be used, data sizes, different keys etc.
  1198           */
  1199          mdptr = (u32 *)dmaengine_desc_get_metadata_ptr(tx_out, &pl, &ml);
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
What about if this has an error?

  1200  
  1201          sa_prepare_tx_desc(mdptr, (sa_ctx->cmdl_size + (SA_PSDATA_CTX_WORDS *
  1202                                     sizeof(u32))), cmdl, sizeof(sa_ctx->epib),
  1203                             sa_ctx->epib);
  1204  
  1205          ml = sa_ctx->cmdl_size + (SA_PSDATA_CTX_WORDS * sizeof(u32));
  1206          dmaengine_desc_set_metadata_len(tx_out, req->mdata_size);
  1207  
  1208          dmaengine_submit(tx_out);
  1209          dmaengine_submit(rxd->tx_in);
  1210  
  1211          dma_async_issue_pending(dma_rx);
  1212          dma_async_issue_pending(pdata->dma_tx);
  1213  
  1214          return -EINPROGRESS;

regards,
dan carpenter

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, back to index

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-27 11:20 [bug report] crypto: sa2ul - Add crypto driver dan.carpenter

Linux-Crypto Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-crypto/0 linux-crypto/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-crypto linux-crypto/ https://lore.kernel.org/linux-crypto \
		linux-crypto@vger.kernel.org
	public-inbox-index linux-crypto

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-crypto


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git