From: Jérôme Pouiller Date: Fri, 15 May 2020 08:33:16 +0000 (+0200) Subject: staging: wfx: fix potential use-after-free X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=13839ef377124956dac8a58887abfd7d8d9414ca;p=linux.git staging: wfx: fix potential use-after-free wfx_tx_policy_put() use data from the skb. However, the call to skb_pull() has just discarded them (even if the memory is in fact not really discarded). Signed-off-by: Jérôme Pouiller Link: https://lore.kernel.org/r/20200515083325.378539-11-Jerome.Pouiller@silabs.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/wfx/data_tx.c b/drivers/staging/wfx/data_tx.c index 314cc2743a2ba..d01e679b08806 100644 --- a/drivers/staging/wfx/data_tx.c +++ b/drivers/staging/wfx/data_tx.c @@ -494,8 +494,8 @@ static void wfx_skb_dtor(struct wfx_vif *wvif, struct sk_buff *skb) req->data_flags.fc_offset; WARN_ON(!wvif); - skb_pull(skb, offset); wfx_tx_policy_put(wvif, req->tx_flags.retry_policy_index); + skb_pull(skb, offset); ieee80211_tx_status_irqsafe(wvif->wdev->hw, skb); }