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 1685E45BB6 for ; Wed, 23 Oct 2024 23:17:30 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1023C4325A; Wed, 23 Oct 2024 23:17:30 +0200 (CEST) Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by mails.dpdk.org (Postfix) with ESMTP id 9129B4325A for ; Wed, 23 Oct 2024 23:17:29 +0200 (CEST) Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4316f3d3c21so1960185e9.3 for ; Wed, 23 Oct 2024 14:17:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1729718249; x=1730323049; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vAIcq7ZDQza0SufawmPyzepMSwqb5NTWh5ooxwV2b5w=; b=coWs3LZJ8MTZg6duB0PlrCKYhBA6JPu5ydTHUHij4LNYJu0DOw20EWqFvMYTPdMliw 3/dpyqkK09kIT0uE6zfS0beTP4IOY3y+5D2U4QT1Tm2z2WENlHA+we+L3kQs2c15fPwI 6Cp8RzCb4IJhkLJ/EhnuhkxSVETrzEPcrmdjXw6+lVeeHg+HF8fuPbx8phPSin+mf5dF Vx01GMVAHS8t7FPPJG6vch20BA4va8jf9iAeHD1CmJ3ibwa8uKLc6vJb4ZeCNXtFpUwq 0rMz/KCU4W2AJpTAOwOz0KHet3fpYuRTOrworPCY/NZCseeZVP9KKcu0R3FtcJHXGcli QY7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729718249; x=1730323049; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vAIcq7ZDQza0SufawmPyzepMSwqb5NTWh5ooxwV2b5w=; b=Z4BE4/XqJtbKPb1JWlEI94di2MaA//ZdEwCpL+bNh03CNVxy3jnchPqRz4PJSMYXVQ LFwcf6m8e9hAmWopJcH1EZN7wFWN3oIiQJ1tGrCY7epvIRTwt/QBAO9XYhUcdNT9bONw AQMQcU+8+kLBCeLJY6vsKkEEnAumEk6PM7d7nQl2thX1eMZ7CMDk4IOYV16/o8p8wuK+ HE9I5P6jDKiGIc8C0lPSa2jp+s92N7REmVLPL3qwMtmrnTCXYAo0wd89TlZgeCRGLzGB BgyMMUsRGSypWMG/h8uXukalrw4/w8jqFcriWVci9y+MXBBZok9P7qq5T/IsMeXYxNtd S34Q== X-Forwarded-Encrypted: i=1; AJvYcCWYIBgBQn8E1U3B2MZM28GrgU0cBL5iLtU02heS63U1+TD3CsM+lKx1bXy2c5ZQszc1PSMSpUY=@dpdk.org X-Gm-Message-State: AOJu0YwdkZ/uUd+lsVIA0vtVlE8BCnJpDpnfCzQgbqR7dBso13czpoEm eVdCjACnqypj2xk52YYO4mHHargkz0wlHwJqZHx1Zfx7A/qFseozhFARoA== X-Google-Smtp-Source: AGHT+IEeKnDweNOBaexOkWDJp5eZRfIMKJNLGTQkhgE17tcjP1GcJbQnNt2zTtxcdVANuITESc9NXg== X-Received: by 2002:a05:600c:35cd:b0:430:4db0:3fef with SMTP id 5b1f17b1804b1-4318415a2eemr31438695e9.15.1729718248864; Wed, 23 Oct 2024 14:17:28 -0700 (PDT) Received: from localhost ([2a01:4b00:d036:ae00:21cd:def0:a01d:d2aa]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43186bdba62sm26716845e9.19.2024.10.23.14.17.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 23 Oct 2024 14:17:27 -0700 (PDT) From: luca.boccassi@gmail.com To: Tejasree Kondoj Cc: Akhil Goyal , dpdk stable Subject: patch 'examples/ipsec-secgw: fix dequeue count from cryptodev' has been queued to stable release 22.11.7 Date: Wed, 23 Oct 2024 22:15:47 +0100 Message-ID: <20241023211704.1216956-7-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241023211704.1216956-1-luca.boccassi@gmail.com> References: <20241023211704.1216956-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 Hi, FYI, your patch has been queued to stable release 22.11.7 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 10/25/24. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/4152dbbb8e267f67a90e5f49524ada3e4af34d6b Thanks. Luca Boccassi --- >From 4152dbbb8e267f67a90e5f49524ada3e4af34d6b Mon Sep 17 00:00:00 2001 From: Tejasree Kondoj Date: Fri, 13 Sep 2024 12:37:26 +0530 Subject: [PATCH] examples/ipsec-secgw: fix dequeue count from cryptodev [ upstream commit 88948ff31f57618a74c8985c59e332676995b438 ] Setting dequeue packet count to max of MAX_PKT_BURST size instead of MAX_PKTS. Dequeue from cryptodev is called with MAX_PKTS but routing functions allocate hop/dst_ip arrays of size MAX_PKT_BURST. This can corrupt stack causing stack smashing error when more than MAX_PKT_BURST packets are returned from cryptodev. Fixes: a2b445b810ac ("examples/ipsec-secgw: allow larger burst size for vectors") Signed-off-by: Tejasree Kondoj Acked-by: Akhil Goyal --- examples/ipsec-secgw/ipsec-secgw.c | 6 ++++-- examples/ipsec-secgw/ipsec_process.c | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c index 9620d73fc8..849efbe755 100644 --- a/examples/ipsec-secgw/ipsec-secgw.c +++ b/examples/ipsec-secgw/ipsec-secgw.c @@ -626,12 +626,13 @@ drain_inbound_crypto_queues(const struct lcore_conf *qconf, uint32_t n; struct ipsec_traffic trf; unsigned int lcoreid = rte_lcore_id(); + const int nb_pkts = RTE_DIM(trf.ipsec.pkts); if (app_sa_prm.enable == 0) { /* dequeue packets from crypto-queue */ n = ipsec_inbound_cqp_dequeue(ctx, trf.ipsec.pkts, - RTE_DIM(trf.ipsec.pkts)); + RTE_MIN(MAX_PKT_BURST, nb_pkts)); trf.ip4.num = 0; trf.ip6.num = 0; @@ -663,12 +664,13 @@ drain_outbound_crypto_queues(const struct lcore_conf *qconf, { uint32_t n; struct ipsec_traffic trf; + const int nb_pkts = RTE_DIM(trf.ipsec.pkts); if (app_sa_prm.enable == 0) { /* dequeue packets from crypto-queue */ n = ipsec_outbound_cqp_dequeue(ctx, trf.ipsec.pkts, - RTE_DIM(trf.ipsec.pkts)); + RTE_MIN(MAX_PKT_BURST, nb_pkts)); trf.ip4.num = 0; trf.ip6.num = 0; diff --git a/examples/ipsec-secgw/ipsec_process.c b/examples/ipsec-secgw/ipsec_process.c index b0cece3ad1..1a64a4b49f 100644 --- a/examples/ipsec-secgw/ipsec_process.c +++ b/examples/ipsec-secgw/ipsec_process.c @@ -336,6 +336,7 @@ ipsec_cqp_process(struct ipsec_ctx *ctx, struct ipsec_traffic *trf) struct rte_ipsec_session *ss; struct traffic_type *out; struct rte_ipsec_group *pg; + const int nb_cops = RTE_DIM(trf->ipsec.pkts); struct rte_crypto_op *cop[RTE_DIM(trf->ipsec.pkts)]; struct rte_ipsec_group grp[RTE_DIM(trf->ipsec.pkts)]; @@ -345,7 +346,7 @@ ipsec_cqp_process(struct ipsec_ctx *ctx, struct ipsec_traffic *trf) out = &trf->ipsec; /* dequeue completed crypto-ops */ - n = ctx_dequeue(ctx, cop, RTE_DIM(cop)); + n = ctx_dequeue(ctx, cop, RTE_MIN(MAX_PKT_BURST, nb_cops)); if (n == 0) return; -- 2.45.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-10-23 22:16:40.822219046 +0100 +++ 0007-examples-ipsec-secgw-fix-dequeue-count-from-cryptode.patch 2024-10-23 22:16:40.439940407 +0100 @@ -1 +1 @@ -From 88948ff31f57618a74c8985c59e332676995b438 Mon Sep 17 00:00:00 2001 +From 4152dbbb8e267f67a90e5f49524ada3e4af34d6b Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 88948ff31f57618a74c8985c59e332676995b438 ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -26 +27 @@ -index e98ad2572e..063cc8768e 100644 +index 9620d73fc8..849efbe755 100644 @@ -60 +61 @@ -index ddbe30745b..5080e810e0 100644 +index b0cece3ad1..1a64a4b49f 100644