From: Dan Carpenter <dan.carpenter@oracle.com>
To: Hans de Goede <hdegoede@redhat.com>,
Divya Bharathi <divya.bharathi@dell.com>
Cc: Mark Gross <mgross@linux.intel.com>,
Prasanth KSR <prasanth.ksr@dell.com>,
Mario Limonciello <mario.limonciello@dell.com>,
platform-driver-x86@vger.kernel.org,
kernel-janitors@vger.kernel.org
Subject: [PATCH] platform/x86: dell-wmi-sysman: fix init_bios_attributes() error handling
Date: Tue, 3 Nov 2020 13:17:35 +0300 [thread overview]
Message-ID: <20201103101735.GB1127762@mwanda> (raw)
Calling release_attributes_data() while holding the "wmi_priv.mutex"
will lead to a dead lock. The other problem is that if kzalloc() fails
then this should return -ENOMEM but currently it returns success.
Fixes: e8a60aa7404b ("platform/x86: Introduce support for Systems Management Driver over WMI for Dell Systems")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
The "platform/x86: Introduce support ... " commit doesn't use the patch
prefix which the driver will use going forward. That means that whoever
fixes the first bug has to pick the patch prefix and sometimes people
are not happy with that.
drivers/platform/x86/dell-wmi-sysman/sysman.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/platform/x86/dell-wmi-sysman/sysman.c b/drivers/platform/x86/dell-wmi-sysman/sysman.c
index 3842575a6c18..055556d5c70d 100644
--- a/drivers/platform/x86/dell-wmi-sysman/sysman.c
+++ b/drivers/platform/x86/dell-wmi-sysman/sysman.c
@@ -443,8 +443,10 @@ static int init_bios_attributes(int attr_type, const char *guid)
/* build attribute */
attr_name_kobj = kzalloc(sizeof(*attr_name_kobj), GFP_KERNEL);
- if (!attr_name_kobj)
+ if (!attr_name_kobj) {
+ retval = -ENOMEM;
goto err_attr_init;
+ }
attr_name_kobj->kset = tmp_set;
@@ -486,13 +488,13 @@ static int init_bios_attributes(int attr_type, const char *guid)
elements = obj ? obj->package.elements : NULL;
}
- goto out;
+ mutex_unlock(&wmi_priv.mutex);
+ return 0;
err_attr_init:
+ mutex_unlock(&wmi_priv.mutex);
release_attributes_data();
kfree(obj);
-out:
- mutex_unlock(&wmi_priv.mutex);
return retval;
}
--
2.28.0
next reply other threads:[~2020-11-03 10:20 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-03 10:17 Dan Carpenter [this message]
2020-11-09 11:12 ` [PATCH] platform/x86: dell-wmi-sysman: fix init_bios_attributes() error handling Hans de Goede
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=20201103101735.GB1127762@mwanda \
--to=dan.carpenter@oracle.com \
--cc=divya.bharathi@dell.com \
--cc=hdegoede@redhat.com \
--cc=kernel-janitors@vger.kernel.org \
--cc=mario.limonciello@dell.com \
--cc=mgross@linux.intel.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=prasanth.ksr@dell.com \
/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