Received: by 10.213.65.68 with SMTP id h4csp1229931imn; Sun, 18 Mar 2018 20:41:16 -0700 (PDT) X-Google-Smtp-Source: AG47ELshOIxuikLPk+hafO79cDTEUAe8EyJiILNiyGUabsSmP4Z/77d/rmdbVjVIHZSHcKFLTw8A X-Received: by 2002:a17:902:6184:: with SMTP id u4-v6mr11118569plj.390.1521430876456; Sun, 18 Mar 2018 20:41:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521430876; cv=none; d=google.com; s=arc-20160816; b=hamD+447PD11+KMJ2v0rMGRGDqoC64vIcKxtzSzTbcxhk0+FhNgY6hIYiLMaLCvBB7 Lxh/QhBNwNqbPJ93VZDskrEcOiCLKzjfxTtDwoLh5GbJuLJuyog/L7625tD+CsDVt2Rh wHCUd0si5pkqIYZQ0EWiyjEvqg+bvom/6N8Jmnq+XaIMx3fyp70Qg3cT8wCNIvxlbBLS UFSi6Kt/HQQSJRsg+o+CdXlZRoAS9MSFziXNIuUwdaXefBMIVJA66vGd9co8wjgQVgwm XPei2j5WtF+wYEog2ZvMSb0qSboOgxTgr45IsAzLhGtgWwtxBrtEfdPI32AEgceJTv1l hRKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :spamdiagnosticmetadata:spamdiagnosticoutput:msip_labels :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=MdNWqnMledht7fkXLpejL+Bw2pk/rjNLNzLBK0CPBpU=; b=DSfi6HpMBuDjGiChGkeyxqiN+4CnWLQAnZuVaFYc1Zi2Z7CJxHSowUfEcGipGtoU85 sxS1dX0rI0F8Rz/uu6I76wu+xbe6JZo9nmKKWgjrMAZe0Lp/+WZWS0qCZKA+/WU3GkbA zPy5SsRGhjfySoLu/+mSlB4CZ9wU+4P5PfB0uf4dmHv8aAA0QpnUpy6n/i2mENBBYxGh W9rKJXe9nD0lXPEkuRYfv6RBgBrdWW/pOUEU72zfpPPkaiv/sgTwPQzxK6kXcw+rH3ii tnhWlgFtM33KC5h/IHJAFttTT6kkK+uZnq7SamHB6kVbPy61A1xJBDWSFCH9uuh15ZB0 OZyQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@microsoft.com header.s=selector1 header.b=apFqXpy1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=microsoft.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n5si7662102pgs.106.2018.03.18.20.41.02; Sun, 18 Mar 2018 20:41:16 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@microsoft.com header.s=selector1 header.b=apFqXpy1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=microsoft.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755224AbeCSDkI (ORCPT + 99 others); Sun, 18 Mar 2018 23:40:08 -0400 Received: from mail-cys01nam02on0114.outbound.protection.outlook.com ([104.47.37.114]:45766 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754917AbeCSDkG (ORCPT ); Sun, 18 Mar 2018 23:40:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=MdNWqnMledht7fkXLpejL+Bw2pk/rjNLNzLBK0CPBpU=; b=apFqXpy1meUg5vo0xUTqdNotzF4clMjwR3rTb3PAoFEPgdrW9Xd14QvUqp2/VeoyV49vuMMAG2YO+eU1YO5pPbRl5eks2ZqP/Yw2OL3WeRyFkJUYTm9IxuzrnzklmvWCSB0a3ZVwRamM/X2vSb+Hvs4DT2QerjsVe40UxH0GRfE= Received: from DM5PR2101MB1030.namprd21.prod.outlook.com (52.132.128.11) by DM5PR2101MB0887.namprd21.prod.outlook.com (52.132.132.156) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.631.0; Mon, 19 Mar 2018 03:40:03 +0000 Received: from DM5PR2101MB1030.namprd21.prod.outlook.com ([fe80::14f:785d:71f2:d396]) by DM5PR2101MB1030.namprd21.prod.outlook.com ([fe80::14f:785d:71f2:d396%4]) with mapi id 15.20.0631.004; Mon, 19 Mar 2018 03:40:03 +0000 From: "Michael Kelley (EOSG)" To: KY Srinivasan , Arvind Yadav , Stephen Hemminger , Haiyang Zhang CC: "devel@linuxdriverproject.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH] vmbus: use put_device() if device_register fail Thread-Topic: [PATCH] vmbus: use put_device() if device_register fail Thread-Index: AQHTvoUgz7NIDmL0UEiY7KwnBfP37qPW4B+AgAAI0fA= Date: Mon, 19 Mar 2018 03:40:03 +0000 Message-ID: References: In-Reply-To: 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_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Owner=mikelley@ntdev.microsoft.com; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2018-03-19T03:40:02.0159852Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Application=Microsoft Azure Information Protection; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Extended_MSFT_Method=Automatic; Sensitivity=General x-originating-ip: [24.22.167.197] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;DM5PR2101MB0887;7:i7fn2qYf14zYcy1J3qmUpPCzJzoqAqUaMHSqXqepO1PPtdHfVW4XV0qFUxqW2UjamYViFraaHx5FSn5nAT1vgQ8wtd9KW/w2WU46VOx+9Mrp7Fq+/AprqLRgiQ5xaIwKGCaVNclEp6lQPPPIGrLQO5u99r0rLDdvpPSeNRNPOGSMIKcYjPSrW8SZa5Xj+ZvdG4tuq0479hJsUuQVXr4VfEIYsa9hbnUwcd84lMJfqAId7NmtQ9EXLx2oJ4VWA6Hd;20:qmzLy0QR5FLxFF0mUtKfMb7qEc4wXzmwn/izTRvGM+adm2qy36vmnjqloxAKVxa7HU4TwrJDjgKaSQSsYPkb/O0R39RgRL0pxvI/wjWnY3/QTrLqnNMP6p+1EQzVDijot+QsKENtu13ji9K95z4/gkuVHInsQ34IC8O2c8HYtTQ= x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 570b79f8-fff6-48fc-cacc-08d58d4b19ea x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(3008032)(2017052603328)(7193020);SRVR:DM5PR2101MB0887; x-ms-traffictypediagnostic: DM5PR2101MB0887: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Michael.H.Kelley@microsoft.com; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(28532068793085)(89211679590171)(9452136761055)(85827821059158); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(61425038)(6040522)(2401047)(5005006)(8121501046)(3231221)(944501300)(52105095)(3002001)(93006095)(93001095)(10201501046)(6055026)(61426038)(61427038)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011);SRVR:DM5PR2101MB0887;BCL:0;PCL:0;RULEID:;SRVR:DM5PR2101MB0887; x-forefront-prvs: 06167FAD59 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(366004)(396003)(39860400002)(376002)(39380400002)(346002)(13464003)(189003)(199004)(10290500003)(26005)(7696005)(74316002)(68736007)(110136005)(478600001)(72206003)(6636002)(6246003)(99286004)(229853002)(10090500001)(305945005)(7736002)(2950100002)(33656002)(76176011)(97736004)(86612001)(6436002)(54906003)(4326008)(39060400002)(25786009)(3660700001)(53936002)(2906002)(5250100002)(81156014)(81166006)(8676002)(8936002)(86362001)(2900100001)(8990500004)(5660300001)(3846002)(6116002)(3280700002)(55016002)(9686003)(66066001)(316002)(59450400001)(53546011)(6506007)(1511001)(106356001)(22452003)(105586002)(14454004)(102836004);DIR:OUT;SFP:1102;SCL:1;SRVR:DM5PR2101MB0887;H:DM5PR2101MB1030.namprd21.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: Tgk5kDPPIZzuUxaMiqrufQU71nOWxdhTGCY/w39rIi4IKMcbN0MOxU1w5pNlXi1vpgVtCzomZCvBfOJRFFN4ruhmUhqlB7QSZhg/IS4CRV8t2uL+MqYm/IojyMvCSJRzyQ8RkkojMR4TKQcDQFueO5zCDWxuab8D37kiN/nM7Rsf4VcAJ0v51fFbAmkFxuMfnsfvruTvcejl87gXQk7CUG0qvenZPxQipyaJuASkbOvXeQ87do662vyPPVFmWw2PhjUQ6sOSaduE2DcneVWTDmaBFVnsEdH1+Z6aqJTP6HWZ5Jlqp5qr79/xYIQ249bmb/jCzVgAzIS7oRJE3eztuA== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: 570b79f8-fff6-48fc-cacc-08d58d4b19ea X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Mar 2018 03:40:03.8713 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR2101MB0887 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > -----Original Message----- > From: linux-kernel-owner@vger.kernel.org On Behalf > Of KY Srinivasan > Sent: Sunday, March 18, 2018 8:02 PM > To: Arvind Yadav ; Stephen Hemminger > ; Haiyang Zhang > Cc: devel@linuxdriverproject.org; linux-kernel@vger.kernel.org > Subject: RE: [PATCH] vmbus: use put_device() if device_register fail >=20 > > -----Original Message----- > > From: devel On Behalf > > Of Arvind Yadav > > Sent: Saturday, March 17, 2018 11:48 PM > > To: Stephen Hemminger ; Haiyang Zhang > > > > Cc: devel@linuxdriverproject.org; linux-kernel@vger.kernel.org > > Subject: [PATCH] vmbus: use put_device() if device_register fail > > > > if device_register() returned an error. Always use put_device() > > to give up the reference initialized. > > > > Signed-off-by: Arvind Yadav > > --- > > drivers/hv/vmbus_drv.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c > > index bc65c4d..25da2f3 100644 > > --- a/drivers/hv/vmbus_drv.c > > +++ b/drivers/hv/vmbus_drv.c > > @@ -1358,6 +1358,7 @@ int vmbus_device_register(struct hv_device > > *child_device_obj) > > ret =3D device_register(&child_device_obj->device); > > if (ret) { > > pr_err("Unable to register child device\n"); > > + put_device(&child_device_obj->device); >=20 > If the registration failed; we would not have acquired the reference on t= he device and so > we should not be dropping the reference in the failure path. Looking at the code for device_register() and its constituent parts device_initialize() and device_add(), Arvind is correct. device_initialize= () creates the object with a reference count of 1. device_add() does not decrement that reference count or free the object, even if it fails. The comments for device_register() call this out as well. Michael =20 >=20 > K. Y > > return ret; > > } > > > > -- > > 2.7.4