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 959CA42A3F; Tue, 2 May 2023 16:46:12 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 281A340ED8; Tue, 2 May 2023 16:46:12 +0200 (CEST) Received: from mail-ua1-f41.google.com (mail-ua1-f41.google.com [209.85.222.41]) by mails.dpdk.org (Postfix) with ESMTP id E01B740E2D for ; Tue, 2 May 2023 16:46:10 +0200 (CEST) Received: by mail-ua1-f41.google.com with SMTP id a1e0cc1a2514c-77d0fcbce6bso828053241.1 for ; Tue, 02 May 2023 07:46:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683038770; x=1685630770; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=+nhxUp0P9cC/l4FFlNyD43/OkMCXiohk5Z5EZrsR97c=; b=Wq57tnq6QmVagefW2y7WSmJ5FH8vSF51L0SfeMv3bcjTupqPr16xongU0Orxfs+VLT tRejTZSmnOPI+n23fR8WeycHVbEHdE5FOp/jUiYpRcLRuvcPWcZgr3pcaQ0jDgFvKUfB OANL0tLhw0xfIksQryBgW7PVQhNYLfDkQPaZe26+7TpJF5TNfI1DnUjYFfSHroOAm/Ka 5ldsl9cwEJbeva9nsivYYTt+0gig5kWFRu056NCIsCyPzfQQzPX6LAl/sDKL5y6YL8cW WV1YwlcF+F2vEZGwwlrdTrMyo3Rep9RFKN7/E0tEmFHITNQznw/ce04Y9sBjRiNeFu4v l2ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683038770; x=1685630770; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+nhxUp0P9cC/l4FFlNyD43/OkMCXiohk5Z5EZrsR97c=; b=lw0K3FBQJBHN/FAGAQ/x7sQUBrF+JNodCe4i1wKXzH3BgxREq5ajUclvm7pBI4snPN FjfPEycRhEn9l9ezCSIexs2uyh/aj8ueHMom1+5NHP99wE+8VQ4dC4QpiWKSHRc/i7Xz 5jZVy8g5uh6qDpFqh8SH/DulC248nowahAn4tJJys7JKfkMGGP5ZkYzdfSfVlTUOLA5N Yp2rcMDT1KeSfsmmAVEDx5ZpE2xByhdvJsyrUWoKRszG2Ta+/i/B+7cywipeLYpjmbt8 fuLS3jec07C5JrMGeFO0co/aWHaBAWiKOU/2gKQe20V3hCdiPUyBdbn7frHGvH1vaa8j G+6Q== X-Gm-Message-State: AC+VfDxmubUBQhO+dKNhVefDOHzw62RDU6lRG/aXpx6xUneZYQWdFmDr u0tDkdmbigkTZQ+tcHZiQ/yxFEJ41O5Gidc3TJ0= X-Google-Smtp-Source: ACHHUZ6AdhYlynkHA1J9D59oW4JzXU9CGOwVBccec2fMz+FK4LCgj3ZBW52mpqSCF7FB2nLbu61I4A/CpNQb8atzTcg= X-Received: by 2002:a67:fb0d:0:b0:426:b2d8:17e9 with SMTP id d13-20020a67fb0d000000b00426b2d817e9mr84525vsr.20.1683038769996; Tue, 02 May 2023 07:46:09 -0700 (PDT) MIME-Version: 1.0 References: <20230405094332.2862-1-pbhagavatula@marvell.com> <20230407064732.891-1-pbhagavatula@marvell.com> In-Reply-To: From: Jerin Jacob Date: Tue, 2 May 2023 20:15:43 +0530 Message-ID: Subject: Re: [PATCH v3] eventdev/eth_rx: fix invalid memory access To: "Naga Harish K, S V" Cc: "pbhagavatula@marvell.com" , "jerinj@marvell.com" , "dev@dpdk.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Mon, Apr 17, 2023 at 12:00=E2=80=AFPM Naga Harish K, S V wrote: > > Acked-by: Naga Harish K S V Applied to dpdk-next-net-eventdev/for-main. Thanks > > > -----Original Message----- > > From: pbhagavatula@marvell.com > > Sent: Friday, April 7, 2023 12:18 PM > > To: jerinj@marvell.com; Naga Harish K, S V > > Cc: dev@dpdk.org; Pavan Nikhilesh > > Subject: [PATCH v3] eventdev/eth_rx: fix invalid memory access > > > > From: Pavan Nikhilesh > > > > Rx adapter internal service structures are only initialized when non-in= ternal > > port is added to the adapter. > > Check if Rx adapter service is initialized to determine if runtime set/= get > > parameters are supported. > > > > Fixes: 3716f52186af ("eventdev/eth_rx: support runtime set/get > > parameters") > > > > Signed-off-by: Pavan Nikhilesh > > --- > > v3 Changes: > > ---------- > > - Teardown queue when test is not supported. > > > > v2 Changes: > > ---------- > > - Remove unused variables. > > - Fix spell check. > > > > app/test/test_event_eth_rx_adapter.c | 10 ++++++++-- > > lib/eventdev/rte_event_eth_rx_adapter.c | 24 ++++-------------------- > > 2 files changed, 12 insertions(+), 22 deletions(-) > > > > diff --git a/app/test/test_event_eth_rx_adapter.c > > b/app/test/test_event_eth_rx_adapter.c > > index cfe6052d7e..52d146f97c 100644 > > --- a/app/test/test_event_eth_rx_adapter.c > > +++ b/app/test/test_event_eth_rx_adapter.c > > @@ -1201,7 +1201,7 @@ adapter_intrq_instance_get(void) static int > > adapter_get_set_params(void) > > { > > - int err; > > + int err, rc; > > struct rte_event_eth_rx_adapter_runtime_params in_params; > > struct rte_event_eth_rx_adapter_runtime_params out_params; > > struct rte_event_eth_rx_adapter_queue_conf queue_config =3D {0}; > > @@ -1230,6 +1230,10 @@ adapter_get_set_params(void) > > /* Case 1: Get the default value of mbufs processed by Rx adapter= */ > > err =3D > > rte_event_eth_rx_adapter_runtime_params_get(TEST_INST_ID, > > &out_params); > > + if (err =3D=3D -ENOTSUP) { > > + rc =3D TEST_SKIPPED; > > + goto skip; > > + } > > TEST_ASSERT(err =3D=3D 0, "Expected 0 got %d", err); > > > > /* Case 2: Set max_nb_rx =3D 32 (=3DBATCH_SEIZE) */ @@ -1302,11 > > +1306,13 @@ adapter_get_set_params(void) > > "Expected %u got %u", > > in_params.max_nb_rx, out_params.max_nb_rx); > > > > + rc =3D TEST_SUCCESS; > > +skip: > > err =3D rte_event_eth_rx_adapter_queue_del(TEST_INST_ID, > > TEST_ETHDEV_ID, 0); > > TEST_ASSERT(err =3D=3D 0, "Expected 0 got %d", err); > > > > - return TEST_SUCCESS; > > + return rc; > > } > > > > static struct unit_test_suite event_eth_rx_tests =3D { diff --git > > a/lib/eventdev/rte_event_eth_rx_adapter.c > > b/lib/eventdev/rte_event_eth_rx_adapter.c > > index c1cd124002..a8a5564b65 100644 > > --- a/lib/eventdev/rte_event_eth_rx_adapter.c > > +++ b/lib/eventdev/rte_event_eth_rx_adapter.c > > @@ -3466,30 +3466,14 @@ > > rte_event_eth_rx_adapter_instance_get(uint16_t eth_dev_id, static int > > rxa_caps_check(struct event_eth_rx_adapter *rxa) { > > - uint16_t eth_dev_id; > > - uint32_t caps =3D 0; > > - int ret; > > - > > if (!rxa->nb_queues) > > return -EINVAL; > > > > - /* The eth_dev used is always of same type. > > - * Hence eth_dev_id is taken from first entry of poll array. > > - */ > > - eth_dev_id =3D rxa->eth_rx_poll[0].eth_dev_id; > > - ret =3D rte_event_eth_rx_adapter_caps_get(rxa->eventdev_id, > > - eth_dev_id, > > - &caps); > > - if (ret) { > > - RTE_EDEV_LOG_ERR("Failed to get adapter caps edev %" > > PRIu8 > > - "eth port %" PRIu16, rxa->eventdev_id, eth_dev_id= ); > > - return ret; > > - } > > - > > - if (caps & RTE_EVENT_ETH_RX_ADAPTER_CAP_INTERNAL_PORT) > > - return -ENOTSUP; > > + /* Check if there is at least one non-internal ethernet port. */ > > + if (rxa->service_inited) > > + return 0; > > > > - return 0; > > + return -ENOTSUP; > > } > > > > int > > -- > > 2.25.1 >