In the Linux kernel, the following vulnerability has been resolved: usb: cdns3 fix use-after-free at workaround 2 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().
https://git.kernel.org/stable/c/e65d9b7147d7be3504893ca7dfb85286bda83d40
https://git.kernel.org/stable/c/c3c1dbad3a2db32ecf371c97f2058491b8ba0f9a
https://git.kernel.org/stable/c/7d602f30149a117eea260208b1661bc404c21dfd
https://git.kernel.org/stable/c/6fd50446e7c9a98b4bcf96815f5c9602a16ea472
https://git.kernel.org/stable/c/6d7ac60098b206d0472475b666cb09d556bec03d