В ядре Linux устранена следующая уязвимость:
dma-fence: исправлено потенциальное разыменование нулевого указателя точки трассировки. Trace_dma_fence_signaled, Trace_dma_fence_wait_end и
trace_dma_fence_destroy в настоящее время может разыменовать нулевой Fence->ops
указатель после его сброса при сигнализации ограждения. Давайте использовать безопасные методы получения строк для большинства точек трассировки, чтобы избежать этого класса.
проблемы, а точку трассировки сигнала мы перемещаем до того, как будут запущены операции.
очищено, чтобы избежать потери информации о драйвере и имени временной шкалы.
Отдельно
от его перемещения нам также нужно добавить новый класс точки трассировки, чтобы обойти
безопасные методы получения имен, поскольку сигнальный бит уже установлен. Для dma_fence_init нам также необходимо использовать новый класс точки трассировки, поскольку
Блокировка чтения rcu там не удерживается, и мы можем сделать то же самое для включения
сигнализация, поскольку мы уверены, что на забор нельзя подавать сигнал, пока
мы удерживаем блокировку и даже проверили Fence->ops.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: dma-fence: Fix potential tracepoint null pointer dereferences Trace_dma_fence_signaled, trace_dma_fence_wait_end and trace_dma_fence_destroy can all currently dereference a null fence->ops pointer after it has been reset on fence signalling. Lets use the safe string getters for most tracepoints to avoid this class of a problem, while for the signal tracepoint we move it to before ops are cleared to avoid losing the driver and timeline name information. Apart from moving it we also need to add a new tracepoint class to bypass the safe name getters since the signaled bit is already set. For dma_fence_init we also need to use the new tracepoint class since the rcu read lock is not held there, and we can do the same for the enable signaling since there we are certain the fence cannot be signaled while we are holding the lock and have even validated the fence->ops.