lkml.org 
[lkml]   [2021]   [Jun]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH][next] mlxsw: thermal: Fix null dereference of NULL temperature parameter
    Date
    From: Colin Ian King <colin.king@canonical.com>

    The call to mlxsw_thermal_module_temp_and_thresholds_get passes a NULL
    pointer for the temperature and this can be dereferenced in this function
    if the mlxsw_reg_query call fails. The simplist fix is to pass the
    address of dummy temperature variable instead of a NULL pointer.

    Addresses-Coverity: ("Explicit null dereferenced")
    Fixes: 72a64c2fe9d8 ("mlxsw: thermal: Read module temperature thresholds using MTMP register")
    Signed-off-by: Colin Ian King <colin.king@canonical.com>
    ---
    drivers/net/ethernet/mellanox/mlxsw/core_thermal.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c b/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
    index d54b67d0bda7..0998dcc9cac0 100644
    --- a/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
    +++ b/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c
    @@ -743,7 +743,7 @@ mlxsw_thermal_module_init(struct device *dev, struct mlxsw_core *core,
    struct mlxsw_thermal *thermal, u8 module)
    {
    struct mlxsw_thermal_module *module_tz;
    - int crit_temp, emerg_temp;
    + int dummy_temp, crit_temp, emerg_temp;
    u16 sensor_index;

    sensor_index = MLXSW_REG_MTMP_MODULE_INDEX_MIN + module;
    @@ -758,7 +758,7 @@ mlxsw_thermal_module_init(struct device *dev, struct mlxsw_core *core,
    /* Initialize all trip point. */
    mlxsw_thermal_module_trips_reset(module_tz);
    /* Read module temperature and thresholds. */
    - mlxsw_thermal_module_temp_and_thresholds_get(core, sensor_index, NULL,
    + mlxsw_thermal_module_temp_and_thresholds_get(core, sensor_index, &dummy_temp,
    &crit_temp, &emerg_temp);
    /* Update trip point according to the module data. */
    return mlxsw_thermal_module_trips_update(dev, core, module_tz,
    --
    2.31.1
    \
     
     \ /
      Last update: 2021-06-09 19:59    [W:3.326 / U:1.472 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site