In the Linux kernel, the following vulnerability has been resolved: padata: avoid UAF for reorderwork Although the previous patch can avoid ps and ps UAF for _doserial, it can not avoid potential UAF issue for reorderwork. This issue can happen just as below: cryptorequest cryptorequest cryptodelalg padatadoserial ... padatareorder // processes all remaining // requests then breaks while (1) { if (!padata) break; ... } padatadoserial // new request added listadd // sees the new request queuework(reorderwork) padatareorder queueworkon(squeue->work) ... <kworker context> padataserialworker // completes new request, // no more outstanding // requests cryptodelalg // free pd <kworker context> invokepadatareorder // UAF of pd To avoid UAF for 'reorderwork', get 'pd' ref before put 'reorderwork' into the 'serialwq' and put 'pd' ref until the 'serialwq' finish.