From patchwork Tue Apr 23 16:53:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 53011 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A41091B0FB; Tue, 23 Apr 2019 18:53:48 +0200 (CEST) Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) by dpdk.org (Postfix) with ESMTP id 1B6B3493D for ; Tue, 23 Apr 2019 18:53:45 +0200 (CEST) Received: by mail-pg1-f196.google.com with SMTP id d31so7900664pgl.7 for ; Tue, 23 Apr 2019 09:53:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=PdnXHxJZNv6OqrspPTtOWLP1ngAJ+Qoz2tiQ/q5rht4=; b=q9UeT0yx+QQDKeABvPCZ4yQpW1mB4UTcelbwPtsqx93a+iyy2NEuctoLBGBzQ2SUpD 8ko/uoccEoFC9Pfcopj69aqYEYeFH3zaVK9CGS2ihnZdZyU7EYMPDAccuzCIbLVCfRcK HJjfKsrGR4KrUwIAu4LaUeH4H22gJOkw6sZrlU7At7Vu0Yn0WSBSFWLl+XNir5FZLsMG zPXRdK2pqjcjEV6vxFkiAtIRd09eHe8gvc3Ue/jvmwg20VhFwMUJ2KRnbN2T8aXwe3+W zuSGorifLyKtF0C0tOvs4byVAfCsA/6+KYk1H0avd0LDfQvvXK+lCif5e7NhG6/wV9i3 hX4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=PdnXHxJZNv6OqrspPTtOWLP1ngAJ+Qoz2tiQ/q5rht4=; b=nNuv1psAOQWHNwNJkutA+zQyEsysROtNn+jL5db8TdZexC6PwvA1+LCCSKlpe3JK6V s30/KuxfpVZRsd31Eee9kShQ6F9EYFAck/X8M9vU1OW1ehmMisv54i4ZNePPH3G5fGdY FReS+m/GYG5eAZsDZRZWih01ktMCuM+6IqDz9qv1lCuoWFm+894rU2huSanJm48w7lXk HVSIuWrO5T0SIJ+pmJG7+eK1Hvz5BV+/iRD4jrSKmsaqQINWKlwwEdQu9zyanvtRtxum rjThiFOPFrBvVswhUvG2Pk4Xrp2r4z5HOKX0Q6sW+TPJwfxCma5w/NpnwN6NvLkWkDoR TeKQ== X-Gm-Message-State: APjAAAXgj8yfiu8B0ZDjQ5f5qcin0gYp8AZ0jfN/GZiN3GEj0FJHnrrK 2qNS7NuGVqD1YLPZQiZIbHZ+of3NB0U= X-Google-Smtp-Source: APXvYqxTI4H3Ac6q5vHEOdmoFhlbdSlkVyqdzLo5IlioTeL4KSNglwi7svJLxrqux3YAi4j8Fc5a6A== X-Received: by 2002:a63:6b82:: with SMTP id g124mr23382905pgc.246.1556038424305; Tue, 23 Apr 2019 09:53:44 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id 71sm47194750pfs.36.2019.04.23.09.53.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 23 Apr 2019 09:53:42 -0700 (PDT) From: Stephen Hemminger To: bruce.richardson@intel.com Cc: dev@dpdk.org, Stephen Hemminger Date: Tue, 23 Apr 2019 09:53:32 -0700 Message-Id: <20190423165335.4025-2-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190423165335.4025-1-stephen@networkplumber.org> References: <20190423164812.3427-1-stephen@networkplumber.org> <20190423165335.4025-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 1/4] net/ring: fix coding style X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Whitespace fixes to bring inline with current DPDK style. Signed-off-by: Stephen Hemminger --- v2 - fix signoff line drivers/net/ring/rte_eth_ring.c | 58 ++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c index 115a882b507c..91e5f5f8f262 100644 --- a/drivers/net/ring/rte_eth_ring.c +++ b/drivers/net/ring/rte_eth_ring.c @@ -45,8 +45,8 @@ struct ring_queue { }; struct pmd_internals { - unsigned max_rx_queues; - unsigned max_tx_queues; + unsigned int max_rx_queues; + unsigned int max_tx_queues; struct ring_queue rx_ring_queues[RTE_PMD_RING_MAX_RX_RINGS]; struct ring_queue tx_ring_queues[RTE_PMD_RING_MAX_TX_RINGS]; @@ -55,12 +55,11 @@ struct pmd_internals { enum dev_action action; }; - static struct rte_eth_link pmd_link = { - .link_speed = ETH_SPEED_NUM_10G, - .link_duplex = ETH_LINK_FULL_DUPLEX, - .link_status = ETH_LINK_DOWN, - .link_autoneg = ETH_LINK_FIXED, + .link_speed = ETH_SPEED_NUM_10G, + .link_duplex = ETH_LINK_FULL_DUPLEX, + .link_status = ETH_LINK_DOWN, + .link_autoneg = ETH_LINK_FIXED, }; static int eth_ring_logtype; @@ -138,6 +137,7 @@ eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id, struct rte_mempool *mb_pool __rte_unused) { struct pmd_internals *internals = dev->data->dev_private; + dev->data->rx_queues[rx_queue_id] = &internals->rx_ring_queues[rx_queue_id]; return 0; } @@ -149,6 +149,7 @@ eth_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id, const struct rte_eth_txconf *tx_conf __rte_unused) { struct pmd_internals *internals = dev->data->dev_private; + dev->data->tx_queues[tx_queue_id] = &internals->tx_ring_queues[tx_queue_id]; return 0; } @@ -156,9 +157,10 @@ eth_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id, static void eth_dev_info(struct rte_eth_dev *dev, - struct rte_eth_dev_info *dev_info) + struct rte_eth_dev_info *dev_info) { struct pmd_internals *internals = dev->data->dev_private; + dev_info->max_mac_addrs = 1; dev_info->max_rx_pktlen = (uint32_t)-1; dev_info->max_rx_queues = (uint16_t)internals->max_rx_queues; @@ -169,7 +171,7 @@ eth_dev_info(struct rte_eth_dev *dev, static int eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) { - unsigned i; + unsigned int i; unsigned long rx_total = 0, tx_total = 0, tx_err_total = 0; const struct pmd_internals *internal = dev->data->dev_private; @@ -197,8 +199,9 @@ eth_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) static void eth_stats_reset(struct rte_eth_dev *dev) { - unsigned i; + unsigned int i; struct pmd_internals *internal = dev->data->dev_private; + for (i = 0; i < dev->data->nb_rx_queues; i++) internal->rx_ring_queues[i].rx_pkts.cnt = 0; for (i = 0; i < dev->data->nb_tx_queues; i++) { @@ -250,8 +253,10 @@ static struct rte_vdev_driver pmd_ring_drv; static int do_eth_dev_ring_create(const char *name, - struct rte_ring * const rx_queues[], const unsigned nb_rx_queues, - struct rte_ring *const tx_queues[], const unsigned nb_tx_queues, + struct rte_ring * const rx_queues[], + const unsigned int nb_rx_queues, + struct rte_ring *const tx_queues[], + const unsigned int nb_tx_queues, const unsigned int numa_node, enum dev_action action, struct rte_eth_dev **eth_dev_p) { @@ -260,7 +265,7 @@ do_eth_dev_ring_create(const char *name, struct rte_eth_dev *eth_dev = NULL; void **rx_queues_local = NULL; void **tx_queues_local = NULL; - unsigned i; + unsigned int i; PMD_LOG(INFO, "Creating rings-backed ethdev on numa socket %u", numa_node); @@ -344,10 +349,10 @@ do_eth_dev_ring_create(const char *name, int rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[], - const unsigned nb_rx_queues, + const unsigned int nb_rx_queues, struct rte_ring *const tx_queues[], - const unsigned nb_tx_queues, - const unsigned numa_node) + const unsigned int nb_tx_queues, + const unsigned int numa_node) { struct ring_internal_args args = { .rx_queues = rx_queues, @@ -398,16 +403,16 @@ rte_eth_from_ring(struct rte_ring *r) } static int -eth_dev_ring_create(const char *name, const unsigned numa_node, +eth_dev_ring_create(const char *name, const unsigned int numa_node, enum dev_action action, struct rte_eth_dev **eth_dev) { /* rx and tx are so-called from point of view of first port. * They are inverted from the point of view of second port */ struct rte_ring *rxtx[RTE_PMD_RING_MAX_RX_RINGS]; - unsigned i; + unsigned int i; char rng_name[RTE_RING_NAMESIZE]; - unsigned num_rings = RTE_MIN(RTE_PMD_RING_MAX_RX_RINGS, + unsigned int num_rings = RTE_MIN(RTE_PMD_RING_MAX_RX_RINGS, RTE_PMD_RING_MAX_TX_RINGS); for (i = 0; i < num_rings; i++) { @@ -429,17 +434,18 @@ eth_dev_ring_create(const char *name, const unsigned numa_node, struct node_action_pair { char name[PATH_MAX]; - unsigned node; + unsigned int node; enum dev_action action; }; struct node_action_list { - unsigned total; - unsigned count; + unsigned int total; + unsigned int count; struct node_action_pair *list; }; -static int parse_kvlist (const char *key __rte_unused, const char *value, void *data) +static int parse_kvlist(const char *key __rte_unused, + const char *value, void *data) { struct node_action_list *info = data; int ret; @@ -553,8 +559,8 @@ rte_pmd_ring_probe(struct rte_vdev_device *dev) kvlist = rte_kvargs_parse(params, valid_arguments); if (!kvlist) { - PMD_LOG(INFO, "Ignoring unsupported parameters when creating" - " rings-backed ethernet device"); + PMD_LOG(INFO, + "Ignoring unsupported parameters when creatingrings-backed ethernet device"); ret = eth_dev_ring_create(name, rte_socket_id(), DEV_CREATE, ð_dev); if (ret == -1) { @@ -598,7 +604,7 @@ rte_pmd_ring_probe(struct rte_vdev_device *dev) goto out_free; info->total = ret; - info->list = (struct node_action_pair*)(info + 1); + info->list = (struct node_action_pair *)(info + 1); ret = rte_kvargs_process(kvlist, ETH_RING_NUMA_NODE_ACTION_ARG, parse_kvlist, info); From patchwork Tue Apr 23 16:53:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 53012 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9B0A51B486; Tue, 23 Apr 2019 18:53:52 +0200 (CEST) Received: from mail-pf1-f193.google.com (mail-pf1-f193.google.com [209.85.210.193]) by dpdk.org (Postfix) with ESMTP id 3F7225F51 for ; Tue, 23 Apr 2019 18:53:47 +0200 (CEST) Received: by mail-pf1-f193.google.com with SMTP id i17so7786529pfo.6 for ; Tue, 23 Apr 2019 09:53:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=62W36ynNMKSTZgtQuhWc9PSZc0VPxhnbMciWt9vJ8bE=; b=B6vjUJvTH4zO2cRxNFnHr3m0WbM5epaG2ph1mdIHCIYkTN6jJ1I1jF54aAp5/44ace DBR8XaQ6L52oxqxSsWRgIb3uhHZ856D8QkeZSPHXrJjVGnLZ5oMpWuT4uYeQHtxz286e 3qJdF/cFC4xz8DZotMqISNbjWfIvE6Yu+rQJiGmFYPH9F/8xERWxhlFYndJR7FG1yOYV iPH9twYUAQ9BxRDq4nRHN9kv2b4SrQnlPCcBk7Wl69ovOSQVcbh9ba7XfT/hnLm/0IwB FJtXbq4L35ETgxYrE3Kvkor6fQg/yDQrtIWtqvB/ghGoqTbnoO4hd2wbRHFUybFoyPFI uHKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=62W36ynNMKSTZgtQuhWc9PSZc0VPxhnbMciWt9vJ8bE=; b=MU7Gi77tmkbr3wTpRntedkF+lEErBbJz6Vua7Bx7M+TeF0FdcfYHcHXy5VJjEY6Bs3 Q3dkfkrkCp1cTsBEhNFcta0ttkjJyFP2HkG5ircepI4T30lkmg67J0pyibfbSNaE9+m/ vmqWybt9nSyYER12ne8V4eMF+K2MSKuAn763BTmTRpK48QMxjsyTzWYtkrOJu+8RNdO8 7lu4jjKCwXJuyCFt5LJhQBjLF+eaS8UtbZ8qcU2nv1iCwtjUBDTjRNo48v5Vc7fUE9qn oJYc+pQ9jAzatVvaelaRGoOVrvdQClDG8KgulwogbO8UfNu3N5hJip02DcsWywRGQKwR pR3w== X-Gm-Message-State: APjAAAWmPXhCzPcolDA6BEeRyqJsvpHELNSOHVVDpd6zCUGAHIWxH/uR 0DNb6Opm8aUGwoUjMrQrba6skpRObOI= X-Google-Smtp-Source: APXvYqzIfMtLgmI7ouO4fIMwSzd9j1nE2U2ifrIqdQg3gURAAajZkAB46aJoN1zssEWbuRsDr53bow== X-Received: by 2002:a65:62c9:: with SMTP id m9mr25649990pgv.309.1556038426235; Tue, 23 Apr 2019 09:53:46 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id 71sm47194750pfs.36.2019.04.23.09.53.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 23 Apr 2019 09:53:45 -0700 (PDT) From: Stephen Hemminger To: bruce.richardson@intel.com Cc: dev@dpdk.org, Stephen Hemminger Date: Tue, 23 Apr 2019 09:53:33 -0700 Message-Id: <20190423165335.4025-3-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190423165335.4025-1-stephen@networkplumber.org> References: <20190423164812.3427-1-stephen@networkplumber.org> <20190423165335.4025-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 2/4] net/ring: use sizeof() with snprintf X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Don't hard code string length in two place; use sizeof() instead. Ring name shoudl use RTE_RING_NAMESIZE. Signed-off-by: Stephen Hemminger --- drivers/net/ring/rte_eth_ring.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c index 91e5f5f8f262..2e4ca3b16a1c 100644 --- a/drivers/net/ring/rte_eth_ring.c +++ b/drivers/net/ring/rte_eth_ring.c @@ -362,8 +362,8 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[], .numa_node = numa_node, .addr = &args, }; - char args_str[32] = { 0 }; - char ring_name[32] = { 0 }; + char args_str[32]; + char ring_name[RTE_RING_NAMESIZE]; uint16_t port_id = RTE_MAX_ETHPORTS; int ret; @@ -381,8 +381,9 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[], return -1; } - snprintf(args_str, 32, "%s=%p", ETH_RING_INTERNAL_ARG, &args); - snprintf(ring_name, 32, "net_ring_%s", name); + snprintf(args_str, sizeof(args_str), "%s=%p", + ETH_RING_INTERNAL_ARG, &args); + snprintf(ring_name, sizeof(ring_name), "net_ring_%s", name); ret = rte_vdev_init(ring_name, args_str); if (ret) { From patchwork Tue Apr 23 16:53:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 53013 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C931A1B4E3; Tue, 23 Apr 2019 18:53:56 +0200 (CEST) Received: from mail-pf1-f195.google.com (mail-pf1-f195.google.com [209.85.210.195]) by dpdk.org (Postfix) with ESMTP id A548E1B0FC for ; Tue, 23 Apr 2019 18:53:48 +0200 (CEST) Received: by mail-pf1-f195.google.com with SMTP id 9so7771988pfj.13 for ; Tue, 23 Apr 2019 09:53:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=e2OAOyI51TjoT/4QB1GtTC1iGYMT4d/z1QSisRfvmcw=; b=Kd6cabj142ar0x+I/SgKoJtqcjHKYLkF/X7ka0tgb62IAZSQRidrgaTVwMqJZ3C6gA BlP3R1Aw7CO3FszRliJUfOh07xJ6b5KrXx0VbzSGjDmU7q04387THK7QYlfdFPCX7ub8 OonMZpALlppl7fSXjI/MntIA2YrFYHm1H53YUd4o9/uDKERZgPqn9g5Bsuf9leEQdoyZ L9C7ZnSgx/6ntUSnSwlMx+UMUVqE8NXukyneBQwUgQBBZZxlxbUklTIj8Y3ii5mgqs2d YD7/1aVJPXAbeaiJcs5YkDHGhkB6G7hpN1eh76O0qBs04l8snmbutUir63bTvfbgZjQQ /+5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=e2OAOyI51TjoT/4QB1GtTC1iGYMT4d/z1QSisRfvmcw=; b=qLRycfGY8zNWBC4hHMiMLKvbs/cyxy1XToZ4BXty6UL0YgG4p2w4epW8xT4/vm9uUd /Yx+p7h99lB4hzNjuO3iJhdTdlO3NkHXlu3SnfneE69bMx8WDZCeCAOUJ1gg9TCNOA7P vnfq5lYH6fjniYElyBVu4NnUN9RVInlx4yg9l6hao5xpkdUj94s6EXXiAQ15tj4Y6Dph wDTMdm4QsHCR2nHpp4jMxrOqbuI8yuaUkGdIJSZ7g5DGNO9YlQrfZxF9PWG1qdMIu1DJ n3xfCasFB5gpLa/qqbik8gbuQ7y1waIjMDuq/B8xtYZBn70X4LCjmrYmimIOlk2XT5oy eLJw== X-Gm-Message-State: APjAAAUgNx25CMurs0GuwI6Qv0pXjxM60omANZMA2WknvWR0/LyKrI2h ho0aLEsHTNcYAoB9kXp0/ldjgcmtyWQ= X-Google-Smtp-Source: APXvYqyrBtenf8wbps/1u13Oi3PLebBn2e2wWvoKENArhzdFXarHCXyz7Oc4eDAQ1WMTgqdziI3Avg== X-Received: by 2002:a62:4351:: with SMTP id q78mr27334923pfa.86.1556038427902; Tue, 23 Apr 2019 09:53:47 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id 71sm47194750pfs.36.2019.04.23.09.53.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 23 Apr 2019 09:53:46 -0700 (PDT) From: Stephen Hemminger To: bruce.richardson@intel.com Cc: dev@dpdk.org, Stephen Hemminger Date: Tue, 23 Apr 2019 09:53:34 -0700 Message-Id: <20190423165335.4025-4-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190423165335.4025-1-stephen@networkplumber.org> References: <20190423164812.3427-1-stephen@networkplumber.org> <20190423165335.4025-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 3/4] net/ring: use rte_calloc_socket X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Use rte_calloc_socket instead of computing size. Signed-off-by: Stephen Hemminger --- drivers/net/ring/rte_eth_ring.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c index 2e4ca3b16a1c..0355f2b7c4d8 100644 --- a/drivers/net/ring/rte_eth_ring.c +++ b/drivers/net/ring/rte_eth_ring.c @@ -270,15 +270,15 @@ do_eth_dev_ring_create(const char *name, PMD_LOG(INFO, "Creating rings-backed ethdev on numa socket %u", numa_node); - rx_queues_local = rte_zmalloc_socket(name, - sizeof(void *) * nb_rx_queues, 0, numa_node); + rx_queues_local = rte_calloc_socket(name, nb_rx_queues, + sizeof(void *), 0, numa_node); if (rx_queues_local == NULL) { rte_errno = ENOMEM; goto error; } - tx_queues_local = rte_zmalloc_socket(name, - sizeof(void *) * nb_tx_queues, 0, numa_node); + tx_queues_local = rte_calloc_socket(name, nb_tx_queues, + sizeof(void *), 0, numa_node); if (tx_queues_local == NULL) { rte_errno = ENOMEM; goto error; From patchwork Tue Apr 23 16:53:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 53014 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2FE801B4F0; Tue, 23 Apr 2019 18:54:00 +0200 (CEST) Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) by dpdk.org (Postfix) with ESMTP id 8FDAD4CA7 for ; Tue, 23 Apr 2019 18:53:50 +0200 (CEST) Received: by mail-pf1-f194.google.com with SMTP id w25so7781969pfi.9 for ; Tue, 23 Apr 2019 09:53:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=uOyDKtvz7UbmBWCKoGXvUGPdqVmyNcBK16SpXqQX4cc=; b=aPQvCCt6ZBCxmBZ37xM7D/65eunzjFrBOyVP/p1n8zPZqG1HAuErQBpEHKQuZMtMWJ YTmLWamqpVmLx/8ch6s5iltLY7k8MD0Pyf8PWtQCHm/Oxg69j5f0Jy0418khsx8Us3sj qvnpq0G4WrG2zEOG8pZmjNdipKmyWCoxrzOUeCfSFFUIind+HS9iSFPjkcGyRFwY3Ca6 diotKqibx2+Q/eSSg/2g7lVtH71+HL1vQ/su2sX/9h1uAKq51hTEKn0CD2m5excLVJ8d A5EGBGoPNWTdn/6lzrpNTWTi5F8VmRU8Mu8jaI738GWfsjH2rlXSIsdl8k0hSCiqNJC1 BBcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=uOyDKtvz7UbmBWCKoGXvUGPdqVmyNcBK16SpXqQX4cc=; b=AjSML8x2UOZRgpiL3edTKA/kUWPuZzO5WuuMjI+TOicZu4ny58VnQagvQ32LzOiWYI PPVv7F3L8749TNB7aUHIUNrKp+mdbTfCwQPoKQ725kK+HsV9a6pdLi6vIVaozY8cPZOE ehgZ9D6tMwip0QpKvjgKCjXDh7Tu+5YCexi4flA1dO6piLFDCLgM6pKtpZPbcCVarPjF Gix/pHZlYj3FEzmKs7i667aKY4zwK9SvuXlttFVPgaHMwKmGx7xcfp8QXRsRzFOZQSy5 B0aMvSpjH1aLykrB1TToUyP9BEa2Ny84pK/67UpxDhdkIv9HsiHJb+NOLC79ltZ6366a rlJg== X-Gm-Message-State: APjAAAWuhSeDayt8o5lvisedhCwHYobH65j9YnC6kszdfKx6OqrE4Coy szLK9+4noJNJ9EQmQ34ba8VgKA== X-Google-Smtp-Source: APXvYqw+il1jO/8li5BBYPsOHa/dR3SgOyViPxFwdgCMRuy5zDnPmwIKS0vL3iozpA654F+kBve+ag== X-Received: by 2002:a63:6fcd:: with SMTP id k196mr25424457pgc.238.1556038429736; Tue, 23 Apr 2019 09:53:49 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id 71sm47194750pfs.36.2019.04.23.09.53.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 23 Apr 2019 09:53:48 -0700 (PDT) From: Stephen Hemminger To: bruce.richardson@intel.com Cc: dev@dpdk.org, Stephen Hemminger Date: Tue, 23 Apr 2019 09:53:35 -0700 Message-Id: <20190423165335.4025-5-stephen@networkplumber.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190423165335.4025-1-stephen@networkplumber.org> References: <20190423164812.3427-1-stephen@networkplumber.org> <20190423165335.4025-1-stephen@networkplumber.org> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 4/4] net/ring: check length of ring name X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The ring name is passed in as part of this drivers API, but it doesn't check that the name is not truncated. Signed-off-by: Stephen Hemminger --- v2 - fix whitespace creep drivers/net/ring/rte_eth_ring.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c index 0355f2b7c4d8..979993fd3e11 100644 --- a/drivers/net/ring/rte_eth_ring.c +++ b/drivers/net/ring/rte_eth_ring.c @@ -383,7 +383,12 @@ rte_eth_from_rings(const char *name, struct rte_ring *const rx_queues[], snprintf(args_str, sizeof(args_str), "%s=%p", ETH_RING_INTERNAL_ARG, &args); - snprintf(ring_name, sizeof(ring_name), "net_ring_%s", name); + + ret = snprintf(ring_name, sizeof(ring_name), "net_ring_%s", name); + if (ret >= (int)sizeof(ring_name)) { + rte_errno = ENAMETOOLONG; + return -1; + } ret = rte_vdev_init(ring_name, args_str); if (ret) { @@ -417,7 +422,15 @@ eth_dev_ring_create(const char *name, const unsigned int numa_node, RTE_PMD_RING_MAX_TX_RINGS); for (i = 0; i < num_rings; i++) { - snprintf(rng_name, sizeof(rng_name), "ETH_RXTX%u_%s", i, name); + int cc; + + cc = snprintf(rng_name, sizeof(rng_name), + "ETH_RXTX%u_%s", i, name); + if (cc >= (int)sizeof(rng_name)) { + rte_errno = ENAMETOOLONG; + return -1; + } + rxtx[i] = (action == DEV_CREATE) ? rte_ring_create(rng_name, 1024, numa_node, RING_F_SP_ENQ|RING_F_SC_DEQ) :