[PATCH AUTOSEL 5.7 320/388] scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj

14 views
Skip to first unread message

Sasha Levin

unread,
Jun 17, 2020, 9:15:04 PM6/17/20
to linux-...@vger.kernel.org, sta...@vger.kernel.org, Qiushi Wu, Lee Duncan, Martin K . Petersen, Sasha Levin, open-...@googlegroups.com, linux...@vger.kernel.org
From: Qiushi Wu <wu00...@umn.edu>

[ Upstream commit 0267ffce562c8bbf9b57ebe0e38445ad04972890 ]

kobject_init_and_add() takes reference even when it fails. If this
function returns an error, kobject_put() must be called to properly
clean up the memory associated with the object.

Link: https://lore.kernel.org/r/20200528201353....@umn.edu
Reviewed-by: Lee Duncan <ldu...@suse.com>
Signed-off-by: Qiushi Wu <wu00...@umn.edu>
Signed-off-by: Martin K. Petersen <martin....@oracle.com>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
drivers/scsi/iscsi_boot_sysfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/iscsi_boot_sysfs.c b/drivers/scsi/iscsi_boot_sysfs.c
index e4857b728033..a64abe38db2d 100644
--- a/drivers/scsi/iscsi_boot_sysfs.c
+++ b/drivers/scsi/iscsi_boot_sysfs.c
@@ -352,7 +352,7 @@ iscsi_boot_create_kobj(struct iscsi_boot_kset *boot_kset,
boot_kobj->kobj.kset = boot_kset->kset;
if (kobject_init_and_add(&boot_kobj->kobj, &iscsi_boot_ktype,
NULL, name, index)) {
- kfree(boot_kobj);
+ kobject_put(&boot_kobj->kobj);
return NULL;
}
boot_kobj->data = data;
--
2.25.1

Sasha Levin

unread,
Jun 17, 2020, 9:21:18 PM6/17/20
to linux-...@vger.kernel.org, sta...@vger.kernel.org, Qiushi Wu, Lee Duncan, Martin K . Petersen, Sasha Levin, open-...@googlegroups.com, linux...@vger.kernel.org

Sasha Levin

unread,
Jun 17, 2020, 9:25:19 PM6/17/20
to linux-...@vger.kernel.org, sta...@vger.kernel.org, Qiushi Wu, Lee Duncan, Martin K . Petersen, Sasha Levin, open-...@googlegroups.com, linux...@vger.kernel.org
From: Qiushi Wu <wu00...@umn.edu>

[ Upstream commit 0267ffce562c8bbf9b57ebe0e38445ad04972890 ]

kobject_init_and_add() takes reference even when it fails. If this
function returns an error, kobject_put() must be called to properly
clean up the memory associated with the object.

Link: https://lore.kernel.org/r/20200528201353....@umn.edu
Reviewed-by: Lee Duncan <ldu...@suse.com>
Signed-off-by: Qiushi Wu <wu00...@umn.edu>
Signed-off-by: Martin K. Petersen <martin....@oracle.com>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
drivers/scsi/iscsi_boot_sysfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/iscsi_boot_sysfs.c b/drivers/scsi/iscsi_boot_sysfs.c
index d453667612f8..15d64f96e623 100644
--- a/drivers/scsi/iscsi_boot_sysfs.c
+++ b/drivers/scsi/iscsi_boot_sysfs.c
@@ -360,7 +360,7 @@ iscsi_boot_create_kobj(struct iscsi_boot_kset *boot_kset,

Sasha Levin

unread,
Jun 17, 2020, 9:27:59 PM6/17/20
to linux-...@vger.kernel.org, sta...@vger.kernel.org, Qiushi Wu, Lee Duncan, Martin K . Petersen, Sasha Levin, open-...@googlegroups.com, linux...@vger.kernel.org

Sasha Levin

unread,
Jun 17, 2020, 9:29:56 PM6/17/20
to linux-...@vger.kernel.org, sta...@vger.kernel.org, Qiushi Wu, Lee Duncan, Martin K . Petersen, Sasha Levin, open-...@googlegroups.com, linux...@vger.kernel.org

Sasha Levin

unread,
Jun 17, 2020, 9:31:18 PM6/17/20
to linux-...@vger.kernel.org, sta...@vger.kernel.org, Qiushi Wu, Lee Duncan, Martin K . Petersen, Sasha Levin, open-...@googlegroups.com, linux...@vger.kernel.org
From: Qiushi Wu <wu00...@umn.edu>

[ Upstream commit 0267ffce562c8bbf9b57ebe0e38445ad04972890 ]

kobject_init_and_add() takes reference even when it fails. If this
function returns an error, kobject_put() must be called to properly
clean up the memory associated with the object.

Link: https://lore.kernel.org/r/20200528201353....@umn.edu
Reviewed-by: Lee Duncan <ldu...@suse.com>
Signed-off-by: Qiushi Wu <wu00...@umn.edu>
Signed-off-by: Martin K. Petersen <martin....@oracle.com>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
drivers/scsi/iscsi_boot_sysfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/iscsi_boot_sysfs.c b/drivers/scsi/iscsi_boot_sysfs.c
index 680bf6f0ce76..476f46aad54c 100644
--- a/drivers/scsi/iscsi_boot_sysfs.c
+++ b/drivers/scsi/iscsi_boot_sysfs.c
@@ -319,7 +319,7 @@ iscsi_boot_create_kobj(struct iscsi_boot_kset *boot_kset,
Reply all
Reply to author
Forward
0 new messages