Skip to content

In the Linux kernel, the following vulnerability has been...

Unreviewed Published Apr 3, 2024 to the GitHub Advisory Database • Updated Apr 3, 2024

Package

No package listedSuggest a package

Affected versions

Unknown

Patched versions

Unknown

Description

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

aoe: avoid potential deadlock at set_capacity

Move set_capacity() outside of the section procected by (&d->lock).
To avoid possible interrupt unsafe locking scenario:

    CPU0                    CPU1
    ----                    ----

[1] lock(&bdev->bd_size_lock);
local_irq_disable();
[2] lock(&d->lock);
[3] lock(&bdev->bd_size_lock);

[4] lock(&d->lock);

*** DEADLOCK ***

Where 1 hold by zram_add()->set_capacity().
[2]lock(&d->lock) hold by aoeblk_gdalloc(). And aoeblk_gdalloc()
is trying to acquire 3 at set_capacity() call.
In this situation an attempt to acquire [4]lock(&d->lock) from
aoecmd_cfg_rsp() will lead to deadlock.

So the simplest solution is breaking lock dependency
2 -> 3 by moving set_capacity()
outside.

References

Published by the National Vulnerability Database Apr 3, 2024
Published to the GitHub Advisory Database Apr 3, 2024
Last updated Apr 3, 2024

Severity

Unknown

Weaknesses

No CWEs

CVE ID

CVE-2024-26775

GHSA ID

GHSA-86m3-4q38-6prj

Source code

No known source code

Dependabot alerts are not supported on this advisory because it does not have a package from a supported ecosystem with an affected and fixed version.

Learn more about GitHub language support

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.