CVE-2023-53522

Source
https://cve.org/CVERecord?id=CVE-2023-53522
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-53522.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-53522
Downstream
Published
2025-10-01T11:46:08.909Z
Modified
2026-03-11T21:22:17.362260Z
Summary
cgroup,freezer: hold cpu_hotplug_lock before freezer_mutex
Details

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

cgroup,freezer: hold cpuhotpluglock before freezer_mutex

syzbot is reporting circular locking dependency between cpuhotpluglock and freezermutex, for commit f5d39b020809 ("freezer,sched: Rewrite core freezer logic") replaced atomicinc() in freezerapplystate() with staticbranchinc() which holds cpuhotpluglock.

cpuhotpluglock => cgroupthreadgrouprwsem => freezer_mutex

cgroupfilewrite() { cgroupprocswrite() { _cgroupprocswrite() { cgroupprocswritestart() { cgroupattachlock() { cpusreadlock() { percpudownread(&cpuhotpluglock); } percpudownwrite(&cgroupthreadgrouprwsem); } } cgroupattachtask() { cgroupmigrate() { cgroupmigrateexecute() { freezerattach() { mutexlock(&freezermutex); (...snipped...) } } } } (...snipped...) } } }

freezermutex => cpuhotplug_lock

cgroupfilewrite() { freezerwrite() { freezerchangestate() { mutexlock(&freezermutex); freezerapplystate() { staticbranchinc(&freezeractive) { statickeyslowinc() { cpusreadlock(); statickeyslowinccpuslocked(); cpusreadunlock(); } } } mutexunlock(&freezer_mutex); } } }

Swap locking order by moving cpusreadlock() in freezerapplystate() to before mutexlock(&freezermutex) in freezerchangestate().

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53522.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
f5d39b020809146cc28e6e73369bf8065e0310aa
Fixed
3756171b97c307d9df8b8ded1d883eec30172085
Fixed
34fbb7b45bae20b551dda24337c7761ca13ce69d
Fixed
57dcd64c7e036299ef526b400a8d12b8a2352f26

Affected versions

v6.*
v6.0
v6.0-rc1
v6.0-rc2
v6.0-rc3
v6.0-rc4
v6.0-rc5
v6.0-rc6
v6.0-rc7
v6.1
v6.1-rc1
v6.1-rc2
v6.1-rc3
v6.1-rc4
v6.1-rc5
v6.1-rc6
v6.1-rc7
v6.1-rc8
v6.1.1
v6.1.10
v6.1.11
v6.1.12
v6.1.13
v6.1.14
v6.1.15
v6.1.16
v6.1.17
v6.1.18
v6.1.19
v6.1.2
v6.1.20
v6.1.21
v6.1.22
v6.1.23
v6.1.24
v6.1.3
v6.1.4
v6.1.5
v6.1.6
v6.1.7
v6.1.8
v6.1.9
v6.2
v6.2-rc1
v6.2-rc2
v6.2-rc3
v6.2-rc4
v6.2-rc5
v6.2-rc6
v6.2-rc7
v6.2-rc8
v6.2.1
v6.2.10
v6.2.11
v6.2.2
v6.2.3
v6.2.4
v6.2.5
v6.2.6
v6.2.7
v6.2.8
v6.2.9
v6.3-rc1
v6.3-rc2

Database specific

vanir_signatures
[
    {
        "signature_type": "Line",
        "deprecated": false,
        "id": "CVE-2023-53522-19d2d352",
        "target": {
            "file": "kernel/cgroup/legacy_freezer.c"
        },
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "241445978640685781987447783395532207842",
                "133127142757676610038920533382006955795",
                "164697580597447498412311477918818008655",
                "92943256199724136006664817444074477219",
                "35151015174202458026127374736652706485",
                "306661769402342123217647162327975679917",
                "68639707973845971433485121959390363888",
                "266610805211352865526035141588412682404",
                "228028837465649958373889593833664616574",
                "162992251641926747166955740772940806431",
                "313865265327860167308693113032547797835",
                "292165508847298937550348822049537912974",
                "39376146763818377142787604157839148545",
                "119200567288906494697717777471223331732",
                "675538389298870792209634558985086791",
                "313724464891238294626069417481658755850",
                "21387746192836123156525154647300024650",
                "33332663833320998087976029197660217395",
                "27642729059667171778661562813319427320"
            ]
        },
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3756171b97c307d9df8b8ded1d883eec30172085"
    },
    {
        "signature_type": "Function",
        "deprecated": false,
        "id": "CVE-2023-53522-4a559ac5",
        "target": {
            "file": "kernel/cgroup/legacy_freezer.c",
            "function": "freezer_change_state"
        },
        "digest": {
            "length": 524.0,
            "function_hash": "323541569648794365536492287699664758674"
        },
        "signature_version": "v1",
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3756171b97c307d9df8b8ded1d883eec30172085"
    }
]
source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-53522.json"