From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH] eal: fix floating device argument pointer Date: Mon, 22 Oct 2018 09:25:22 +0200 Message-ID: <1576298.HKmtsfqzoT@xps> References: <20181022054932.39052-1-qi.z.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, gaetan.rivet@6wind.com To: Qi Zhang Return-path: Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by dpdk.org (Postfix) with ESMTP id 0366D4CA5 for ; Mon, 22 Oct 2018 09:25:21 +0200 (CEST) In-Reply-To: <20181022054932.39052-1-qi.z.zhang@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 22/10/2018 07:49, Qi Zhang: > After we insert a devargs into devargs_list, following bus->scan may > destroy it due to another rte_devargs_insert. Its better not to use > a devargs pointer after it has been inserted. I think the problem is in: rte_devargs_insert(struct rte_devargs *da) { int ret; ret = rte_devargs_remove(da); if (ret < 0) return ret; TAILQ_INSERT_TAIL(&devargs_list, da, next); return 0; } We insert a structure which is freed! See http://git.dpdk.org/dpdk/commit/?id=55744d83d525 Gaetan, what can be the fix?