Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp1023765ybm; Wed, 27 May 2020 14:06:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJynKkBXdAGcq6grPih4M3MGReI67FuGS1tJ6jHPkrRlXxjBst5Sgj8b/ToLAl9nWAWvIOZO X-Received: by 2002:aa7:cd5a:: with SMTP id v26mr49854edw.320.1590613561098; Wed, 27 May 2020 14:06:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590613561; cv=none; d=google.com; s=arc-20160816; b=Iiws+vFXw6DeeGf8uBSi91IoVqjd801GWBcH5hcUg0v2BcEb5yZr3GgM3LLntypetb tXz0AD76UqbBb4C7E/0othLyXkCYBWVmo78DLVIYTXW4Nu3L+S+pDdtKFG5GVtDIfkxs 5y6GcCf3VixzWwxWQ1Qt6BwbbvSZTBatDgkV/MdvDjh0KoQH9asFkkzlElgxhik/RDv7 xBlRJodnQ2KvE2poalKuZ6unY5jeXaGgLt/RpmPuL/o2zUSeeKGXQGVBrxsZnXvpH+Bj k3em7+auZNScarZpJdr/UOcba8uK+jZz46YXP6/cQ9rt1FtIRRgwhPqZ3azGnpr+Uq6D 2TPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter:dmarc-filter; bh=HUfddYaBDcQ1QFr6cz0pOekNbdRK7nMNiK7RoAnFctQ=; b=Y23/1d37X25GyfpTxCMidtA7/4DnecRYdt863Hz3lOur9+3VT9BmFgPvNGEI4q+SfB SksDtQUQlI9rehdPmPjyxPVOuPeY72vYFLhko4xIqDCBAdp8M+Wg382gw/IY+gj41cad S35BCHFX5hHERqRmXrjmHcfqGASiZwmy+mRKr2hlUx4M0GLZezUzaSJhckGShW2GDgCE ONvaMEyUY/gGqs+lk5FKFKBnz8dtbVnnyCXtslnNUD9BMmne4ouh8jXW0I2hQwJlEIA4 meZV/m+zx6QCKcaKoJ43/flj+5z9OXaFnX9hpgHvfPYZNFhq/gqsYTO0I9Ytsq7zcW/v KoTA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@umn.edu header.s=google header.b=OVZd9pGw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=umn.edu Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dg13si2528178edb.330.2020.05.27.14.05.37; Wed, 27 May 2020 14:06:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@umn.edu header.s=google header.b=OVZd9pGw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=umn.edu Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728373AbgE0VAa (ORCPT + 99 others); Wed, 27 May 2020 17:00:30 -0400 Received: from mta-p8.oit.umn.edu ([134.84.196.208]:38366 "EHLO mta-p8.oit.umn.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728149AbgE0VAa (ORCPT ); Wed, 27 May 2020 17:00:30 -0400 Received: from localhost (unknown [127.0.0.1]) by mta-p8.oit.umn.edu (Postfix) with ESMTP id 49XNWw63vMz9vY6C for ; Wed, 27 May 2020 21:00:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at umn.edu Received: from mta-p8.oit.umn.edu ([127.0.0.1]) by localhost (mta-p8.oit.umn.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OfCF3PQ-F0w1 for ; Wed, 27 May 2020 16:00:28 -0500 (CDT) Received: from mail-io1-f70.google.com (mail-io1-f70.google.com [209.85.166.70]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mta-p8.oit.umn.edu (Postfix) with ESMTPS id 49XNWw4Wd7z9vY6f for ; Wed, 27 May 2020 16:00:28 -0500 (CDT) DMARC-Filter: OpenDMARC Filter v1.3.2 mta-p8.oit.umn.edu 49XNWw4Wd7z9vY6f DKIM-Filter: OpenDKIM Filter v2.11.0 mta-p8.oit.umn.edu 49XNWw4Wd7z9vY6f Received: by mail-io1-f70.google.com with SMTP id j23so10044021iok.2 for ; Wed, 27 May 2020 14:00:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=umn.edu; s=google; h=from:to:cc:subject:date:message-id; bh=HUfddYaBDcQ1QFr6cz0pOekNbdRK7nMNiK7RoAnFctQ=; b=OVZd9pGw7a7FtLUoDlyqoKQRPkb4QEIFCuj9r1b3w32QVRGgZFh5etltRHQZ9pckuj bQ8XwVKasUGKFmtLOa0tmIFQj/vQ6EztlbZr5XDxCAxp74DMxkZN9zeoRRzxdPQayYTz fHHoVYAyb9ontJDCSfHtt0JmjCGSPQdphgwSBghRZUuFVPlyisvqdtRz+zLI+63AqeMw Sc35eiWj2Je/MM75T6xXotPeaOXTATxORSfeZhWbjJeucB/KEmNXe5KFMwQJbRLpNsJq h/w5K2WBpVsGz1RprHf5gfMDOL/gxJWuBV/1U+tFQ0lUslgGWYBe88rajbMw6IDu4vrp DWXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=HUfddYaBDcQ1QFr6cz0pOekNbdRK7nMNiK7RoAnFctQ=; b=R5LuKB8vfD8QW+6kgUXTcgdnyzMehOwhGhJZz3QF35XYzHe2muwJQf7vEiib2d8466 VRGMZC9RdWswjfkRoam1j1jwnfIHsRw8PQBzOu49GINhF9WGy6XZ2xHOo1EIo9pv/eaH IsE70FFpNo3osN2Ok7Uqy6J4Hf8WKVfnqHu3fQciJ/zJP5tik1H4nhNl4xNWpH5IjtaM yo4vT16oehdx0rmLmuvjaiO7fmGOh5uvIYX88XXHUZMd4bZkxT3wir1iLWLC1H4q6rS5 3RndfpqYKRgcxDwaWuqREIiD4oMNtEjgCH1Lq4g3nrnJSK9p19IcOCdALJfZIiV9AQGg NZZQ== X-Gm-Message-State: AOAM5311OBmJbo0Hj2wKW9rg4U8Y56EdtZ4ewqvmhfx6YCyI8mbqED2v NlqSFUEAv5QuBWq2MdcylQ2aMA0+L6gC/eGkDwkL9STz6uNjBIVpHBdC8OACdAjAIsOWc7MwKvf 75II7jwTtKpg9ABcwjtMnjrJrUD40 X-Received: by 2002:a5d:9a87:: with SMTP id c7mr10986364iom.152.1590613227947; Wed, 27 May 2020 14:00:27 -0700 (PDT) X-Received: by 2002:a5d:9a87:: with SMTP id c7mr10986340iom.152.1590613227572; Wed, 27 May 2020 14:00:27 -0700 (PDT) Received: from qiushi.dtc.umn.edu (cs-kh5248-02-umh.cs.umn.edu. [128.101.106.4]) by smtp.gmail.com with ESMTPSA id o18sm2078369ils.30.2020.05.27.14.00.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 May 2020 14:00:26 -0700 (PDT) From: wu000273@umn.edu To: kjlu@umn.edu Cc: wu000273@umn.edu, Joerg Roedel , Benjamin Herrenschmidt , Alex Williamson , iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org Subject: [PATCH] iommu: Fix reference count leak in iommu_group_alloc. Date: Wed, 27 May 2020 16:00:19 -0500 Message-Id: <20200527210020.6522-1-wu000273@umn.edu> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Qiushi Wu kobject_init_and_add() takes reference even when it fails. Thus, when kobject_init_and_add() returns an error, kobject_put() must be called to properly clean up the kobject. Fixes: d72e31c93746 ("iommu: IOMMU Groups") Signed-off-by: Qiushi Wu --- drivers/iommu/iommu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index 1faa08c8bbb4..03d6a26687bc 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -510,7 +510,7 @@ struct iommu_group *iommu_group_alloc(void) NULL, "%d", group->id); if (ret) { ida_simple_remove(&iommu_group_ida, group->id); - kfree(group); + kobject_put(&group->kobj); return ERR_PTR(ret); } -- 2.17.1