From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Wiles, Roger Keith" Subject: Re: [PATCH v2] rte_mempool_dump() crashes with NULL rte_mempool pointer. Date: Wed, 1 Oct 2014 15:57:31 +0000 Message-ID: <993B5C5A-F623-40F7-ADDF-C04D217BB447@windriver.com> References: <05E7C1C5-2730-4BE3-B808-6F69821F7898@windriver.com> <20140928122706.GB30445@localhost.localdomain> <8437457.lrG762lvxy@xps13> <20141001150227.GC24028@localhost.localdomain> <20141001154310.GB9292@BRICHA3-MOBL> Mime-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Cc: "dev-VfR2kkLFssw@public.gmane.org" To: "RICHARDSON, BRUCE" Return-path: In-Reply-To: <20141001154310.GB9292@BRICHA3-MOBL> Content-Language: en-US Content-ID: <78DF6BA69AD78B4FA94BC3F5BBBE04EF@local> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" On Oct 1, 2014, at 10:43 AM, Bruce Richardson = wrote: > On Wed, Oct 01, 2014 at 11:02:27AM -0400, Neil Horman wrote: >> On Wed, Oct 01, 2014 at 03:36:45PM +0200, Thomas Monjalon wrote: >>> 2014-09-28 08:27, Neil Horman: >>>> On Sun, Sep 28, 2014 at 05:28:44AM +0000, Wiles, Roger Keith wrote: >>>>> Check the FILE *f and rte_mempool *mp pointers for NULL and >>>>> return plus print out a message if RTE_LIBRTE_MEMPOOL_DEBUG is enable= d. >>>>>=20 >>>>> Signed-off-by: Keith Wiles >>>>=20 >>>> I'm fine with this, as I think passing in a NULL mempool is clearly a = bug here, >>>> thats worth panicing over, though I wouldnt mind if we did a RTE_VERIF= Y_WARN >>>> macro here instead using what I suggested in my other note >>>=20 >>> Passing a NULL mempool to rte_mempool_dump() is a bug in the applicatio= n. >>> If you look elsewhere in the DPDK code, you'll see that it's not common= to do >>> such check on input parameters. >>> A similar discussion already happened few months ago: >>> http://dpdk.org/ml/archives/dev/2014-June/003900.html >>>=20 >> Not sure what your point is here Thomas. I think we're all in agreement= that >> NULL is a bad value to pass in here. Are you asserting that we shouldn'= t bother >> with a NULL check at all and just accept the crash as it is? >>=20 >=20 > In the general case: > * Code in the datapath should not have things like NULL checks > * However, datapath code should generally have a debug option which turns= =20 > these checks on to help debugging if needed.=20 > * Code not in the datapath probably should have these checks. IMO the last point is the reason for the rte_mempool_dump() check. We could= always add a new macro (if not already defined) that could be compiled out= if not enabled as a debug. I would not want to put =91ifdef=92 around that= code but include the ifdef in the macro/header file. Removing ifdefs from = the code .c files should be the long term goal as a side note. >=20 > My 2c here >=20 > /Bruce Keith Wiles, Principal Technologist with CTO office, Wind River mobile 972-= 213-5533