From: Mario Limonciello <mario.limonciello@dell.com>
To: dvhart@infradead.org
Cc: LKML <linux-kernel@vger.kernel.org>,
platform-driver-x86@vger.kernel.org, quasisec@google.com,
pali.rohar@gmail.com,
Mario Limonciello <mario.limonciello@dell.com>
Subject: [PATCH 00/12] Introduce support for Dell SMBIOS over WMI
Date: Thu, 21 Sep 2017 08:57:05 -0500 [thread overview]
Message-ID: <cover.1505999739.git.mario.limonciello@dell.com> (raw)
The existing way that the dell-smbios helper module and associated
other drivers (dell-laptop, dell-wmi) communicate with the platform
really isn't secure. It requires creating a buffer in physical
DMA32 memory space and passing that to the platform via SMM.
Since the platform got a physical memory pointer, you've just got
to trust that the platform has only modified (and accessed) memory
within that buffer.
Dell Platform designers recognize this security risk and offer a
safer way to communicate with the platform over ACPI. This is
in turn exposed via a WMI interface to the OS.
When communicating over WMI-ACPI the communication doesn't occur
with physical memory pointers. When the ASL is invoked, the fixed
length ACPI buffer is copied to a small operating region. The ASL
will invoke the SMI, and SMM will only have access to this operating
region. When the ASL returns the buffer is copied back for the OS
to process.
This method of communication should also deprecate the usage of the
dcdbas kernel module and software dependent upon it's interface.
Instead offer a syfs interface for communicating with this ASL
method to allow userspace to use instead.
To faciliate that needs for userspace and kernel space this patch
series introduces a generic way for WMI drivers to be able to
create character devices through the WMI bus when desired.
Requiring WMI drivers to explictly ask for this functionality will
act as an effective vendor whitelist.
Mario Limonciello (12):
platform/x86: dell-wmi: label driver as handling notifications
platform/x86: dell-wmi: Don't match on descriptor GUID modalias
platform/x86: dell-smbios: Add pr_fmt definition to driver
platform/x86: dell-smbios: Switch to a WMI-ACPI interface
platform/x86: dell-smbios: rename to dell-wmi-smbios
platform/x86: dell-wmi-smbios: Add a sysfs interface for SMBIOS tokens
platform/x86: dell-wmi-smbios: Use Dell WMI descriptor check
platform/x86: wmi: Cleanup exit routine in reverse order of init
platform/x86: wmi: create character devices when requested by drivers
platform/x86: wmi: destroy on cleanup rather than unregister
platform/x86: dell-wmi-smbios: introduce character device for
userspace
platform/x86: Kconfig: Change the default settings for dell-wmi-smbios
Documentation/ABI/testing/dell-wmi-smbios | 19 +
.../ABI/testing/sysfs-platform-dell-wmi-smbios | 16 +
MAINTAINERS | 8 +-
drivers/platform/x86/Kconfig | 13 +-
drivers/platform/x86/Makefile | 2 +-
drivers/platform/x86/dell-laptop.c | 2 +-
drivers/platform/x86/dell-smbios.c | 213 ----------
drivers/platform/x86/dell-wmi-smbios.c | 444 +++++++++++++++++++++
.../x86/{dell-smbios.h => dell-wmi-smbios.h} | 23 +-
drivers/platform/x86/dell-wmi.c | 78 +---
drivers/platform/x86/wmi.c | 104 ++++-
include/linux/wmi.h | 1 +
12 files changed, 610 insertions(+), 313 deletions(-)
create mode 100644 Documentation/ABI/testing/dell-wmi-smbios
create mode 100644 Documentation/ABI/testing/sysfs-platform-dell-wmi-smbios
delete mode 100644 drivers/platform/x86/dell-smbios.c
create mode 100644 drivers/platform/x86/dell-wmi-smbios.c
rename drivers/platform/x86/{dell-smbios.h => dell-wmi-smbios.h} (75%)
--
2.14.1
next reply other threads:[~2017-09-21 13:57 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-21 13:57 Mario Limonciello [this message]
2017-09-21 13:57 ` [PATCH 01/12] platform/x86: dell-wmi: label driver as handling notifications Mario Limonciello
2017-09-25 16:04 ` Pali Rohár
2017-09-25 20:14 ` Mario.Limonciello
2017-09-27 15:43 ` Darren Hart
2017-09-21 13:57 ` [PATCH 02/12] platform/x86: dell-wmi: Don't match on descriptor GUID modalias Mario Limonciello
2017-09-25 16:06 ` Pali Rohár
2017-09-21 13:57 ` [PATCH 03/12] platform/x86: dell-smbios: Add pr_fmt definition to driver Mario Limonciello
2017-09-21 16:22 ` Andy Shevchenko
2017-09-25 16:07 ` Pali Rohár
2017-09-21 13:57 ` [PATCH 04/12] platform/x86: dell-smbios: Switch to a WMI-ACPI interface Mario Limonciello
2017-09-25 16:18 ` Pali Rohár
2017-09-25 19:28 ` Mario.Limonciello
2017-09-27 16:46 ` Darren Hart
2017-09-27 18:29 ` Mario.Limonciello
2017-09-27 19:47 ` Andy Lutomirski
2017-09-27 21:15 ` Mario.Limonciello
2017-09-21 13:57 ` [PATCH 05/12] platform/x86: dell-smbios: rename to dell-wmi-smbios Mario Limonciello
2017-09-21 13:57 ` [PATCH 06/12] platform/x86: dell-wmi-smbios: Add a sysfs interface for SMBIOS tokens Mario Limonciello
2017-09-25 16:23 ` Pali Rohár
2017-09-25 17:04 ` Andy Shevchenko
2017-09-25 17:31 ` Mario.Limonciello
2017-09-27 16:50 ` Darren Hart
2017-09-27 18:27 ` Mario.Limonciello
2017-09-27 18:31 ` Andy Shevchenko
2017-09-27 18:55 ` Darren Hart
2017-09-27 19:49 ` Andy Lutomirski
2017-09-27 19:50 ` Mario.Limonciello
2017-09-21 13:57 ` [PATCH 07/12] platform/x86: dell-wmi-smbios: Use Dell WMI descriptor check Mario Limonciello
2017-09-21 16:44 ` Andy Shevchenko
2017-09-21 20:56 ` Mario.Limonciello
2017-09-21 13:57 ` [PATCH 08/12] platform/x86: wmi: Cleanup exit routine in reverse order of init Mario Limonciello
2017-09-21 13:57 ` [PATCH 09/12] platform/x86: wmi: create character devices when requested by drivers Mario Limonciello
2017-09-21 16:46 ` Andy Shevchenko
2017-09-21 19:21 ` Mario.Limonciello
2017-09-21 13:57 ` [PATCH 10/12] platform/x86: wmi: destroy on cleanup rather than unregister Mario Limonciello
2017-09-21 13:57 ` [PATCH 11/12] platform/x86: dell-wmi-smbios: introduce character device for userspace Mario Limonciello
2017-09-25 16:31 ` Pali Rohár
2017-09-25 16:58 ` Andy Shevchenko
2017-09-25 17:46 ` Mario.Limonciello
2017-09-27 16:59 ` Darren Hart
2017-09-27 18:10 ` Mario.Limonciello
2017-09-27 18:50 ` Darren Hart
2017-09-27 21:12 ` Mario.Limonciello
2017-09-27 21:59 ` Darren Hart
2017-09-21 13:57 ` [PATCH 12/12] platform/x86: Kconfig: Change the default settings for dell-wmi-smbios Mario Limonciello
2017-09-25 16:13 ` [PATCH 00/12] Introduce support for Dell SMBIOS over WMI Pali Rohár
2017-09-25 16:32 ` Mario.Limonciello
2017-09-25 16:49 ` Pali Rohár
2017-09-25 19:27 ` Mario.Limonciello
2017-09-27 16:39 ` Darren Hart
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=cover.1505999739.git.mario.limonciello@dell.com \
--to=mario.limonciello@dell.com \
--cc=dvhart@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pali.rohar@gmail.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=quasisec@google.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
Powered by JetHome