From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH 1/3] ethdev: fix null pointer checking Date: Wed, 3 Apr 2019 17:35:22 +0100 Message-ID: References: <20190403160726.1231-1-mohammad.abdul.awal@intel.com> <1807422.QXMQecOh3y@xps> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org, arybchenko@solarflare.com, stable@dpdk.org To: Thomas Monjalon , Mohammad Abdul Awal Return-path: In-Reply-To: <1807422.QXMQecOh3y@xps> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 4/3/2019 5:27 PM, Thomas Monjalon wrote: > 03/04/2019 18:07, Mohammad Abdul Awal: >> Null value for parameter name will cause segfault for the >> strnlen and strcmp functions. > > I'm not sure we want such obvious checks for all APIs. > Here I would say yes. These are internal functions, not APIs. I am for verifying input for (all) APIs but not for internal functions, drivers should call them and they are in our control, if they are passing NULL we can fix them :) > >> Fixes: 0b33b68d12 ("ethdev: export allocate function") >> Fixes: 942661004c ("ethdev: export secondary attach function") >> Cc: stable@dpdk.org >> >> Signed-off-by: Mohammad Abdul Awal >> --- >> --- a/lib/librte_ethdev/rte_ethdev.c >> +++ b/lib/librte_ethdev/rte_ethdev.c >> @@ -440,6 +440,11 @@ rte_eth_dev_allocate(const char *name) >> struct rte_eth_dev *eth_dev = NULL; >> size_t name_len; >> >> + if (name == NULL) { >> + RTE_ETHDEV_LOG(ERR, "Null pointer is specified\n"); > > This is a very generic error message. > It might be "Fail to allocate port with empty name" > >> @@ -492,6 +497,11 @@ rte_eth_dev_attach_secondary(const char *name) >> uint16_t i; >> struct rte_eth_dev *eth_dev = NULL; >> >> + if (name == NULL) { >> + RTE_ETHDEV_LOG(ERR, "Null pointer is specified\n"); > > "Fail to attach port with empty name" > > >