• Nicolas Iooss's avatar
    brcmfmac: fix pmksa->bssid usage · 7703773e
    Nicolas Iooss authored
    The struct cfg80211_pmksa defines its bssid field as:
    
        const u8 *bssid;
    
    contrary to struct brcmf_pmksa, which uses:
    
        u8 bssid[ETH_ALEN];
    
    Therefore in brcmf_cfg80211_del_pmksa(), &pmksa->bssid takes the address
    of this field (of type u8**), not the one of its content (which would be
    u8*).  Remove the & operator to make brcmf_dbg("%pM") and memcmp()
    behave as expected.
    
    This bug have been found using a custom static checker (which checks the
    usage of %p... attributes at build time).  It has been introduced in
    commit 6c404f34 ("brcmfmac: Cleanup pmksa cache handling code"),
    which replaced pmksa->bssid by &pmksa->bssid while refactoring the code,
    without modifying struct cfg80211_pmksa definition.
    
    Replace &pmk[i].bssid with pmk[i].bssid too to make the code clearer,
    this change does not affect the semantic.
    
    Fixes: 6c404f34 ("brcmfmac: Cleanup pmksa cache handling code")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarNicolas Iooss <nicolas.iooss_linux@m4x.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    7703773e
cfg80211.c 189 KB