In the Linux kernel, a vulnerability has been resolved that could have affected the Intel Graphics processing unit (GPU) by causing an unintentional engine park in specific circumstances. This vulnerability has been labeled CVE-2024-26937.

The vulnerability was primarily caused by the preempt-to-busy race within the Intel Graphics GPU, specifically in the drm/i915/gt subsystem, which led to the assertion that the queue_priority_hint was set to the minimum value. As a result, it could cause the system to behave unpredictably and cause a performance degradation.

This issue has been fixed in the kernel by resetting the queue_priority_hint when parking the engine. After applying the fix, the preempt-to-busy race will no longer occur, ensuring that the system performs as expected and avoids any unexpected engine parks.

Here's the original code snippet that highlights the vulnerability

<3>[  166.210729] __engine_park:283 GEM_BUG_ON(engine->sched_engine->queue_priority_hint != (-((int)(~U >> 1)) - 1))

The original reference to this fix can be found in this commit.

Exploit Details

The exploit leverages the preempt-to-busy race within the Intel Graphics GPU, which triggers a vulnerability when the heartbeat acts as the power-management barrier (allowing the system to idle) and causes a parking event prior to restoring the queue_priority_hint. This issue could lead to performance degradation or other unpredictable system behavior.

To protect your system from this vulnerability, it's crucial to apply the necessary kernel updates, specifically updating the drm/i915/gt subsystem as per the referenced commit.

In conclusion, the CVE-2024-26937 vulnerability has been resolved in the Linux kernel, providing a more secure and reliable experience for users who utilize Intel Graphics GPUs. By applying the necessary updates and maintaining regular kernel updates, your system should remain protected from this and other potential exploits.

Timeline

Published on: 05/01/2024 06:15:08 UTC
Last modified on: 05/04/2025 09:00:11 UTC