Lucene search

K
nvd416baaa9-dc9f-4396-8d5f-8c081fb06d67NVD:CVE-2024-35879
HistoryMay 19, 2024 - 9:15 a.m.

CVE-2024-35879

2024-05-1909:15:09
416baaa9-dc9f-4396-8d5f-8c081fb06d67
web.nvd.nist.gov
3
linux kernel
vulnerability
cve-2024-35879
of_platform_depopulate
of_overlay_remove
memory leak
devlink removals
asynchronous
workqueue

AI Score

6.5

Confidence

Low

EPSS

0

Percentile

10.3%

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

of: dynamic: Synchronize of_changeset_destroy() with the devlink removals

In the following sequence:

  1. of_platform_depopulate()
  2. of_overlay_remove()

During the step 1, devices are destroyed and devlinks are removed.
During the step 2, OF nodes are destroyed but
__of_changeset_entry_destroy() can raise warnings related to missing
of_node_put():
ERROR: memory leak, expected refcount 1 instead of 2 …

Indeed, during the devlink removals performed at step 1, the removal
itself releasing the device (and the attached of_node) is done by a job
queued in a workqueue and so, it is done asynchronously with respect to
function calls.
When the warning is present, of_node_put() will be called but wrongly
too late from the workqueue job.

In order to be sure that any ongoing devlink removals are done before
the of_node destruction, synchronize the of_changeset_destroy() with the
devlink removals.

AI Score

6.5

Confidence

Low

EPSS

0

Percentile

10.3%