CVE-2024-35985

sched/eevdf: Prevent vlag from going out of bounds in reweight_eevdf()

published May 20, 2024

CVSS
—
EPSS
0%
Percentile
12.7
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

sched/eevdf: Prevent vlag from going out of bounds in reweight_eevdf()

It was possible to have pick_eevdf() return NULL, which then causes a

NULL-deref. This turned out to be due to entity_eligible() returning

falsely negative because of a s64 multiplcation overflow.

Specifically, reweight_eevdf() computes the vlag without considering

the limit placed upon vlag as update_entity_lag() does, and then the

scaling multiplication (remember that weight is 20bit fixed point) can

overflow. This then leads to the new vruntime being weird which then

causes the above entity_eligible() to go side-ways and claim nothing

is eligible.

Thus limit the range of vlag accordingly.

All this was quite rare, but fatal when it does happen.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00227 · 12.7th percentile
Published
2024-05-20T09:47Z
EPSS history
Timeline
  • 20 MAY 09:47Z
    sched/eevdf: Prevent vlag from going out of bounds in reweight_eevdf()
    cvelistv5