From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 95EB0A0C4D;
	Mon,  4 Oct 2021 19:43:17 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 1CC34413A7;
	Mon,  4 Oct 2021 19:43:17 +0200 (CEST)
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2133.outbound.protection.outlook.com [40.107.244.133])
 by mails.dpdk.org (Postfix) with ESMTP id A8129413A5;
 Mon,  4 Oct 2021 19:43:15 +0200 (CEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J9vEKOH3D24pUfcMC2RcwnRJNryHKgH35t/34k0Hp4pM5tdUCCxjKgS3YfMrzAopxNjMKrcmOvezXjPUEQ0lT+OPqw7GKwKwkLfOqyTp73NLdUKLbubgzHkvasNj7Q5resTH3i6oAEQ5xtedyKYia6RTILd5+4O30GiGj4thoIrZj57bNa1Idoqb+A3Jx9pE6sTstRmkh0RjBZ9Yz5r7M4vJcQVyxMkbZjTBvePmIbrp2P5UNwkADX0N3jAntVeM+CFAFDtAdPjmKlFzkS9myTsmUwVT4NO3oBp4EQSKighWoUQCUQHZQdyjpIorJBIkjS9gkhODAS6YKY/1PJChXw==
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=cOpsL9NqeY/M/hqktNfq+HOWNP46HRBhE+1PDMEppCU=;
 b=Lc4ce/6M11yOpXEw1mhxvkUFr8igPWJ8lcG8VNOXkSVgvg+g6PbEZti53aYV/MHXTtlyvVFj+GE8rmK/9yPJs/KcXcpgpqKIXXSduc6e9b/2QXxFB2FrflfOVEs0pH9zBnZ+tOowg2CIWfmLejqVSi/DXw9Os2Kic3eWxqF6OD5tIn3D59UjHq69qGt2QVPg8NDS2gT2JImEgH4UmwLyGjKzYjHeipLHw9d8fxZPZ0OplMlNbK/2hYS6ujjmW2c8pqXI7Qmm413OG74u7iqyD5VCGJFZOZzidiR9qEh/cK1VVblsLyF6H7jRG4G8iGCcj8OXbe/dvNfq/+7rVnS2fg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=microsoft.com; dmarc=pass action=none
 header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cOpsL9NqeY/M/hqktNfq+HOWNP46HRBhE+1PDMEppCU=;
 b=TvKC4/kSgzZXLq1Pr9HVjL3K1uShz6hYKgeAwb6TcmkUKscYWqT3taeMGDKJ/wddsvSV1Lb1zZRYQqhZWI63NFR7CdEYH70cu/rLXAKsHx2c3/tqpUhmuLhDaCt4uQi4JR55wHrnCVMOBguuWL3emyn4YKzLEBahFmBLI+PyZvQ=
Received: from BY5PR21MB1506.namprd21.prod.outlook.com (2603:10b6:a03:23d::12)
 by BY5PR21MB1425.namprd21.prod.outlook.com (2603:10b6:a03:237::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.1; Mon, 4 Oct
 2021 17:43:13 +0000
Received: from BY5PR21MB1506.namprd21.prod.outlook.com
 ([fe80::c5e9:9018:e64f:c330]) by BY5PR21MB1506.namprd21.prod.outlook.com
 ([fe80::c5e9:9018:e64f:c330%9]) with mapi id 15.20.4608.002; Mon, 4 Oct 2021
 17:43:13 +0000
From: Long Li <longli@microsoft.com>
To: David Marchand <david.marchand@redhat.com>, "dev@dpdk.org" <dev@dpdk.org>
CC: "aconole@redhat.com" <aconole@redhat.com>, "zhihongx.peng@intel.com"
 <zhihongx.peng@intel.com>, "stable@dpdk.org" <stable@dpdk.org>, Stephen
 Hemminger <sthemmin@microsoft.com>
Thread-Topic: [PATCH v2 1/3] bus/vmbus: fix leak on device scan
Thread-Index: AQHXt6oPw/SpfeKpvEeIrQo+yyEnJavDHv6w
Date: Mon, 4 Oct 2021 17:43:13 +0000
Message-ID: <BY5PR21MB1506CE5F018979ACECFEC120CEAE9@BY5PR21MB1506.namprd21.prod.outlook.com>
References: <20210917082313.21934-1-david.marchand@redhat.com>
 <20211002162432.4348-1-david.marchand@redhat.com>
 <20211002162432.4348-2-david.marchand@redhat.com>
In-Reply-To: <20211002162432.4348-2-david.marchand@redhat.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=ec55fb8b-d105-4dfd-8eee-d5ff156437d6;
 MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;
 MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;
 MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;
 MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;
 MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2021-10-04T17:42:11Z;
 MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47;
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=microsoft.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3eaa8dea-1476-4a52-4b05-08d9875e70af
x-ms-traffictypediagnostic: BY5PR21MB1425:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <BY5PR21MB14259F23E6A388CCF7A31D53CEAE9@BY5PR21MB1425.namprd21.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:4125;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: N06DBQY+eMGQcD1WGPDtrIQM6xa5nmRK+N6vn6vhFRp98tBuvpc8nGOAZXr4VOmGnaSo/0QrvToyvkF1j7eAYbW4fA1mbI6uQDTXc1IouFork/MOmwwKRW5dYGKuQl3H7zY0MVLNa2nNHZVVP3SgZHolaxca/WQ4gADv/adDzGRV9IfLEoOcfBzxuaws+CA/VN5+7e9Gt3jZhWq02BxPMfP1I6hDxU0uLkSToI515aTID6LsAfpdbEfl+kWPPh0/LfUR+lyJGjLeQkO+ttyK4394Y4QPtTOozoznQGZpP0+y6fakW7Grpx06oGJJ+1z4dZiUMY457Qt4s0Wdinw/vHss6vxpWR6b+4d/X91ifETVdj8ttrC1ZI4Rb8gZgf8fUaKQzuXDQHOoBU+0s7O939+hdYEcc1PLMdBnRV7P+/7YnX8ecWKX7wixAcGXA8l9xaPrlLFcgdCYR4pNbf9Sd0IeGi2OiFixxZc9keklB6YFNKQPTSv7pxphgr1IPjaZUUaWIhL2OrPQptiipwFVBx/Qi6n1oakQMcnNHah/v2BHUN0EwlOND91R2FySCUfh8TK/eWoTnyqDvGAH94yzC0hw5DajG5u/bWN6L//BgfMQxmR3GHJ2Lz4MHD5nc1l3k5SA/cncLJl1yhs0SsfLMYqMugsWyF+5KfUDVOBuCyNzZmPzegxrvLSt4pBMKgrUTU4cdamD72mHlyzR9FTNzg==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:BY5PR21MB1506.namprd21.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(4636009)(366004)(6506007)(9686003)(38100700002)(54906003)(316002)(8936002)(107886003)(110136005)(86362001)(38070700005)(82960400001)(33656002)(122000001)(82950400001)(76116006)(66476007)(4326008)(83380400001)(5660300002)(26005)(66946007)(52536014)(64756008)(66446008)(66556008)(186003)(71200400001)(7696005)(10290500003)(508600001)(2906002)(8990500004)(8676002)(55016002);
 DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?I7fRBX/7LtKlwIeXvYQ2ZVBCSv7oJE7YrDiOAy4lGf0CK6oOxel0+mQa/Ght?=
 =?us-ascii?Q?t/Yg9MDxqFgRXNix3mhtiM2oVmOYpsUMcFCTzlnAnXXk3KdjYRG7S89FpXe7?=
 =?us-ascii?Q?qcyGf2Yv7LQOVR9NCpiAFlkpTR4Sfo4nDhbRkkeDZ8tbG2hbGkjM0J7oBaia?=
 =?us-ascii?Q?lXzDpG6/nW7u9tD4LmmbXjrnmYTSNv6wSFPPu48KstTVetFkNJ8MLwTgaG5J?=
 =?us-ascii?Q?cAadjdTFL36RUvFjotP7urkdlsG4OwJXO3/JQIaN/FoPBLmS1vKxPkxRhqZo?=
 =?us-ascii?Q?oaO2IoC1hj1yqRfLvt9dZh+SP7e78hgPYhYxQ6Z0tvI/eevPWSybhMmYY1D3?=
 =?us-ascii?Q?drRgU2YVdoiB5LXLSQ5YRekc5Ljj5DFRFv85Y2FU1qS+YhxTKU35f8O5InVD?=
 =?us-ascii?Q?xrjYtnixXRYagGdLChnLjw/9OgrjZiYWCnGUTsJoJ16TpKIbjaZf8Sg0ZllP?=
 =?us-ascii?Q?7rlMmgtOBSnGnrs63DqZsfR7ImFTpQ2S7wgkIvNESMwSTenA/vRv2z93hxr6?=
 =?us-ascii?Q?tcrSxKrJpatSolH8Nr5lellv++DC8yVU1KVJbefyM/DECo8efAjOGKVkzbbS?=
 =?us-ascii?Q?fcZ/qODP9BngFgTgR3t+qgC7eAS4Qcf2l05d8Q3puuo38trzPI4Jcfcv//Tl?=
 =?us-ascii?Q?jxqd+N9IBuYMxkce/UgNDubivzmApFykWJVnNR0rrXjZwzFTGKKU74+uU5t1?=
 =?us-ascii?Q?QrK01G2eNIpj5vrq2aMVb3TP1QY7juts4Zqi3y+yTeSmOo1z3lTne97nkeJf?=
 =?us-ascii?Q?jIeuxEebwU5sGkNt9+Z1rIF7LEi+/EgL0BJ86eBSp+0AiCNa0bonLKyMbc8p?=
 =?us-ascii?Q?ibftNHZ/ff2gSMfaPvARycdriWxCiE+WruISJz6UqNtFJY/NjvduWnGee+/6?=
 =?us-ascii?Q?IljR57AOSxXoCrKaiPD2ABrt6BKzIXh73r+TPhoz6TDKy/CM6Xoh8L8AhKYO?=
 =?us-ascii?Q?7ypn99J6yyhWHDNg2EqZ2hPmke+ZLsCowyIL5GeCBweQISXwEmhr1Y2JzTt1?=
 =?us-ascii?Q?5oz4Q+1BaepfD4J00ae3Q+A2gf836Pjrag5FTG9odboEp9hsCF45d1imJVtR?=
 =?us-ascii?Q?FZaG93mIcXo72ecYqn0tm6lkq9XFsXjl7Qq2AcRs116DspRL0PZfi0TgbNn7?=
 =?us-ascii?Q?5yR3BGsSk9iaYT+KG8gBJwOfP8/X5X1OxgZmxQ8AWIn6T0b/7XU0zfksad2p?=
 =?us-ascii?Q?ucdx2AT/cREoyiIoAx96IL6ED4Oj0+VZkOtSyLJMD7KhmQMonUxQLjFbeHu0?=
 =?us-ascii?Q?VKWbdRNDHiIEH8PaymYgIH6YSqdEcFwR98CKZA5cr8nQSqQ1qj2+y0vUCLMo?=
 =?us-ascii?Q?9rU=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BY5PR21MB1506.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3eaa8dea-1476-4a52-4b05-08d9875e70af
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Oct 2021 17:43:13.5742 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: AFEDAXgNuRtsQyRu02DqW7A9/RVaDKGLwUifh1qiJGqSFAU+q3Bx/BCTt1eeUT4NlFeFcR0FAEVThj37Tox8Cw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR21MB1425
Subject: Re: [dpdk-dev] [PATCH v2 1/3] bus/vmbus: fix leak on device scan
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

> Subject: [PATCH v2 1/3] bus/vmbus: fix leak on device scan
>=20
> Caught running ASAN.
> The device name was leaked on scan.
> rte_device name field being a const, use a local pointer and release in e=
rror path.
>=20
> Fixes: 831dba47bd36 ("bus/vmbus: add Hyper-V virtual bus support")
> Cc: stable@dpdk.org
>=20
> Signed-off-by: David Marchand <david.marchand@redhat.com>

Thank you.

Acked-by: Long Li <longli@microsoft.com>

> ---
> Changes since v1:
> - left rte_vmbus_device untouched,
>=20
> ---
>  drivers/bus/vmbus/linux/vmbus_bus.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>=20
> diff --git a/drivers/bus/vmbus/linux/vmbus_bus.c
> b/drivers/bus/vmbus/linux/vmbus_bus.c
> index 3c924eee14..68f6cc5742 100644
> --- a/drivers/bus/vmbus/linux/vmbus_bus.c
> +++ b/drivers/bus/vmbus/linux/vmbus_bus.c
> @@ -236,13 +236,14 @@ vmbus_scan_one(const char *name)
>  	char filename[PATH_MAX];
>  	char dirname[PATH_MAX];
>  	unsigned long tmp;
> +	char *dev_name;
>=20
>  	dev =3D calloc(1, sizeof(*dev));
>  	if (dev =3D=3D NULL)
>  		return -1;
>=20
>  	dev->device.bus =3D &rte_vmbus_bus.bus;
> -	dev->device.name =3D strdup(name);
> +	dev->device.name =3D dev_name =3D strdup(name);
>  	if (!dev->device.name)
>  		goto error;
>=20
> @@ -261,6 +262,7 @@ vmbus_scan_one(const char *name)
>=20
>  	/* skip non-network devices */
>  	if (rte_uuid_compare(dev->class_id, vmbus_nic_uuid) !=3D 0) {
> +		free(dev_name);
>  		free(dev);
>  		return 0;
>  	}
> @@ -312,6 +314,7 @@ vmbus_scan_one(const char *name)
>  		} else { /* already registered */
>  			VMBUS_LOG(NOTICE,
>  				"%s already registered", name);
> +			free(dev_name);
>  			free(dev);
>  		}
>  		return 0;
> @@ -322,6 +325,7 @@ vmbus_scan_one(const char *name)
>  error:
>  	VMBUS_LOG(DEBUG, "failed");
>=20
> +	free(dev_name);
>  	free(dev);
>  	return -1;
>  }
> --
> 2.23.0