lkml.org 
[lkml]   [2015]   [Nov]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.1 06/86] iwlwifi: mvm: fix D3 firmware PN programming
    Date
    4.1-stable review patch.  If anyone has any objections, please let me know.

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

    From: Johannes Berg <johannes.berg@intel.com>

    commit 2cf5eb3ab7bb7f2e3a70edcef236cd62c87db030 upstream.

    The code to send the RX PN data (for each TID) to the firmware
    has a devastating bug: it overwrites the data for TID 0 with
    all the TID data, leaving the remaining TIDs zeroed. This will
    allow replays to actually be accepted by the firmware, which
    could allow waking up the system.

    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/net/wireless/iwlwifi/mvm/d3.c | 12 ++++++------
    1 file changed, 6 insertions(+), 6 deletions(-)

    --- a/drivers/net/wireless/iwlwifi/mvm/d3.c
    +++ b/drivers/net/wireless/iwlwifi/mvm/d3.c
    @@ -298,12 +298,12 @@ static void iwl_mvm_wowlan_program_keys(
    u8 *pn = seq.ccmp.pn;

    ieee80211_get_key_rx_seq(key, i, &seq);
    - aes_sc->pn = cpu_to_le64((u64)pn[5] |
    - ((u64)pn[4] << 8) |
    - ((u64)pn[3] << 16) |
    - ((u64)pn[2] << 24) |
    - ((u64)pn[1] << 32) |
    - ((u64)pn[0] << 40));
    + aes_sc[i].pn = cpu_to_le64((u64)pn[5] |
    + ((u64)pn[4] << 8) |
    + ((u64)pn[3] << 16) |
    + ((u64)pn[2] << 24) |
    + ((u64)pn[1] << 32) |
    + ((u64)pn[0] << 40));
    }
    data->use_rsc_tsc = true;
    break;



    \
     
     \ /
      Last update: 2015-11-06 21:01    [W:4.346 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site