Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp1118697img; Fri, 22 Mar 2019 16:23:01 -0700 (PDT) X-Google-Smtp-Source: APXvYqyhMmde2M4/aODZHESD/9Tj8t1bKczctE9aG/kW6LsjSwjwQkVUK/dbvdSvQsrPHkBoeU40 X-Received: by 2002:a63:c204:: with SMTP id b4mr11313742pgd.335.1553296981385; Fri, 22 Mar 2019 16:23:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553296981; cv=none; d=google.com; s=arc-20160816; b=Ye0EGROvQDQDRhEBKL8ZTx1mBb+vweDjQMiTgEPNwIrrq5eczlhA+9x6OLRpl+cOuL LOQuK2K+Hh3neas0sIsgQJKZLtv4vy1/AVxCN/+hqpwaP63fxonOp1OBdMD8t7auUuVI ikTPDD/ImYlCFhh7ByuntlDN+jDJXk7005j2/YB+tE5s3I6HPvwVKqiuaULHrt6pKggy VU1aPPm1EDkTxauK72RX0IYFT6+g33fRvbnWV7RaC9MV7DklTR/7LLW1G4TF84bCrH1q Oi1O+r+rZGTn7cDjXxauPcK1iQsSor1JNUPL3486a7bxArSRodwUEv/WWmXNYYptA5fh XV1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=SexZhAwQ1++YzDwEq07A8Z51AbUXsFrl1L41/uLio0A=; b=lhzRi5oXg++Rn4Us/ZRJ7Vx3nZgCXJtubcADKyI4rGbq5IY3dArBRy8Mz+fDvq/bn2 W4tzYIZKQXWMjxC+Q8FRVhtPThDNY0WnCzrWrlPzOCUfGw+sJqgTota81g+Fw4aSdE7G eXaFopIPs2XAdBDOuxoA9GJjkqVylatpVsdMiqywxYHUjHSorNziIr+MZdcnwcDY2SFp kvcNdK6fraw0xsSi8wnY7qD/rpTlE8bw6YDBGiGXdb1bO7kW5pcfawUByvaOZRBmxOKb 8SYkMyjYYh7/D7U9s2eDFE4qULeQ4iDkoW7RfoIpfR1khhQE1vqCs31vwgNI3uUfrGQZ fP/Q== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=mellanox.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o188si7843113pga.297.2019.03.22.16.22.46; Fri, 22 Mar 2019 16:23:01 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=mellanox.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728287AbfCVXUo (ORCPT + 99 others); Fri, 22 Mar 2019 19:20:44 -0400 Received: from mail-il-dmz.mellanox.com ([193.47.165.129]:56782 "EHLO mellanox.co.il" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726276AbfCVXUo (ORCPT ); Fri, 22 Mar 2019 19:20:44 -0400 Received: from Internal Mail-Server by MTLPINE1 (envelope-from parav@mellanox.com) with ESMTPS (AES256-SHA encrypted); 23 Mar 2019 01:20:42 +0200 Received: from sw-mtx-036.mtx.labs.mlnx (sw-mtx-036.mtx.labs.mlnx [10.12.150.149]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x2MNKavx007896; Sat, 23 Mar 2019 01:20:40 +0200 From: Parav Pandit To: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, kwankhede@nvidia.com, alex.williamson@redhat.com Cc: parav@mellanox.com Subject: [PATCH 1/8] vfio/mdev: Fix to not do put_device on device_register failure Date: Fri, 22 Mar 2019 18:20:28 -0500 Message-Id: <1553296835-37522-2-git-send-email-parav@mellanox.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1553296835-37522-1-git-send-email-parav@mellanox.com> References: <1553296835-37522-1-git-send-email-parav@mellanox.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org device_register() performs put_device() if device_add() fails. This balances with device_initialize(). mdev core performing put_device() when device_register() fails, is an error that puts already released device again. Therefore, don't put the device on error. Fixes: 7b96953bc640 ("vfio: Mediated device Core driver") Signed-off-by: Parav Pandit --- drivers/vfio/mdev/mdev_core.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/vfio/mdev/mdev_core.c b/drivers/vfio/mdev/mdev_core.c index 0212f0e..3e5880a 100644 --- a/drivers/vfio/mdev/mdev_core.c +++ b/drivers/vfio/mdev/mdev_core.c @@ -318,10 +318,8 @@ int mdev_device_create(struct kobject *kobj, struct device *dev, uuid_le uuid) dev_set_name(&mdev->dev, "%pUl", uuid.b); ret = device_register(&mdev->dev); - if (ret) { - put_device(&mdev->dev); + if (ret) goto mdev_fail; - } ret = mdev_device_create_ops(kobj, mdev); if (ret) -- 1.8.3.1