lkml.org 
[lkml]   [2012]   [Sep]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 05/11] asus-wmi: Restrict debugfs interface
    Date
    We have no way of validating what all of the Asus WMI methods do on a
    given machine, and there's a risk that some will allow hardware state to
    be manipulated in such a way that arbitrary code can be executed in the
    kernel. Add a capability check to prevent that.

    Signed-off-by: Matthew Garrett <mjg@redhat.com>
    ---
    drivers/platform/x86/asus-wmi.c | 9 +++++++++
    1 file changed, 9 insertions(+)

    diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
    index 2eb9fe8..03ea0e8 100644
    --- a/drivers/platform/x86/asus-wmi.c
    +++ b/drivers/platform/x86/asus-wmi.c
    @@ -1523,6 +1523,9 @@ static int show_dsts(struct seq_file *m, void *data)
    int err;
    u32 retval = -1;

    + if (!capable(CAP_SECURE_FIRMWARE))
    + return -EPERM;
    +
    err = asus_wmi_get_devstate(asus, asus->debug.dev_id, &retval);

    if (err < 0)
    @@ -1539,6 +1542,9 @@ static int show_devs(struct seq_file *m, void *data)
    int err;
    u32 retval = -1;

    + if (!capable(CAP_SECURE_FIRMWARE))
    + return -EPERM;
    +
    err = asus_wmi_set_devstate(asus->debug.dev_id, asus->debug.ctrl_param,
    &retval);

    @@ -1563,6 +1569,9 @@ static int show_call(struct seq_file *m, void *data)
    union acpi_object *obj;
    acpi_status status;

    + if (!capable(CAP_SECURE_FIRMWARE))
    + return -EPERM;
    +
    status = wmi_evaluate_method(ASUS_WMI_MGMT_GUID,
    1, asus->debug.method_id,
    &input, &output);
    --
    1.7.11.4


    \
     
     \ /
      Last update: 2012-09-04 18:42    [W:0.023 / U:29.708 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site