From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <stable-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 899A1A0548
	for <public@inbox.dpdk.org>; Thu,  2 Jun 2022 10:21:28 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 6845540E0F;
	Thu,  2 Jun 2022 10:21:28 +0200 (CEST)
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100])
 by mails.dpdk.org (Postfix) with ESMTP id D3CC94021E;
 Thu,  2 Jun 2022 10:21:24 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
 t=1654158085; x=1685694085;
 h=from:to:cc:subject:date:message-id:references:
 in-reply-to:content-transfer-encoding:mime-version;
 bh=dhI4A+CB6UQF0KaHck2bYbfJMV1sFUk3gWShAD2oCMY=;
 b=YXgdcQo/3rxYqXOFa7eld1Izk6C7kK5uPNdO0yt4IjGIe2v6FMkuf1/Y
 FwWuOFI5NvPIi2+pANpraVzfrj0aEV6vFe03q5iiEWltmjEvaWbeqFq5C
 +VjPNlfw3693V9wJkIm1+ZwKkFH3A0ycKWjoI08EqF8TOMoY0rtrAvDaI
 Rnl7WrB4E3t4TmnH/oUDMxNam9BSrK15HFlLhcqEliyYOjjtAwOIm3mU6
 vgQrATsWH0gVnFgMQSygVUEz/+JqNlwoZvE1d86jbouhBK3ACWkCQUr85
 DF2koo38PYwf4ZlMxlpSwWqefOynixUSJJ8FuXjgf9kzp4POvfJZJAX+k Q==;
X-IronPort-AV: E=McAfee;i="6400,9594,10365"; a="338920886"
X-IronPort-AV: E=Sophos;i="5.91,270,1647327600"; d="scan'208";a="338920886"
Received: from orsmga004.jf.intel.com ([10.7.209.38])
 by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 02 Jun 2022 01:21:23 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.91,270,1647327600"; d="scan'208";a="707463050"
Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82])
 by orsmga004.jf.intel.com with ESMTP; 02 Jun 2022 01:21:23 -0700
Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by
 fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.27; Thu, 2 Jun 2022 01:21:23 -0700
Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by
 fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2308.27 via Frontend Transport; Thu, 2 Jun 2022 01:21:23 -0700
Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.49) by
 edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2308.27; Thu, 2 Jun 2022 01:21:22 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MPHK9wjV7Y/8lJpX/MkEPXFn0YUSfYoBSUswMsofFZwjGReTs17JGvnjuvZe71CS4guZbQlzmPUbTOB/3Dc5vdlJeKoMIv1RYkde0J91OFNWuENh8Mb8/e8ZaLasUiJ26V2vWGb3f3cLImB0Lq3cjvx6XcH154zLM3Abp04AYnlt4xcSknrpVj8S3LlppEZmcFPheup3EdDaCkYSLd3D25vFVlqvAQwTKdvaTuqO8jedQWgZc18LrCBOOCjL3Dko3SCUb9IhiPu/Zg1MGbJPiIK6W5d1z3SmTGm/Wyv6/oSFTvLjAHKpzQhnzC+3lmCd492RNlQl/WuMqWDr9ZftsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=biyTcSGaE1tAVtcl26j57Vjqvq0bQweYG45CN3VIq5I=;
 b=brHfWYFWzmoG/ek+m8qIWcRlaMFg/XMOa01yLAZy7erC/7gBe+j8B+Ro35iDGTgNpL4t7vuZm+UoVcAqhCkoCznrHzezRjOErDikmdrVvZpvzBKxO4h7tmyuITpdXGkWhHllRfx5xL5t4SgeOGB8GQN144wWcTLfK1RGr7wIyEhIEbgAARIRqgX6c4JUgM/qrX5FAI8Rg2YzWFz1xKkeFbEpKb2/QagcvuEdTHiKr1a4NDjtrOIaUcJFvSfZ2/+WAIvLm3L1H/jbOU9HX2rC4cpFJ489UnOF/9kneWjoRv3EONksqxKA/LnX26IqKf8TzPlSUrRogmwyYS1uxsnICA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
Received: from CO6PR11MB5602.namprd11.prod.outlook.com (2603:10b6:303:13a::5)
 by BN7PR11MB2676.namprd11.prod.outlook.com (2603:10b6:406:ac::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5293.16; Thu, 2 Jun
 2022 08:21:19 +0000
Received: from CO6PR11MB5602.namprd11.prod.outlook.com
 ([fe80::a0a0:842:e19d:e5df]) by CO6PR11MB5602.namprd11.prod.outlook.com
 ([fe80::a0a0:842:e19d:e5df%7]) with mapi id 15.20.5314.013; Thu, 2 Jun 2022
 08:21:19 +0000
From: "Zeng, ZhichaoX" <zhichaox.zeng@intel.com>
To: Stephen Hemminger <stephen@networkplumber.org>
CC: "dev@dpdk.org" <dev@dpdk.org>, "Yang, Qiming" <qiming.yang@intel.com>,
 "Richardson, Bruce" <bruce.richardson@intel.com>, "hkalra@marvell.com"
 <hkalra@marvell.com>, "david.marchand@redhat.com"
 <david.marchand@redhat.com>, "aconole@redhat.com" <aconole@redhat.com>,
 "Matz, Olivier" <olivier.matz@6wind.com>, "thomas@monjalon.net"
 <thomas@monjalon.net>, "stable@dpdk.org" <stable@dpdk.org>
Subject: RE: [PATCH v3] lib/eal: fix segfaults due to thread exit order
Thread-Topic: [PATCH v3] lib/eal: fix segfaults due to thread exit order
Thread-Index: AQHYc+jZCxt9Qc+HpEe/EKl0LmAnw603nOAAgAQklbA=
Date: Thu, 2 Jun 2022 08:21:19 +0000
Message-ID: <CO6PR11MB56021FC82CD83A551B6682ACF1DE9@CO6PR11MB5602.namprd11.prod.outlook.com>
References: <20220523111642.10406-1-zhichaox.zeng@intel.com>
 <20220530134738.488602-1-zhichaox.zeng@intel.com>
 <20220530092852.54638bdf@hermes.local>
In-Reply-To: <20220530092852.54638bdf@hermes.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4c00cc81-d787-4089-eb6c-08da4470def2
x-ms-traffictypediagnostic: BN7PR11MB2676:EE_
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-microsoft-antispam-prvs: <BN7PR11MB267663D53B246A449596A90BF1DE9@BN7PR11MB2676.namprd11.prod.outlook.com>
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: MVuPN3id2tFkgZpD8AgP71RwvDe5XESmwJmfCNFP2KW50sTPav65nfOsMr8Z6VIQV5tKC4aZkDhjiWWnZsgE/Kep5Hwn+XXYXgdgKdnRn8QHrx8sXDUhQ47cFk9be/fC+8pWBXUcCOO4NixPtAv6/oRtlWKXe1qT69rIZ7vIVwQfb8la7wa9VnnTw3ByK1w/seB4Vmjd/DbVwh4Uyun2LhsUvxSleZHeaeoTka6FMZg2iQ5IPQX/R1LqrKvki9E5GihkCdutyyxLcvBPFXu3u352LLfsIwj/ahrrm9+VQP2RA+fjHaa4rssT3vz4TP9ZU+QDE/b4foJTE/Nzvo+W+Z/UWODueZ6pI11PlrZgZeqmW0HrTDryr+5EsvdI+btRm4xB6bkW/mWDtqqi3JghxS8a5r4Gh/SszhQx0u7ybS2OYUY4pYj/eypMNjtgkmCV/Jcw7cZqXMFAPRAknshbRGLr38nO4V9vxhxLD8Sci2S0Z6PrEF7lX38/SYrn9lCzY8EtusxyJy5NDoCiddtDq2+nPjiTUTypvU3e9p6FEKbJaoeD7eVt2fQzbs/E/XcgM8zdkeMrgL4bItKoLEwBM0LO3QR0GmW0IY+rDIT8DR/ppb3HB+NkQZoiqreumCis+nio3B2lgeV7vVt3eVrY2j4vlD6uQQgJSRskHhdawrXeSurVElKhuklTzh95QwShRH8bbeshWMXbHP5D1THOJA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:CO6PR11MB5602.namprd11.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230001)(366004)(6916009)(316002)(2906002)(83380400001)(33656002)(122000001)(26005)(6506007)(186003)(5660300002)(7696005)(9686003)(53546011)(71200400001)(8936002)(52536014)(55016003)(508600001)(76116006)(82960400001)(4326008)(66556008)(54906003)(38070700005)(38100700002)(66476007)(66946007)(66446008)(86362001)(64756008)(8676002);
 DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?NNpvJRvAtMDPBFDJB/s65HFcCCL0fMf8qcfh3wY3N41/zoAOZiUQDcc/JhQ+?=
 =?us-ascii?Q?qaaOhlEIEr5w/g49cO4XTM+D0OnEHR3knwf0kwmADESIKBds82RNCQSne+0Q?=
 =?us-ascii?Q?UsZ3ahnSqJSiU6Ine4kKqUifUbhcHgCJYrKAI1+Q55QQShXEXfCC9gpGmLXP?=
 =?us-ascii?Q?lxnfbO5P0ubjah3o8gXUh4sWXwvT2TH5hTuLBoABa/HIjM3R97LaDNTcd9iG?=
 =?us-ascii?Q?V2CgA8v/pCxpA3FS4eyB7A8rhHjkSjmaufCubxQ4zqjIh99jz8bcrlsoGywO?=
 =?us-ascii?Q?u5LdNbppFdVMN6a634FbMomglookIcVK2Q5EDxf2gXh5l4cMfsJ4CxPdxg5t?=
 =?us-ascii?Q?1fT6di6K9AaJdW6Hm5pP/F66wfzspCh+u9A8L12JD4sUGlUCOAIVzH7FJKjU?=
 =?us-ascii?Q?kAXknkb1CHzKiSm8ExJrkVyFXYE9uvYmGO2OZRcOFXu1D1f37YAqtXim3h2t?=
 =?us-ascii?Q?aTRrl+EMTcLBW4rnux0Oz8gPrzvzJcb/Vw+nyfIUoDDli7Vh41xTfc+NeysU?=
 =?us-ascii?Q?LVe0qMphg7lFFC1j6xbNVtKEgJXoe3fl+BlR/KIYGY7i+IwZ0Ejb/0YzG27d?=
 =?us-ascii?Q?tAbr9hAMRKogHre9kxXbpSOV1PEmKmSCnUOlQnZq6TuXNp7hzNvshZP4sz3u?=
 =?us-ascii?Q?lEqcTbUlq0tEMEDWf/UNT3uXVPB92D9/URM/tMooWH2Ipq/huQXpTXvHmAWy?=
 =?us-ascii?Q?oVaooQ8mdsy+wd5ExB2jrCWpetu9/CaLqn9JDnO+yRS10n6W/+d9znXfDz7b?=
 =?us-ascii?Q?5g0Kawj/366xJ+e4bAYpD7hs5ONZuuBlGGWKP+e+Y/xP+o3mIeOoVLBVJrEH?=
 =?us-ascii?Q?alXQ+7mtB3+IvwZiBaxIfLlXV4yaSlXXoKfDnLC7sNHRqlL1MKNgrVgeD4Vs?=
 =?us-ascii?Q?ma/ujxyDOwHLUnqrvAVVYp+f7BfVn1UJlNovzivzphKKmaCO8DhzGnnX+pH5?=
 =?us-ascii?Q?BJ87FVuhAvOc1kbwPX4b095t9GsoQIfC2R6TeANNB5Td9ivHFh8oHQ7TJYE5?=
 =?us-ascii?Q?A3E2zHsTqV+gr8usyfuKSUE4PjpZSEEFmCeDXrA5xgKxU+1JTwM0InL/W58a?=
 =?us-ascii?Q?sY/tZt9QFcYYA3RcpjP5+TQ8Z8ZXhiOrlxSrxukV3gE3NK6l11Ze7s8ABQVJ?=
 =?us-ascii?Q?kYXCseszO2tYI7FJ+kAy54j0tWJd0COOq5ZtOD7TXoA1GgeWCG4AF9mChua+?=
 =?us-ascii?Q?KhUdqfHodGMAzWrLd8KXuPM5HQunOvU7Jd+94VDulxcCnDJNGO9h5oe+Cwtx?=
 =?us-ascii?Q?sGglYhHVOHXRZ7upmXT5cEB56ukjA3fDV+DH4+XrdOILQ/shuYQGsZ/thR1+?=
 =?us-ascii?Q?SoyopfpAbUd/OQOK4t+mXbDhwPRXXVaOQlQyQsdcSu5P53Hy2LlRMYYr6dqH?=
 =?us-ascii?Q?4LQlcFS63Pnkh9CqNh9C6ncI7RclvsYTGUn46UnjSLScNDO0MS9yCqHRbY5s?=
 =?us-ascii?Q?d1SzJwPB2dC4+UiLSxjD8ubw84CRst23JeZiOj1R8uoU5MYbqNTC+T+GEweU?=
 =?us-ascii?Q?RRhS4Tyv9MCRNfl83RjoM3Aawlv65WdA3DAvsFlNVK6XkeoSkT4RjJw9W1Sw?=
 =?us-ascii?Q?YFbPx8Ly/hFKH64qh9y9aT1pdwxUwVtuQoQQYZrxpZzM4Tk1Oy78vfrKSISm?=
 =?us-ascii?Q?IZSDIUCiHidF5HWvcAuL8QIGVNlFaoy78yxsDgbcYuzdmY44857M0svm1Yjb?=
 =?us-ascii?Q?UwOwjzR0OZFlrsBM3VP0WOh1+AoVkgHBeQrPbmGpIfr/xdAKABnZkjf8KUeA?=
 =?us-ascii?Q?uoIOaDhiww=3D=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5602.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c00cc81-d787-4089-eb6c-08da4470def2
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jun 2022 08:21:19.3678 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: roL7FZUa+5SWRIg6zod6jB5LR5QiZ1OhduhTtjnxBfY5WorEiXaDiVLplH66SY26HMX/q7NR591vskOHa/431Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN7PR11MB2676
X-OriginatorOrg: intel.com
X-BeenThere: stable@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: patches for DPDK stable branches <stable.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/stable>,
 <mailto:stable-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/stable/>
List-Post: <mailto:stable@dpdk.org>
List-Help: <mailto:stable-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/stable>,
 <mailto:stable-request@dpdk.org?subject=subscribe>
Errors-To: stable-bounces@dpdk.org

Hi Stephen:

> -----Original Message-----
> From: Stephen Hemminger <stephen@networkplumber.org>=20
> Sent: Tuesday, May 31, 2022 12:29 AM
> To: Zeng, ZhichaoX <zhichaox.zeng@intel.com>
> Cc: dev@dpdk.org; Yang, Qiming <qiming.yang@intel.com>; Richardson, Bruce=
 <bruce.richardson@intel.com>; hkalra@marvell.com; david.marchand@redhat.co=
m; aconole@redhat.com; Matz, Olivier > > <olivier.matz@6wind.com>; thomas@m=
onjalon.net; stable@dpdk.org
> Subject: Re: [PATCH v3] lib/eal: fix segfaults due to thread exit order
>
> On Mon, 30 May 2022 13:47:38 +0000
> zhichaox.zeng@intel.com wrote:

> > @@ -883,6 +896,8 @@ rte_eal_init(int argc, char **argv)
> > =20
> >  	eal_mcfg_complete();
> > =20
> > +	pthread_atfork(NULL, warn_parent, scratch_child);
> > +
> >  	return fctret;
> >  }

> There are lots of other cases where DPDK will die if you fork() in a DPDK=
 process then call DPDK functions in child.=20

> Not sure what the problem you are trying to solve is?

The original goal of this patch was to cancel eal-intr-thread before memory=
 cleanup to avoid a small probability of segfaults.=20

But in the debug_autotest test of dpdk-test, fork() is called and the exit =
process is tested in the child process which will call the rte_eal_cleanup =
function and mistakenly clean up non-existing threads. This will cause segm=
entation fault.=20

Based on patch v2, atomic operation is added to determine whether it is a c=
hild process, so that the cleaning process will not execute in the child pr=
ocess to avoid the above problem.

Regards