In the Linux kernel, the following vulnerability has been resolved:usb: cdns3 fix use-after-free at workaround 2BUG: KFENCE: use-after-free read in __list_del_entry_valid+0x10/0xaccdns3_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().
In the Linux kernel, the following vulnerability has been resolved:usb: cdns3 fix use-after-free at workaround 2BUG: KFENCE: use-after-free read in __list_del_entry_valid+0x10/0xaccdns3_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().
In the Linux kernel, the following vulnerability has been resolved:usb: cdns3 fix use-after-free at workaround 2BUG: KFENCE: use-after-free read in __list_del_entry_valid+0x10/0xaccdns3_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().
In the Linux kernel, the following vulnerability has been resolved:usb: cdns3 fix use-after-free at workaround 2BUG: KFENCE: use-after-free read in __list_del_entry_valid+0x10/0xaccdns3_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().