提交 f4cc40cb 编写于 作者: F Frank Li 提交者: Zheng Zengkai

usb: cdns3 fix use-after-free at workaround 2

stable inclusion
from stable-v5.10.138
commit 6d7ac60098b206d0472475b666cb09d556bec03d
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I60QFD

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6d7ac60098b206d0472475b666cb09d556bec03d

--------------------------------

[ Upstream commit 7d602f30 ]

BUG: KFENCE: use-after-free read in __list_del_entry_valid+0x10/0xac

cdns3_wa2_remove_old_request()
{
	...
	kfree(priv_req->request.buf);
	cdns3_gadget_ep_free_request(&priv_ep->endpoint, &priv_req->request);
	list_del_init(&priv_req->list);
	^^^ use after free
	...
}

cdns3_gadget_ep_free_request() free the space pointed by priv_req,
but priv_req is used in the following list_del_init().

This patch move list_del_init() before cdns3_gadget_ep_free_request().
Signed-off-by: NFrank Li <Frank.Li@nxp.com>
Signed-off-by: NFaqiang Zhu <faqiang.zhu@nxp.com>
Link: https://lore.kernel.org/r/20220608190430.2814358-1-Frank.Li@nxp.comSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
Reviewed-by: NWei Li <liwei391@huawei.com>
上级 e308488d
...@@ -655,9 +655,9 @@ static void cdns3_wa2_remove_old_request(struct cdns3_endpoint *priv_ep) ...@@ -655,9 +655,9 @@ static void cdns3_wa2_remove_old_request(struct cdns3_endpoint *priv_ep)
trace_cdns3_wa2(priv_ep, "removes eldest request"); trace_cdns3_wa2(priv_ep, "removes eldest request");
kfree(priv_req->request.buf); kfree(priv_req->request.buf);
list_del_init(&priv_req->list);
cdns3_gadget_ep_free_request(&priv_ep->endpoint, cdns3_gadget_ep_free_request(&priv_ep->endpoint,
&priv_req->request); &priv_req->request);
list_del_init(&priv_req->list);
--priv_ep->wa2_counter; --priv_ep->wa2_counter;
if (!chain) if (!chain)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册