CVE-2023-54259 in Linux
Resumen
por VulDB • 2026-05-25
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
soundwire: bus: Corregir pm_runtime_put() desbalanceado que provoca un desbordamiento por defecto (underflow) del contador de uso
Esto revierte el commit 443a98e649b4 ("soundwire: bus: usar pm_runtime_resume_and_get()")
Se restauran las llamadas a pm_runtime_resume_and_get() a pm_runtime_get_sync(). Esto corrige un desbordamiento por defecto (underrun) del contador de uso causado por ejecutar pm_runtime_put() aunque pm_runtime_resume_and_get() haya devuelto un error.
Las tres funciones afectadas ignoran el error -EACCES al intentar obtener pm_runtime y continúan, incluyendo un put al final de la función. Pero pm_runtime_resume_and_get() no incrementa el contador de uso si devuelve un error. Por lo tanto, en el caso de -EACCES no se debe llamar a pm_runtime_put().
La documentación de pm_runtime_get_sync() indica: "Considere usar pm_runtime_resume_and_get() ... ya que esto probablemente resulte en un código más limpio."
En este caso, no creo que resulte en un código más limpio porque el pm_runtime_put() al final de la función tendría que ser condicional según el valor devuelto por pm_runtime_resume_and_get() en la parte superior de la función.
pm_runtime_get_sync() no tiene este problema porque siempre incrementa el contador, por lo que siempre necesita un put. El código puede fluir y ejecutar pm_runtime_put() incondicionalmente.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.