Variables being modified but not used in net/wireless/lib80211_crypt_tkip.c

From: Colin King (gmail)
Date: Mon Oct 24 2022 - 13:17:49 EST


Hi,

I was reviewing some clang scan build static analysis results and found an interesting warning:

Source: net/wireless/lib80211_crypt_tkip.c

net/wireless/lib80211_crypt_tkip.c:667:7: warning: variable 'iv32' set but not used [-Wunused-but-set-variable]
u32 iv32 = tkey->tx_iv32;

The variables iv32 and iv16 are being decremented, but are not referenced after that. The seq[] array is being updated with the pre-decremented values. Is that correct?

if (seq) {
/* Return the sequence number of the last transmitted frame. */
u16 iv16 = tkey->tx_iv16;
u32 iv32 = tkey->tx_iv32;
if (iv16 == 0)
iv32--;
iv16--;
seq[0] = tkey->tx_iv16;
seq[1] = tkey->tx_iv16 >> 8;
seq[2] = tkey->tx_iv32;
seq[3] = tkey->tx_iv32 >> 8;
seq[4] = tkey->tx_iv32 >> 16;
seq[5] = tkey->tx_iv32 >> 24;
}

return TKIP_KEY_LEN;

Colin