From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.windriver.com (mail.windriver.com [147.11.1.11]) by dpdk.org (Postfix) with ESMTP id 4ACFBDE4 for ; Wed, 1 Oct 2014 17:50:47 +0200 (CEST) Received: from ALA-HCA.corp.ad.wrs.com (ala-hca.corp.ad.wrs.com [147.11.189.40]) by mail.windriver.com (8.14.9/8.14.5) with ESMTP id s91FvVsD008442 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 1 Oct 2014 08:57:31 -0700 (PDT) Received: from ALA-MBB.corp.ad.wrs.com ([169.254.1.18]) by ALA-HCA.corp.ad.wrs.com ([147.11.189.40]) with mapi id 14.03.0174.001; Wed, 1 Oct 2014 08:57:31 -0700 From: "Wiles, Roger Keith" To: "RICHARDSON, BRUCE" Thread-Topic: [dpdk-dev] [PATCH v2] rte_mempool_dump() crashes with NULL rte_mempool pointer. Thread-Index: AQHP2t0S8e1ctlbauEatlaiZR/WDL5wW7qYAgATKdICAABfygIAAC2AAgAAEAQA= 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> In-Reply-To: <20141001154310.GB9292@BRICHA3-MOBL> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.25.40.166] Content-Type: text/plain; charset="Windows-1252" Content-ID: <78DF6BA69AD78B4FA94BC3F5BBBE04EF@local> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH v2] rte_mempool_dump() crashes with NULL rte_mempool pointer. X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Oct 2014 15:50:47 -0000 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