lkml.org 
[lkml]   [2013]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.8 52/91] mac80211: fix crash if bitrate calculation goes wrong
    Date
    3.8.13.13 -stable review patch.  If anyone has any objections, please let me know.

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

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

    commit d86aa4f8ca58898ec6a94c0635da20b948171ed7 upstream.

    If a frame's timestamp is calculated, and the bitrate
    calculation goes wrong and returns zero, the system
    will attempt to divide by zero and crash. Catch this
    case and print the rate information that the driver
    reported when this happens.

    Reported-by: Thomas Lindroth <thomas.lindroth@gmail.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    net/mac80211/util.c | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/net/mac80211/util.c b/net/mac80211/util.c
    index f11e8c5..e0ad72d 100644
    --- a/net/mac80211/util.c
    +++ b/net/mac80211/util.c
    @@ -2105,6 +2105,10 @@ u64 ieee80211_calculate_rx_timestamp(struct ieee80211_local *local,
    }

    rate = cfg80211_calculate_bitrate(&ri);
    + if (WARN_ONCE(!rate,
    + "Invalid bitrate: flags=0x%x, idx=%d, vht_nss=%d\n",
    + status->flag, status->rate_idx, status->vht_nss))
    + return 0;

    /* rewind from end of MPDU */
    if (status->flag & RX_FLAG_MACTIME_END)
    --
    1.8.1.2


    \
     
     \ /
      Last update: 2013-11-08 04:01    [W:2.115 / U:0.572 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site