"value":"In the Linux kernel, the following vulnerability has been resolved:\n\ntmpfs: fix race on handling dquot rbtree\n\nA syzkaller reproducer found a race while attempting to remove dquot\ninformation from the rb tree.\n\nFetching the rb_tree root node must also be protected by the\ndqopt->dqio_sem, otherwise, giving the right timing, shmem_release_dquot()\nwill trigger a warning because it couldn't find a node in the tree, when\nthe real reason was the root node changing before the search starts:\n\nThread 1\t\t\t\tThread 2\n- shmem_release_dquot()\t\t\t- shmem_{acquire,release}_dquot()\n\n- fetch ROOT\t\t\t\t- Fetch ROOT\n\n\t\t\t\t\t- acquire dqio_sem\n- wait dqio_sem\n\n\t\t\t\t\t- do something, triger a tree rebalance\n\t\t\t\t\t- release dqio_sem\n\n- acquire dqio_sem\n- start searching for the node, but\n from the wrong location, missing\n the node, and triggering a warning."
"value":"En el kernel de Linux, se resolvi\u00f3 la siguiente vulnerabilidad: tmpfs: corrige la ejecuci\u00f3n al manejar dquot rbtree Un reproductor syzkaller encontr\u00f3 una ejecuci\u00f3n al intentar eliminar informaci\u00f3n de dquot del \u00e1rbol rb. La recuperaci\u00f3n del nodo ra\u00edz de rb_tree tambi\u00e9n debe estar protegida por dqopt->dqio_sem; de lo contrario, si se da el momento adecuado, shmem_release_dquot() activar\u00e1 una advertencia porque no pudo encontrar un nodo en el \u00e1rbol, cuando la verdadera raz\u00f3n era el nodo ra\u00edz. cambiando antes de que comience la b\u00fasqueda: Hilo 1 Hilo 2 - shmem_release_dquot() - shmem_{acquire,release}_dquot() - buscar ROOT - Obtener ROOT - adquirir dqio_sem - esperar dqio_sem - hacer algo, activar un reequilibrio de \u00e1rbol - liberar dqio_sem - adquirir dqio_sem - comienza a buscar el nodo, pero desde la ubicaci\u00f3n incorrecta, pierde el nodo y genera una advertencia."