staging: rtl8192e: fix potential use after free
authorPan Bian <bianpan2016@163.com>
Tue, 5 Nov 2019 14:49:11 +0000 (22:49 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Dec 2019 21:30:47 +0000 (22:30 +0100)
commitab1908cbe204faaf3f65e59e23b6863002e852a0
treeb3917928bea772201b97f7b558fb2ff324ae83dd
parentbb2135c6a5e3eee1d3884af2cfc3d3e5126c4eef
staging: rtl8192e: fix potential use after free

commit b7aa39a2ed0112d07fc277ebd24a08a7b2368ab9 upstream.

The variable skb is released via kfree_skb() when the return value of
_rtl92e_tx is not zero. However, after that, skb is accessed again to
read its length, which may result in a use after free bug. This patch
fixes the bug by moving the release operation to where skb is never
used later.

Signed-off-by: Pan Bian <bianpan2016@163.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/1572965351-6745-1-git-send-email-bianpan2016@163.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8192e/rtl8192e/rtl_core.c