From: "Pali Rohár" <pali.rohar@gmail.com>
To: Mario Limonciello <mario.limonciello@dell.com>
Cc: dvhart@infradead.org, Andy Shevchenko <andy.shevchenko@gmail.com>,
LKML <linux-kernel@vger.kernel.org>,
platform-driver-x86@vger.kernel.org,
Andy Lutomirski <luto@kernel.org>,
quasisec@google.com, rjw@rjwysocki.net, mjg59@google.com,
hch@lst.de, Greg KH <greg@kroah.com>
Subject: Re: [PATCH v6 05/14] platform/x86: dell-wmi-descriptor: split WMI descriptor into it's own driver
Date: Tue, 10 Oct 2017 10:17:49 +0200 [thread overview]
Message-ID: <20171010081749.7ohuyadwsg555cli@pali> (raw)
In-Reply-To: <92fb25a14fbc24541cd758854b70268b3497d913.1507589249.git.mario.limonciello@dell.com>
On Monday 09 October 2017 17:51:43 Mario Limonciello wrote:
> +bool dell_wmi_get_interface_version(u32 *version)
> +{
> + struct descriptor_priv *priv;
> +
> + priv = list_first_entry_or_null(&wmi_list,
> + struct descriptor_priv,
> + list);
> + if (!priv)
> + return false;
This introduce race condition. In case callee of this function is
executed before binding 8D9DDCBC-A997-11DA-B012-B622A1EF5492 WMI device
into this dell-wmi-descriptor driver, then this function
dell_wmi_get_interface_version() returns false. Even it is running on
supported machine.
Loading of modulus and also binding devices to drivers (registered by
modules) is is asynchronous.
In case everything is linked into vmlinux binary, this problem could
happen too. Binding & initialization of WMI device to this driver can be
postponed and callee (dell-wmi) would get false.
> + *version = priv->interface_version;
> + return true;
> +}
> +EXPORT_SYMBOL_GPL(dell_wmi_get_interface_version);
> +
> +bool dell_wmi_get_size(u32 *size)
> +{
> + struct descriptor_priv *priv;
> +
> + priv = list_first_entry_or_null(&wmi_list,
> + struct descriptor_priv,
> + list);
> + if (!priv)
> + return false;
And same there.
> + *size = priv->size;
> + return true;
> +}
> +EXPORT_SYMBOL_GPL(dell_wmi_get_size);
--
Pali Rohár
pali.rohar@gmail.com
next prev parent reply other threads:[~2017-10-10 8:17 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-09 22:51 [PATCH v6 00/14] Introduce support for Dell SMBIOS over WMI Mario Limonciello
2017-10-09 22:51 ` [PATCH v6 01/14] platform/x86: wmi: Add new method wmidev_evaluate_method Mario Limonciello
2017-10-09 22:51 ` [PATCH v6 02/14] platform/x86: dell-wmi: increase severity of some failures Mario Limonciello
2017-10-09 22:51 ` [PATCH v6 03/14] platform/x86: dell-wmi: clean up wmi descriptor check Mario Limonciello
2017-10-09 22:51 ` [PATCH v6 04/14] platform/x86: dell-wmi: allow 32k return size in the descriptor Mario Limonciello
2017-10-09 22:51 ` [PATCH v6 05/14] platform/x86: dell-wmi-descriptor: split WMI descriptor into it's own driver Mario Limonciello
2017-10-10 8:17 ` Pali Rohár [this message]
2017-10-10 13:40 ` Mario.Limonciello
2017-10-09 22:51 ` [PATCH v6 06/14] platform/x86: wmi: Don't allow drivers to get each other's GUIDs Mario Limonciello
2017-10-09 22:51 ` [PATCH v6 07/14] platform/x86: dell-smbios: only run if proper oem string is detected Mario Limonciello
2017-10-09 22:51 ` [PATCH v6 08/14] platform/x86: dell-smbios: Add a sysfs interface for SMBIOS tokens Mario Limonciello
2017-10-09 22:51 ` [PATCH v6 09/14] platform/x86: dell-smbios: Introduce dispatcher for SMM calls Mario Limonciello
2017-10-10 16:01 ` Pali Rohár
2017-10-10 19:14 ` Mario.Limonciello
2017-10-12 23:30 ` Darren Hart
2017-10-09 22:51 ` [PATCH v6 10/14] platform/x86: dell-smbios: add filtering capability for requests Mario Limonciello
2017-10-10 18:31 ` Pali Rohár
2017-10-10 20:31 ` Mario.Limonciello
2017-10-09 22:51 ` [PATCH v6 11/14] platform/x86: dell-smbios-wmi: Add new WMI dispatcher driver Mario Limonciello
2017-10-12 1:02 ` kbuild test robot
2017-10-09 22:51 ` [PATCH v6 12/14] platform/x86: dell-smbios-smm: test for WSMT Mario Limonciello
2017-10-10 19:11 ` Pali Rohár
2017-10-09 22:51 ` [PATCH v6 13/14] platform/x86: wmi: create character devices when requested by drivers Mario Limonciello
2017-10-10 11:04 ` Greg KH
2017-10-10 11:06 ` Greg KH
2017-10-10 13:41 ` Mario.Limonciello
2017-10-10 13:57 ` Greg KH
2017-10-10 14:00 ` Mario.Limonciello
2017-10-10 19:11 ` Pali Rohár
2017-10-10 19:24 ` Mario.Limonciello
2017-10-11 12:33 ` Alan Cox
2017-10-09 22:51 ` [PATCH v6 14/14] platform/x86: dell-smbios-wmi: introduce userspace interface Mario Limonciello
2017-10-10 13:59 ` Greg KH
2017-10-10 14:17 ` Mario.Limonciello
2017-10-12 1:13 ` kbuild test robot
2017-10-12 1:16 ` kbuild test robot
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=20171010081749.7ohuyadwsg555cli@pali \
--to=pali.rohar@gmail.com \
--cc=andy.shevchenko@gmail.com \
--cc=dvhart@infradead.org \
--cc=greg@kroah.com \
--cc=hch@lst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mario.limonciello@dell.com \
--cc=mjg59@google.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=quasisec@google.com \
--cc=rjw@rjwysocki.net \
/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