<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: "IntelOne Text"; font-size: 10pt; color: rgb(0, 0, 0);">
Acked-by: Kai Ji <kai.ji@intel.com></div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Radu Nicolau <radu.nicolau@intel.com><br>
<b>Sent:</b> 06 July 2026 17:57<br>
<b>To:</b> dev@dpdk.org <dev@dpdk.org><br>
<b>Cc:</b> maxime.coquelin@redhat.com <maxime.coquelin@redhat.com>; david.marchand@redhat.com <david.marchand@redhat.com>; Nicolau, Radu <radu.nicolau@intel.com>; jianjay.zhou@huawei.com <jianjay.zhou@huawei.com>; Jiang, YuX <yux.jiang@intel.com>; Fan Zhang
 <fanzhang.oss@gmail.com><br>
<b>Subject:</b> [PATCH v2] crypto/virtio: cookies are allocated from mempool</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">The Rx/Tx functions allocate cookies as needed, no need to<br>
allocate and free from heap.<br>
<br>
Fixes: 6f0175ff53e0 ("crypto/virtio: support basic PMD ops")<br>
Cc: jianjay.zhou@huawei.com<br>
<br>
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com><br>
Tested-by: Yu Jiang <yux.jiang@intel.com><br>
---<br>
v2: removed redundant mempool free<br>
<br>
 drivers/crypto/virtio/virtio_cryptodev.c | 23 -----------------------<br>
 1 file changed, 23 deletions(-)<br>
<br>
diff --git a/drivers/crypto/virtio/virtio_cryptodev.c b/drivers/crypto/virtio/virtio_cryptodev.c<br>
index 6f079f15f6..d70651646e 100644<br>
--- a/drivers/crypto/virtio/virtio_cryptodev.c<br>
+++ b/drivers/crypto/virtio/virtio_cryptodev.c<br>
@@ -68,7 +68,6 @@ void<br>
 virtio_crypto_queue_release(struct virtqueue *vq)<br>
 {<br>
         struct virtio_crypto_hw *hw;<br>
-       uint16_t i;<br>
 <br>
         PMD_INIT_FUNC_TRACE();<br>
 <br>
@@ -80,9 +79,6 @@ virtio_crypto_queue_release(struct virtqueue *vq)<br>
                 hw->vqs[vq->vq_queue_index] = NULL;<br>
                 rte_memzone_free(vq->mz);<br>
                 rte_mempool_free(vq->mpool);<br>
-               for (i = 0; i < vq->vq_nentries; i++)<br>
-                       rte_free(vq->vq_descx[i].cookie);<br>
-<br>
                 rte_free(vq);<br>
         }<br>
 }<br>
@@ -102,8 +98,6 @@ virtio_crypto_queue_setup(struct rte_cryptodev *dev,<br>
         unsigned int vq_size;<br>
         struct virtio_crypto_hw *hw = dev->data->dev_private;<br>
         struct virtqueue *vq = NULL;<br>
-       uint32_t i = 0;<br>
-       uint32_t j;<br>
 <br>
         PMD_INIT_FUNC_TRACE();<br>
 <br>
@@ -175,29 +169,12 @@ virtio_crypto_queue_setup(struct rte_cryptodev *dev,<br>
                                         "Cannot create mempool");<br>
                         goto mpool_create_err;<br>
                 }<br>
-               for (i = 0; i < nb_desc; i++) {<br>
-                       vq->vq_descx[i].cookie =<br>
-                               rte_zmalloc("crypto PMD op cookie pointer",<br>
-                                       sizeof(struct virtio_crypto_op_cookie),<br>
-                                       RTE_CACHE_LINE_SIZE);<br>
-                       if (vq->vq_descx[i].cookie == NULL) {<br>
-                               VIRTIO_CRYPTO_DRV_LOG_ERR("Failed to "<br>
-                                               "alloc mem for cookie");<br>
-                               goto cookie_alloc_err;<br>
-                       }<br>
-               }<br>
         }<br>
 <br>
         *pvq = vq;<br>
 <br>
         return 0;<br>
 <br>
-cookie_alloc_err:<br>
-       rte_mempool_free(vq->mpool);<br>
-       if (i != 0) {<br>
-               for (j = 0; j < i; j++)<br>
-                       rte_free(vq->vq_descx[j].cookie);<br>
-       }<br>
 mpool_create_err:<br>
         rte_free(vq);<br>
         return -ENOMEM;<br>
-- <br>
2.52.0<br>
<br>
</div>
</span></font></div>
</body>
</html>