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 F3DFAA0543 for ; Sat, 5 Nov 2022 18:13:55 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EEADD40151; Sat, 5 Nov 2022 18:13:55 +0100 (CET) Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) by mails.dpdk.org (Postfix) with ESMTP id 9C500400D5 for ; Sat, 5 Nov 2022 18:13:54 +0100 (CET) Received: by mail-wr1-f43.google.com with SMTP id y16so10844166wrt.12 for ; Sat, 05 Nov 2022 10:13:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; 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=2lN61P5gxc34dR6JTjTGrYt+UCqVQP+pNQ9Z9zCob/o=; b=Hw+fr2Yvcmw4ip8rs2O+01sf3CFKmUZFvHO92Hh/a4HapFa1wxOs+EhXWRuLr2IueQ Re6ErKcpO145uDPigrNkuCBc/I0Awo1AyP5pzYXnZ2VajjdWfa+2pJzc6bYGOiNhr9Bp LuFEHhHmKqG9/yzrYG3qd7n/FfoP234yDKbMSk1+hUT4duxgxTy2o8l5fjlgAmhhUVFT TWXukvPOeqnMAub6usgAH6Jhsg3fZwVSTIHVWtaDSNkmkbdhCXQBhtBrxOXXM6+yt5Z2 hBIjwY3PETGcfFt9yUgv2erRCwZEESlBkGmB1GZwA1K1TAYv7qVPeeuYc9nwt1eIPz5D F6Cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=2lN61P5gxc34dR6JTjTGrYt+UCqVQP+pNQ9Z9zCob/o=; b=XZHfcrLuNssDxgrtAkHO65/kwFUP4bZqbtX8wOF2u5waoVwe9Fhky+3tq/HskaIjJs Bkz6Kco4PsJcAF2JFp3EWm3TpozwFcq7FeWchZutK9G1Fb05DoK++h5YBmVotFrJ2lxM BjVXxL7UpT1MYmiokH7pdkizAIM4qKVZVQEKS/Bi5JIz4tdj/Qier6ANS+tROkGkcZue BE8MWyQv2ekr+ramtqfrx11jSJ1vGJB+rr+V51cmWEEvi23SYGpWiBwojx8rmSLUQxtm 7jWCXDF0IousFrrjqGZLg+m3fSEuxpIFJ1JJqkmfGK2fYMuO4BXoN4djpxbC4Kp5DLX7 g0lg== X-Gm-Message-State: ACrzQf2Pvz6uBDIHdZkFYMa5S/funn4l7GFVgAOzHJWtIA9Z9t1+FH3t Xrfm9Ol/w5KfW6wKeMJ89HQ= X-Google-Smtp-Source: AMsMyM4DTtpm/jdeP+fDq/MyT3CxBc3wKkHHf7bEaxxQ0XWww9zfbcxYXp0zk+J0YErFWH8kYzHJQg== X-Received: by 2002:adf:e38d:0:b0:236:7217:827e with SMTP id e13-20020adfe38d000000b002367217827emr27152441wrm.652.1667668434298; Sat, 05 Nov 2022 10:13:54 -0700 (PDT) Received: from localhost ([2a01:4b00:d307:1000:f1d3:eb5e:11f4:a7d9]) by smtp.gmail.com with ESMTPSA id t67-20020a1c4646000000b003cf7055c057sm6423942wma.3.2022.11.05.10.13.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 05 Nov 2022 10:13:53 -0700 (PDT) From: luca.boccassi@gmail.com To: Hernan Vargas Cc: Maxime Coquelin , dpdk stable Subject: patch 'baseband/acc100: add null checks' has been queued to stable release 20.11.7 Date: Sat, 5 Nov 2022 17:11:38 +0000 Message-Id: <20221105171146.1520039-39-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221105171146.1520039-1-luca.boccassi@gmail.com> References: <20221103092758.1099402-100-luca.boccassi@gmail.com> <20221105171146.1520039-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 20.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 11/07/22. 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/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/8f8c2aac1e75a7b6b995b19c875c5f0e242554bc Thanks. Luca Boccassi --- >From 8f8c2aac1e75a7b6b995b19c875c5f0e242554bc Mon Sep 17 00:00:00 2001 From: Hernan Vargas Date: Thu, 20 Oct 2022 22:20:39 -0700 Subject: [PATCH] baseband/acc100: add null checks [ upstream commit 4a2f231ee139717f61d36a3df8aaab74644ca2b5 ] Add unlikely checks for NULL operation values. Fixes: f404dfe35cc ("baseband/acc100: support 4G processing") Signed-off-by: Hernan Vargas Reviewed-by: Maxime Coquelin --- drivers/baseband/acc100/rte_acc100_pmd.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c index 8c06f0bfc5..9bdf726f75 100644 --- a/drivers/baseband/acc100/rte_acc100_pmd.c +++ b/drivers/baseband/acc100/rte_acc100_pmd.c @@ -2508,6 +2508,10 @@ enqueue_enc_one_op_tb(struct acc100_queue *q, struct rte_bbdev_enc_op *op, r = op->turbo_enc.tb_params.r; while (mbuf_total_left > 0 && r < c) { + if (unlikely(input == NULL)) { + rte_bbdev_log(ERR, "Not enough input segment"); + return -EINVAL; + } seg_total_left = rte_pktmbuf_data_len(input) - in_offset; /* Set up DMA descriptor */ desc = q->ring_addr + ((q->sw_ring_head + total_enqueued_cbs) @@ -3539,6 +3543,8 @@ acc100_enqueue_ldpc_dec_tb(struct rte_bbdev_queue_data *q_data, break; enqueued_cbs += ret; } + if (unlikely(enqueued_cbs == 0)) + return 0; /* Nothing to enqueue */ acc100_dma_enqueue(q, enqueued_cbs, &q_data->queue_stats); @@ -4081,6 +4087,8 @@ acc100_dequeue_dec(struct rte_bbdev_queue_data *q_data, for (i = 0; i < dequeue_num; ++i) { op = (q->ring_addr + ((q->sw_ring_tail + dequeued_cbs) & q->sw_ring_wrap_mask))->req.op_addr; + if (unlikely(op == NULL)) + break; if (op->turbo_dec.code_block_mode == 0) ret = dequeue_dec_one_op_tb(q, &ops[i], dequeued_cbs, &aq_dequeued); @@ -4126,6 +4134,8 @@ acc100_dequeue_ldpc_dec(struct rte_bbdev_queue_data *q_data, for (i = 0; i < dequeue_num; ++i) { op = (q->ring_addr + ((q->sw_ring_tail + dequeued_cbs) & q->sw_ring_wrap_mask))->req.op_addr; + if (unlikely(op == NULL)) + break; if (op->ldpc_dec.code_block_mode == 0) ret = dequeue_dec_one_op_tb(q, &ops[i], dequeued_cbs, &aq_dequeued); -- 2.34.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-05 17:11:12.114178634 +0000 +++ 0039-baseband-acc100-add-null-checks.patch 2022-11-05 17:11:08.810945561 +0000 @@ -1 +1 @@ -From 4a2f231ee139717f61d36a3df8aaab74644ca2b5 Mon Sep 17 00:00:00 2001 +From 8f8c2aac1e75a7b6b995b19c875c5f0e242554bc Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 4a2f231ee139717f61d36a3df8aaab74644ca2b5 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -14 +15 @@ - drivers/baseband/acc/rte_acc100_pmd.c | 10 ++++++++++ + drivers/baseband/acc100/rte_acc100_pmd.c | 10 ++++++++++ @@ -17,5 +18,5 @@ -diff --git a/drivers/baseband/acc/rte_acc100_pmd.c b/drivers/baseband/acc/rte_acc100_pmd.c -index eba70654e8..e8ec70d954 100644 ---- a/drivers/baseband/acc/rte_acc100_pmd.c -+++ b/drivers/baseband/acc/rte_acc100_pmd.c -@@ -2180,6 +2180,10 @@ enqueue_enc_one_op_tb(struct acc_queue *q, struct rte_bbdev_enc_op *op, +diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c +index 8c06f0bfc5..9bdf726f75 100644 +--- a/drivers/baseband/acc100/rte_acc100_pmd.c ++++ b/drivers/baseband/acc100/rte_acc100_pmd.c +@@ -2508,6 +2508,10 @@ enqueue_enc_one_op_tb(struct acc100_queue *q, struct rte_bbdev_enc_op *op, @@ -31,2 +32,2 @@ - desc = acc_desc(q, total_enqueued_cbs); -@@ -3097,6 +3101,8 @@ acc100_enqueue_ldpc_dec_tb(struct rte_bbdev_queue_data *q_data, + desc = q->ring_addr + ((q->sw_ring_head + total_enqueued_cbs) +@@ -3539,6 +3543,8 @@ acc100_enqueue_ldpc_dec_tb(struct rte_bbdev_queue_data *q_data, @@ -39,3 +40 @@ - acc_dma_enqueue(q, enqueued_cbs, &q_data->queue_stats); - -@@ -3625,6 +3631,8 @@ acc100_dequeue_dec(struct rte_bbdev_queue_data *q_data, + acc100_dma_enqueue(q, enqueued_cbs, &q_data->queue_stats); @@ -42,0 +42 @@ +@@ -4081,6 +4087,8 @@ acc100_dequeue_dec(struct rte_bbdev_queue_data *q_data, @@ -44 +44,2 @@ - op = acc_op_tail(q, dequeued_cbs); + op = (q->ring_addr + ((q->sw_ring_tail + dequeued_cbs) + & q->sw_ring_wrap_mask))->req.op_addr; @@ -47 +48 @@ - if (op->turbo_dec.code_block_mode == RTE_BBDEV_TRANSPORT_BLOCK) + if (op->turbo_dec.code_block_mode == 0) @@ -50 +51 @@ -@@ -3670,6 +3678,8 @@ acc100_dequeue_ldpc_dec(struct rte_bbdev_queue_data *q_data, +@@ -4126,6 +4134,8 @@ acc100_dequeue_ldpc_dec(struct rte_bbdev_queue_data *q_data, @@ -56 +57 @@ - if (op->ldpc_dec.code_block_mode == RTE_BBDEV_TRANSPORT_BLOCK) + if (op->ldpc_dec.code_block_mode == 0)