"value":"In the Linux kernel, the following vulnerability has been resolved:\n\ntracing/timerlat: Drop interface_lock in stop_kthread()\n\nstop_kthread() is the offline callback for \"trace/osnoise:online\", since\ncommit 5bfbcd1ee57b (\"tracing/timerlat: Add interface_lock around clearing\nof kthread in stop_kthread()\"), the following ABBA deadlock scenario is\nintroduced:\n\nT1 | T2 [BP] | T3 [AP]\nosnoise_hotplug_workfn() | work_for_cpu_fn() | cpuhp_thread_fun()\n | _cpu_down() | osnoise_cpu_die()\n mutex_lock(&interface_lock) | | stop_kthread()\n | cpus_write_lock() | mutex_lock(&interface_lock)\n cpus_read_lock() | cpuhp_kick_ap() |\n\nAs the interface_lock here in just for protecting the \"kthread\" field of\nthe osn_var, use xchg() instead to fix this issue. Also use\nfor_each_online_cpu() back in stop_per_cpu_kthreads() as it can take\ncpu_read_lock() again."
"value":"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: tracing/timerlat: eliminar interface_lock en stop_kthread() stop_kthread() es la devoluci\u00f3n de llamada fuera de l\u00ednea para \"trace/osnoise:online\", desde el commit 5bfbcd1ee57b (\"tracing/timerlat: agregar interface_lock alrededor de la limpieza de kthread en stop_kthread()\"), se introduce el siguiente escenario de bloqueo ABBA: T1 | T2 [BP] | T3 [AP] osnoise_hotplug_workfn() | work_for_cpu_fn() | cpuhp_thread_fun() | _cpu_down() | osnoise_cpu_die() mutex_lock(&interface_lock) | | stop_kthread() | cpus_write_lock() | mutex_lock(&interface_lock) cpus_read_lock() | cpuhp_kick_ap() | Como interface_lock aqu\u00ed solo sirve para proteger el campo \"kthread\" de osn_var, utilice xchg() en su lugar para solucionar este problema. Utilice tambi\u00e9n for_each_online_cpu() en stop_per_cpu_kthreads(), ya que puede volver a activar cpu_read_lock()."