From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2557E432E6 for ; Thu, 9 Nov 2023 17:05:58 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1E03E4026B; Thu, 9 Nov 2023 17:05:58 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.8]) by mails.dpdk.org (Postfix) with ESMTP id 049C74021E for ; Thu, 9 Nov 2023 17:05:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699545957; x=1731081957; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=IL6o7a89xs4FWsCYYQWE7uM5t+QNl21wKR8Lzx2zFz4=; b=Uk+ZNUErud4tjcLWtQLDEM8yQHVVrOzTdf7qUic79Qe2lCXWKhxNGgsP oYffnXWgv3r/Myk86vAM7HxIgwqiXi7UX3e+bmfNRZ0ZtARE7RFUEgnfX ew/iXPOF0cyMehpAcJJBq0v0YjVewhJjxRyEfXDVBpMrojs9DhoHCdwI9 UrRY/lde07FLEmSDoSZZSwbNBHFOjq13sjLNnf4Ff5yp9RgGHfa82NfGS vJLOskz/zIK9TXl6m833H9K8vqIEDaJjYp5vf61YCb1pHQZ1cvEbTOuuo 3itKLlnuW0GUlFgbwjSI5+Y7E7N381bsORiyq7mrxtZugZLd7KKNnXCHg w==; X-IronPort-AV: E=McAfee;i="6600,9927,10889"; a="2983779" X-IronPort-AV: E=Sophos;i="6.03,289,1694761200"; d="scan'208";a="2983779" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmvoesa102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Nov 2023 08:05:02 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10889"; a="798348408" X-IronPort-AV: E=Sophos;i="6.03,289,1694761200"; d="scan'208";a="798348408" Received: from unknown (HELO fedora38.localdomain) ([10.211.11.138]) by orsmga001.jf.intel.com with ESMTP; 09 Nov 2023 08:05:00 -0800 From: Krzysztof Karas To: krzysztof.karas@intel.com Cc: stable@dpdk.org Subject: [PATCH v2] crypto/ipsec_mb: do not dequeue ops after flush Date: Thu, 9 Nov 2023 16:03:22 +0000 Message-ID: <20231109160322.3751807-1-krzysztof.karas@intel.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Previously it was possible to increment `processed_jobs` to a value greater than requested `nb_ops`, because after flushing at most `nb_ops` jobs the while loop continued, so `processed_jobs` could still be incremented and it was possible for this variable to be greater than `nb_ops`. If `ops` provided to the function were only `nb_ops` long, then the `aesni_mb_dequeue_burst()` would write to the memory outside of `ops` array. Fixes: b50b8b5b38f8 ("crypto/ipsec_mb: use burst API in AESNI") Cc: stable@dpdk.org Signed-off-by: Krzysztof Karas --- v2: * Shortened title to fit in the limit. * Changed nb_ops 'decrementing' from 'nb_jobs' to 'i'. drivers/crypto/ipsec_mb/pmd_aesni_mb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c index 9e298023d7..aa08490e0c 100644 --- a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c +++ b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c @@ -2056,7 +2056,7 @@ aesni_mb_dequeue_burst(void *queue_pair, struct rte_crypto_op **ops, uint16_t n = (nb_ops / burst_sz) ? burst_sz : nb_ops; - while (unlikely((IMB_GET_NEXT_BURST(mb_mgr, n, jobs)) < n)) { + if (unlikely((IMB_GET_NEXT_BURST(mb_mgr, n, jobs)) < n)) { /* * Not enough free jobs in the queue * Flush n jobs until enough jobs available @@ -2074,6 +2074,8 @@ aesni_mb_dequeue_burst(void *queue_pair, struct rte_crypto_op **ops, break; } } + nb_ops -= i; + continue; } /* -- 2.41.0 --------------------------------------------------------------------- Intel Technology Poland sp. z o.o. ul. Slowackiego 173 | 80-298 Gdansk | Sad Rejonowy Gdansk Polnoc | VII Wydzial Gospodarczy Krajowego Rejestru Sadowego - KRS 101882 | NIP 957-07-52-316 | Kapital zakladowy 200.000 PLN. Spolka oswiadcza, ze posiada status duzego przedsiebiorcy w rozumieniu ustawy z dnia 8 marca 2013 r. o przeciwdzialaniu nadmiernym opoznieniom w transakcjach handlowych. Ta wiadomosc wraz z zalacznikami jest przeznaczona dla okreslonego adresata i moze zawierac informacje poufne. W razie przypadkowego otrzymania tej wiadomosci, prosimy o powiadomienie nadawcy oraz trwale jej usuniecie; jakiekolwiek przegladanie lub rozpowszechnianie jest zabronione. This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). If you are not the intended recipient, please contact the sender and delete all copies; any review or distribution by others is strictly prohibited.