Re: [PATCH 2/2] net: mac80211: Fix possible null-pointer dereferences in ieee80211_xmit_fast_finish()

From: Johannes Berg
Date: Wed Jul 24 2019 - 08:39:26 EST


On Wed, 2019-07-24 at 20:36 +0800, Jia-Ju Bai wrote:
> In ieee80211_xmit_fast_finish(), there is an if statement on line 3356
> to check whether key is NULL:
> if (key)
>
> When key is NULL, it is used on line 3388:
> switch (key->conf.cipher)
> and line 3393:
> pn = atomic64_inc_return(&key->conf.tx_pn);
> and line 3396:
> crypto_hdr[3] = 0x20 | (key->conf.keyidx << 6);
>
> Thus, possible null-pointer dereferences may occur.

No, this cannot happen, because pn_offs can only be non-zero when there
is a key. Maybe we should pass the fast_tx pointer instead of the
pn_offs/key from it, but the two are coupled.

johannes