From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Qiushi Wu <wu000273@umn.edu>, Borislav Petkov <bp@suse.de>,
Sasha Levin <sashal@kernel.org>,
linux-edac@vger.kernel.org
Subject: [PATCH AUTOSEL 4.19 07/21] EDAC: Fix reference count leaks
Date: Sat, 8 Aug 2020 19:39:27 -0400 [thread overview]
Message-ID: <20200808233941.3619277-7-sashal@kernel.org> (raw)
In-Reply-To: <20200808233941.3619277-1-sashal@kernel.org>
From: Qiushi Wu <wu000273@umn.edu>
[ Upstream commit 17ed808ad243192fb923e4e653c1338d3ba06207 ]
When kobject_init_and_add() returns an error, it should be handled
because kobject_init_and_add() takes a 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.
Therefore, replace calling kfree() and call kobject_put() and add a
missing kobject_put() in the edac_device_register_sysfs_main_kobj()
error path.
[ bp: Massage and merge into a single patch. ]
Fixes: b2ed215a3338 ("Kobject: change drivers/edac to use kobject_init_and_add")
Signed-off-by: Qiushi Wu <wu000273@umn.edu>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20200528202238.18078-1-wu000273@umn.edu
Link: https://lkml.kernel.org/r/20200528203526.20908-1-wu000273@umn.edu
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/edac/edac_device_sysfs.c | 1 +
drivers/edac/edac_pci_sysfs.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/edac/edac_device_sysfs.c b/drivers/edac/edac_device_sysfs.c
index 0e7ea3591b781..5e75937537997 100644
--- a/drivers/edac/edac_device_sysfs.c
+++ b/drivers/edac/edac_device_sysfs.c
@@ -275,6 +275,7 @@ int edac_device_register_sysfs_main_kobj(struct edac_device_ctl_info *edac_dev)
/* Error exit stack */
err_kobj_reg:
+ kobject_put(&edac_dev->kobj);
module_put(edac_dev->owner);
err_out:
diff --git a/drivers/edac/edac_pci_sysfs.c b/drivers/edac/edac_pci_sysfs.c
index 72c9eb9fdffbe..53042af7262e2 100644
--- a/drivers/edac/edac_pci_sysfs.c
+++ b/drivers/edac/edac_pci_sysfs.c
@@ -386,7 +386,7 @@ static int edac_pci_main_kobj_setup(void)
/* Error unwind statck */
kobject_init_and_add_fail:
- kfree(edac_pci_top_main_kobj);
+ kobject_put(edac_pci_top_main_kobj);
kzalloc_fail:
module_put(THIS_MODULE);
--
2.25.1
next prev parent reply other threads:[~2020-08-08 23:43 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-08 23:39 [PATCH AUTOSEL 4.19 01/21] x86/mce/inject: Fix a wrong assignment of i_mce.status Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 02/21] sched/fair: Fix NOHZ next idle balance Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 03/21] sched: correct SD_flags returned by tl->sd_flags() Sasha Levin
[not found] ` <20200808233941.3619277-1-sashal-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 04/21] arm64: dts: rockchip: fix rk3368-lion gmac reset gpio Sasha Levin
2020-08-08 23:39 ` Sasha Levin
2020-08-08 23:39 ` Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 05/21] arm64: dts: rockchip: fix rk3399-puma vcc5v0-host gpio Sasha Levin
2020-08-08 23:39 ` Sasha Levin
2020-08-08 23:39 ` Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 06/21] arm64: dts: rockchip: fix rk3399-puma gmac reset gpio Sasha Levin
2020-08-08 23:39 ` Sasha Levin
2020-08-08 23:39 ` Sasha Levin [this message]
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 08/21] arm64: dts: qcom: msm8916: Replace invalid bias-pull-none property Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 09/21] crypto: ccree - fix resource leak on error path Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 10/21] firmware: arm_scmi: Fix SCMI genpd domain probing Sasha Levin
2020-08-08 23:39 ` Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 11/21] arm64: dts: exynos: Fix silent hang after boot on Espresso Sasha Levin
2020-08-08 23:39 ` Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 12/21] clk: scmi: Fix min and max rate when registering clocks with discrete rates Sasha Levin
2020-08-08 23:39 ` Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 13/21] m68k: mac: Don't send IOP message until channel is idle Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 14/21] m68k: mac: Fix IOP status/control register writes Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 15/21] platform/x86: intel-hid: Fix return value check in check_acpi_dev() Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 16/21] platform/x86: intel-vbtn: " Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 17/21] ARM: dts: gose: Fix ports node name for adv7180 Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 18/21] ARM: dts: gose: Fix ports node name for adv7612 Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 19/21] ARM: at91: pm: add missing put_device() call in at91_pm_sram_init() Sasha Levin
2020-08-08 23:39 ` Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 20/21] spi: lantiq: fix: Rx overflow error in full duplex mode Sasha Levin
2020-08-08 23:39 ` [PATCH AUTOSEL 4.19 21/21] ARM: socfpga: PM: add missing put_device() call in socfpga_setup_ocram_self_refresh() Sasha Levin
2020-08-08 23:39 ` Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200808233941.3619277-7-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=bp@suse.de \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=wu000273@umn.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.