lkml.org 
[lkml]   [2017]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v3 4/8] platform/x86: wmi: create character devices when requested by drivers

    On Wed, Sep 27, 2017 at 11:02:16PM -0500, Mario Limonciello wrote:
    > For WMI operations that are only Set or Query read or write sysfs
    > attributes created by WMI vendor drivers make sense.
    >
    > For other WMI operations that are run on Method, there needs to be a
    > way to guarantee to userspace that the results from the method call
    > belong to the data request to the method call. Sysfs attributes don't
    > work well in this scenario because two userspace processes may be
    > competing at reading/writing an attribute and step on each other's
    > data.
    >
    > When a WMI vendor driver declares a set of functions in a
    > file_operations object the WMI bus driver will create a character
    > device that maps to those file operations.
    >
    > That character device will correspond to this path:
    > /dev/wmi/$driver
    >
    > This policy is selected as one driver may map and use multiple
    > GUIDs and it would be better to only expose a single character
    > device.
    >
    > The WMI vendor drivers will be responsible for managing access to
    > this character device and proper locking on it.
    >
    > When a WMI vendor driver is unloaded the WMI bus driver will clean
    > up the character device.
    >
    > Signed-off-by: Mario Limonciello <mario.limonciello@dell.com>
    > ---
    > drivers/platform/x86/wmi.c | 98 +++++++++++++++++++++++++++++++++++++++++++---
    > include/linux/wmi.h | 1 +
    > 2 files changed, 94 insertions(+), 5 deletions(-)

    +Greg, Rafael, Matthew, and Christoph

    You each provided feedback regarding the method of exposing WMI methods
    to userspace. This and subsequent patches from Mario lay some of the
    core groundwork.

    They implement an implicit whitelist as only drivers requesting the char
    dev will see it created.

    https://lkml.org/lkml/2017/9/28/8

    --
    Darren Hart
    VMware Open Source Technology Center

    \
     
     \ /
      Last update: 2017-09-30 03:53    [W:2.362 / U:0.260 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site