From: Greg KH <gregkh@linuxfoundation.org>
To: Daniel Hodges <daniel@danielhodges.dev>
Cc: "Daniel Hodges" <git@danielhodges.dev>,
"Prasanth Ksr" <prasanth.ksr@dell.com>,
"Hans de Goede" <hansg@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Mario Limonciello" <mario.limonciello@dell.com>,
"Divya Bharathi" <divya.bharathi@dell.com>,
Dell.Client.Kernel@dell.com, platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org, stable@vger.kernel.org
Subject: Re: [PATCH] platform/x86: dell-wmi-sysman: fix kobject leak on populate failure
Date: Sun, 8 Feb 2026 07:31:12 +0100 [thread overview]
Message-ID: <2026020828-panther-rice-9388@gregkh> (raw)
In-Reply-To: <tscj73a7jrwnncnc7flzxbymtbztnicfm2hu5rqyavmfwv7apv@5x2k2g5p3u2m>
On Sat, Feb 07, 2026 at 11:52:11AM -0500, Daniel Hodges wrote:
> On Sat, Feb 07, 2026 at 08:48:34AM +0100, Greg KH wrote:
> > On Fri, Feb 06, 2026 at 06:16:42PM -0500, Daniel Hodges wrote:
> > > When populate_enum_data(), populate_int_data(), populate_str_data(),
> > > or populate_po_data() fails after a successful kobject_init_and_add(),
> > > the code jumps to err_attr_init without calling kobject_put() on
> > > attr_name_kobj, leaking the kobject and its associated memory.
> > >
> > > Add the missing kobject_put() call before the goto to properly release
> > > the kobject on error.
> > >
> > > Fixes: e8a60aa7404b ("platform/x86: Introduce support for Systems Management Driver over WMI for Dell Systems")
> > > Cc: stable@vger.kernel.org
> > > Signed-off-by: Daniel Hodges <git@danielhodges.dev>
> > > ---
> > > drivers/platform/x86/dell/dell-wmi-sysman/sysman.c | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
> > > index f5402b714657..d9f6d24c84d6 100644
> > > --- a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
> > > +++ b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
> > > @@ -497,6 +497,7 @@ static int init_bios_attributes(int attr_type, const char *guid)
> > > if (retval) {
> > > pr_debug("failed to populate %s\n",
> > > elements[ATTR_NAME].string.pointer);
> > > + kobject_put(attr_name_kobj);
> > > goto err_attr_init;
> > > }
> > >
> >
> > The "larger" problem with this driver is its use of raw kobjects. No
> > driver should be doing that, it is hiding all of this information from
> > userspace tools by doing so, and there's loads of race conditions
> > happening with the creation of these files. It should be fixed by just
> > using normal device attributes and not attempting to custom create
> > kobjects by hand like this (as it is very easy to get things wrong, as
> > this patch shows.)
> >
> > thanks,
> >
> > greg k-h
>
> Yeah, that makes sense. I think your point of finding "bad patterns" in
> usage would also be really helpful for code analysis tools. If there's
> some canonical docs on various antipatterns it would be pretty helpful.
Huge hint, any driver that calls any sysfs_*() function or touches a
kobject at all, is probably doing things wrong. Start there and see
what you find :)
thanks,
greg k-h
prev parent reply other threads:[~2026-02-08 6:31 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-06 23:16 [PATCH] platform/x86: dell-wmi-sysman: fix kobject leak on populate failure Daniel Hodges
2026-02-07 7:48 ` Greg KH
2026-02-07 16:52 ` Daniel Hodges
2026-02-08 6:31 ` Greg KH [this message]
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=2026020828-panther-rice-9388@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=Dell.Client.Kernel@dell.com \
--cc=daniel@danielhodges.dev \
--cc=divya.bharathi@dell.com \
--cc=git@danielhodges.dev \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mario.limonciello@dell.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=prasanth.ksr@dell.com \
--cc=stable@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox