CVE-2023-52836 in Linux
Résumé
par VulDB • 21/05/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
locking/ww_mutex/test : Correction d'une corruption potentielle de la file de travail (workqueue)
Dans certains cas, lors de l'exécution du code de test-ww_mutex, j'ai observé un comportement inattendu où il semblait que flush_workqueue retourne avant que tous les threads de travail ne soient terminés.
Cela provoquait souvent des plantages étranges, car les mutex étaient libérés alors qu'ils étaient encore utilisés.
En examinant le code, il apparaît qu'il y a un problème de durée de vie : le thread de contrôle qui lance le travail alloue les structures « struct stress » qui sont transmises aux threads de la file de travail. Ensuite, lorsque les threads de la file de travail sont terminés, ils libèrent la structure stress qui leur a été passée.
Malheureusement, le nœud work_struct de la file de travail se trouve dans la structure stress. Cela signifie que le work_struct est libéré avant que le thread de travail ne retourne et alors que flush_workqueue est en attente.
Il semble préférable que le thread de contrôle alloue et libère les structures stress, afin de garantir que nous ne corrompons pas la file de travail en libérant prématurément la structure.
Ce correctif réorganise donc le test pour qu'il fonctionne ainsi, et avec ce changement, je ne vois plus les retours anticipés de flush_workqueue.
If you want to get best quality of vulnerability data, you may have to visit VulDB.