From patchwork Thu Feb 28 22:47:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 50688 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 2460A4C93; Thu, 28 Feb 2019 23:48:02 +0100 (CET) Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) by dpdk.org (Postfix) with ESMTP id 6E2CA37A2 for ; Thu, 28 Feb 2019 23:48:00 +0100 (CET) Received: by mail-pg1-f196.google.com with SMTP id u9so10417631pgo.7 for ; Thu, 28 Feb 2019 14:48:00 -0800 (PST) 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; bh=Q0mduZvXkrFQCroWkgq//tW95KUAvdvTap2FtPQLIQY=; b=qb3qr0K6BMZ9mWrk+bT3Cvc+RS8rascR1hc1g4hlnpVs1l8qabSPjwaRJIW45umI6z EzzDzIuPsH0rWw2Xqx+/PMAB4rkq7oBJjNY73jeJmZXchkB7aB4eeuCSloomsyezac4w 1xN3kyWm9ofUF6/0vL4f6pZ6e4OHhKSH45gAkHnKcYVT/Wa3CjavExjid0as6I/cnjST uadzupf5AzCI8/COqPBo1vzyFRCwR1kyjqap57xA+moso+puCw6zQocqN/TSA9DCQT/4 I1rhBoAVdHH8Mh0DvEV4IMUbsFF1T13q3qqegmMGZEK2Dh+71epLtUh9EnIvZy5vAeOO 2s0g== 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; bh=Q0mduZvXkrFQCroWkgq//tW95KUAvdvTap2FtPQLIQY=; b=Jv+tnEhnJ37d3Xfa1NFlfFn9Ir0LarLHpOVH1g5s7aeCxYaQ9mW0YV5dBXh4rr0Pds cBuLJmyFeWVXs8MWHjaVnrMwPQIC2Ur7t/+COhcVhXBUy3aEvweH439OzzH2vPsc6EM5 6GDTKmoyXyB/5+5OcPqyCYyQLRDS4138Y1EgLLNKoCvyny6Xst8iRK0XH7y22ND1/9JW BBW9pY3cRqqtiJdHvmjw06VuovneWpjD/JtYE56vfvQbEQ647haCPhvbx6kcrnd3+Qyz 26g5UbJfH3iMJ4klO8Blap6sTCRfkctHdhiXx3aOFSZPTxAPCyV9SonU8Dzln6z0/34h hCow== X-Gm-Message-State: APjAAAUyPWFTfMh95Z19v6LTkbCBpVD0sRhdnUZyeZEqTBeyaCAXx7/V hlpP7Px/8V1c8UFuqt2HIgmUYHFuTMw= X-Google-Smtp-Source: APXvYqz/8f6ZKnHNaxJC/J1NJlXyh4g+suMkWWE9l8Uk4j5KLjZ0uvZwPRefivgnnv/YO26F5PWyoA== X-Received: by 2002:a65:5788:: with SMTP id b8mr1562685pgr.8.1551394078827; Thu, 28 Feb 2019 14:47:58 -0800 (PST) Received: from shemminger-XPS-13-9360.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id r28sm48550833pgl.72.2019.02.28.14.47.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Feb 2019 14:47:57 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger Date: Thu, 28 Feb 2019 14:47:53 -0800 Message-Id: <20190228224754.26511-2-stephen@networkplumber.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190228224754.26511-1-stephen@networkplumber.org> References: <20190228224754.26511-1-stephen@networkplumber.org> Subject: [dpdk-dev] [PATCH 1/2] ethdev: replace snprintf with strlcpy 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 set_port_owner was copying a string between structures of the same type, therefore the name could never be truncated (unless source string was not null terminated). Use strlcpy which does it better. Signed-off-by: Stephen Hemminger Acked-by: Andrew Rybchenko --- lib/librte_ethdev/rte_ethdev.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c index 85c1794968dd..95889ed206db 100644 --- a/lib/librte_ethdev/rte_ethdev.c +++ b/lib/librte_ethdev/rte_ethdev.c @@ -585,7 +585,6 @@ _rte_eth_dev_owner_set(const uint16_t port_id, const uint64_t old_owner_id, { struct rte_eth_dev *ethdev = &rte_eth_devices[port_id]; struct rte_eth_dev_owner *port_owner; - int sret; if (port_id >= RTE_MAX_ETHPORTS || !is_allocated(ethdev)) { RTE_ETHDEV_LOG(ERR, "Port id %"PRIu16" is not allocated\n", @@ -609,11 +608,8 @@ _rte_eth_dev_owner_set(const uint16_t port_id, const uint64_t old_owner_id, return -EPERM; } - sret = snprintf(port_owner->name, RTE_ETH_MAX_OWNER_NAME_LEN, "%s", - new_owner->name); - if (sret < 0 || sret >= RTE_ETH_MAX_OWNER_NAME_LEN) - RTE_ETHDEV_LOG(ERR, "Port %u owner name was truncated\n", - port_id); + /* can not truncate (same structure) */ + strlcpy(port_owner->name, new_owner->name, RTE_ETH_MAX_OWNER_NAME_LEN); port_owner->id = new_owner->id; From patchwork Thu Feb 28 22:47:54 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephen Hemminger X-Patchwork-Id: 50689 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 C34BB4CA0; Thu, 28 Feb 2019 23:48:03 +0100 (CET) Received: from mail-pg1-f193.google.com (mail-pg1-f193.google.com [209.85.215.193]) by dpdk.org (Postfix) with ESMTP id 156604C74 for ; Thu, 28 Feb 2019 23:48:01 +0100 (CET) Received: by mail-pg1-f193.google.com with SMTP id b2so10416952pgl.9 for ; Thu, 28 Feb 2019 14:48:00 -0800 (PST) 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; bh=1uw0eBPFavUXgl6AmiN739e1ePJavyWZMxBzApaX7Eo=; b=cnBQI61QxMSPFX9TUfeRtTfoCO4/NdGL98YRqKUYCL1uqZi7olMiAsFX9iD86OL375 s3ijEPqzHMs9AwkKq3o0eBAys2+I16bKvjHf2yrHvHTYdMymS0O400wzaO0nfk66JiGj JhGlsDgPrqwBbw0EAp4H6XUgnjT+oM5NXsSjpmEOX6sU9Vlg+ME3WVsT5Ubo9ZZe6AQV wR+oYxxaypLbu+rzoJ+qyAwtFxhF+a9PQHBsZYw6+03cmJteLklIg0WaiQvYD0oRFL6L v2RaQ8qZGBkE9duMgrAk69Yo0RgmXDyxVo7ljkl261JSg4b/ZpujB/kzB7Bb7zEQg7WX Uj9g== 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; bh=1uw0eBPFavUXgl6AmiN739e1ePJavyWZMxBzApaX7Eo=; b=CjEbqUVOHwY0DWu26q9Hr4yK+GuYOkdD+b15lYMmvI3b0D2+3Gdec2t2NXk8ihSDPT arezaMjx5v8ZHJvZ/9bpRhkv69l283IkjO0Q3FwhM4OCadZeWHXdS3u4ShoPM2ooq1sO IYMy0RXKwHycfFYSsxvBhc3BX6dE8dyvKX+1YUdhLk3/sKiN11F3YCNVQIBIyvXDESXB cejbUWJdEXBQYPTB2vkGq791Ps5DrFBLzRrUIHy6Ok/GLw5FqUTxm/3ee9+2ecwmHbYj byxcWfMCzB7QzjJkkFM+Kw82l28v0gZ54lzi4eSNoDQjm6aDv3J7tSSQTeyUgF8c3lMA 9Nyg== X-Gm-Message-State: APjAAAUqaHjFsxaPBilAo/B2FTORztdthcueB7vUFj7ah5WiyGw/Nzfh ju+CGz1MBjOvv8mQIyagkSI+j0acye4= X-Google-Smtp-Source: APXvYqzm5VjjPnt1dYe5EOBIXF+KMZiOkHXHLcRox0jLeArJVjS4ZCPzrbt5SMckO8ERDasekWDi1w== X-Received: by 2002:a65:5303:: with SMTP id m3mr1569378pgq.292.1551394079940; Thu, 28 Feb 2019 14:47:59 -0800 (PST) Received: from shemminger-XPS-13-9360.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id r28sm48550833pgl.72.2019.02.28.14.47.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Feb 2019 14:47:59 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger Date: Thu, 28 Feb 2019 14:47:54 -0800 Message-Id: <20190228224754.26511-3-stephen@networkplumber.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190228224754.26511-1-stephen@networkplumber.org> References: <20190228224754.26511-1-stephen@networkplumber.org> Subject: [dpdk-dev] [PATCH 2/2] ethdev: use strlcpy instead of snprintf on initialization 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 need to use snprintf for simple name copy. Signed-off-by: Stephen Hemminger Reviewed-by: Rami Rosen --- lib/librte_ethdev/rte_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c index 95889ed206db..8bd54dcf58c1 100644 --- a/lib/librte_ethdev/rte_ethdev.c +++ b/lib/librte_ethdev/rte_ethdev.c @@ -459,7 +459,7 @@ rte_eth_dev_allocate(const char *name) } eth_dev = eth_dev_get(port_id); - snprintf(eth_dev->data->name, sizeof(eth_dev->data->name), "%s", name); + strlcpy(eth_dev->data->name, name, RTE_ETH_NAME_MAX_LEN); eth_dev->data->port_id = port_id; eth_dev->data->mtu = ETHER_MTU;