lkml.org 
[lkml]   [2020]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 034/102] ice: fix stack leakage
    Date
    From: Jesse Brandeburg <jesse.brandeburg@intel.com>

    commit 949375de945f7042df2b6488228a1a2b36e69f35 upstream.

    In the case of an invalid virtchannel request the driver
    would return uninitialized data to the VF from the PF stack
    which is a bug. Fix by initializing the stack variable
    earlier in the function before any return paths can be taken.

    Fixes: 1071a8358a28 ("ice: Implement virtchnl commands for AVF support")
    Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
    Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c | 3 +--
    1 file changed, 1 insertion(+), 2 deletions(-)

    --- a/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c
    +++ b/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c
    @@ -1873,8 +1873,8 @@ static int ice_vc_get_stats_msg(struct i
    enum virtchnl_status_code v_ret = VIRTCHNL_STATUS_SUCCESS;
    struct virtchnl_queue_select *vqs =
    (struct virtchnl_queue_select *)msg;
    + struct ice_eth_stats stats = { 0 };
    struct ice_pf *pf = vf->pf;
    - struct ice_eth_stats stats;
    struct ice_vsi *vsi;

    if (!test_bit(ICE_VF_STATE_ACTIVE, vf->vf_states)) {
    @@ -1893,7 +1893,6 @@ static int ice_vc_get_stats_msg(struct i
    goto error_param;
    }

    - memset(&stats, 0, sizeof(struct ice_eth_stats));
    ice_update_eth_stats(vsi);

    stats = vsi->eth_stats;

    \
     
     \ /
      Last update: 2020-01-24 10:40    [W:4.051 / U:0.684 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site