Skip to content
  • Senthil Balasubramanian's avatar
    mac80211: Fix for NULL pointer dereference in sta_info_get() · 70d251b2
    Senthil Balasubramanian authored
    
    
    This addresses a NULL pointer dereference in sta_info_get().
    TID and sta_info are extracted in ADDBA Timer expiry function
    through the timer handler's argument.
    
    The problem is extracging the TID (which was stored in
    timer_to_tid[] array of type "u8") through "int *" typecast which
    may also yield unwanted bytes for the MSB of TID that results
    in incorrect sta_info and ieee80211_local pointers.
    
    ieee80211_local pointer is NULL as illustrated below, it crashes in
    sta_info_get(). The problem started when extracting ieee80211_local
    pointer out of sta_info iteself and eventually crashed in
    stat_info_get().
    
    The proper way to fix is to change the data type of TID to u8
    instead of u16. However changing all the occurences requires
    some prototype changes as well. We should fix this in upcoming
    patches.
    
    Signed-off-by: default avatarSenthil Balasubramanian <senthilkumar@atheros.com>
    Signed-off-by: default avatarLuis Rodriguez <lrodriguez@atheros.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    70d251b2