lkml.org 
[lkml]   [2014]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.13 210/212] target: Fix alua_access_state attribute OOPs for un-configured devices
    Date
    3.13.11.4 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Nicholas Bellinger <nab@linux-iscsi.org>

    commit f1453773514bb8b0bba0716301e8c8f17f8d39c7 upstream.

    This patch fixes a OOPs where an attempt to write to the per-device
    alua_access_state configfs attribute at:

    /sys/kernel/config/target/core/$HBA/$DEV/alua/$TG_PT_GP/alua_access_state

    results in an NULL pointer dereference when the backend device has not
    yet been configured.

    This patch adds an explicit check for DF_CONFIGURED, and fails with
    -ENODEV to avoid this case.

    Reported-by: Chris Boot <crb@tiger-computing.co.uk>
    Reported-by: Philip Gaw <pgaw@darktech.org.uk>
    Cc: Chris Boot <crb@tiger-computing.co.uk>
    Cc: Philip Gaw <pgaw@darktech.org.uk>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/target/target_core_configfs.c | 5 +++++
    1 file changed, 5 insertions(+)

    diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c
    index 272755d..afcbb04 100644
    --- a/drivers/target/target_core_configfs.c
    +++ b/drivers/target/target_core_configfs.c
    @@ -2040,6 +2040,11 @@ static ssize_t target_core_alua_tg_pt_gp_store_attr_alua_access_state(
    " tg_pt_gp ID: %hu\n", tg_pt_gp->tg_pt_gp_valid_id);
    return -EINVAL;
    }
    + if (!(dev->dev_flags & DF_CONFIGURED)) {
    + pr_err("Unable to set alua_access_state while device is"
    + " not configured\n");
    + return -ENODEV;
    + }

    ret = kstrtoul(page, 0, &tmp);
    if (ret < 0) {
    --
    1.9.1


    \
     
     \ /
      Last update: 2014-06-18 01:01    [W:4.087 / U:0.556 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site