CVE-2025-21908

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-21908
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-21908.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-21908
Downstream
Related
Published
2025-04-01T15:40:48Z
Modified
2025-10-17T22:28:57.333807Z
Severity
  • 5.5 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
NFS: fix nfs_release_folio() to not deadlock via kcompactd writeback
Details

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

NFS: fix nfsreleasefolio() to not deadlock via kcompactd writeback

Add PFKCOMPACTD flag and currentiskcompactd() helper to check for it so nfsreleasefolio() can skip calling nfswb_folio() from kcompactd.

Otherwise NFS can deadlock waiting for kcompactd enduced writeback which recurses back to NFS (which triggers writeback to NFSD via NFS loopback mount on the same host, NFSD blocks waiting for XFS's call to _filemapget_folio):

6070.550357] INFO: task kcompactd0:58 blocked for more than 4435 seconds.

{--- [58] "kcompactd0" [<0>] foliowaitbit+0xe8/0x200 [<0>] foliowaitwriteback+0x2b/0x80 [<0>] nfswbfolio+0x80/0x1b0 [nfs] [<0>] nfsreleasefolio+0x68/0x130 [nfs] [<0>] splithugepagetolisttoorder+0x362/0x840 [<0>] migratepagesbatch+0x43d/0xb90 [<0>] migratepagessync+0x9a/0x240 [<0>] migratepages+0x93c/0x9f0 [<0>] compactzone+0x8e2/0x1030 [<0>] compactnode+0xdb/0x120 [<0>] kcompactd+0x121/0x2e0 [<0>] kthread+0xcf/0x100 [<0>] retfromfork+0x31/0x40 [<0>] retfromforkasm+0x1a/0x30 ---}

[akpm@linux-foundation.org: fix build]

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
96780ca55e3cbf4f150fd5a833a61492c9947b5b
Fixed
ab0727d6e2196682351c25c1dd112136f6991f11
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
96780ca55e3cbf4f150fd5a833a61492c9947b5b
Fixed
5ae31c54cff745832b9bd5b32e71f3d1b607cd1e
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
96780ca55e3cbf4f150fd5a833a61492c9947b5b
Fixed
8253ff29edcb429a9a6c75710941c6a16a9a34b1
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
96780ca55e3cbf4f150fd5a833a61492c9947b5b
Fixed
ce6d9c1c2b5cc785016faa11b48b6cd317eb367e

Affected versions

v6.*

v6.10
v6.10-rc1
v6.10-rc2
v6.10-rc3
v6.10-rc4
v6.10-rc5
v6.10-rc6
v6.10-rc7
v6.11
v6.11-rc1
v6.11-rc2
v6.11-rc3
v6.11-rc4
v6.11-rc5
v6.11-rc6
v6.11-rc7
v6.12
v6.12-rc1
v6.12-rc2
v6.12-rc3
v6.12-rc4
v6.12-rc5
v6.12-rc6
v6.12-rc7
v6.12.1
v6.12.10
v6.12.11
v6.12.12
v6.12.13
v6.12.14
v6.12.15
v6.12.16
v6.12.17
v6.12.18
v6.12.2
v6.12.3
v6.12.4
v6.12.5
v6.12.6
v6.12.7
v6.12.8
v6.12.9
v6.13
v6.13-rc1
v6.13-rc2
v6.13-rc3
v6.13-rc4
v6.13-rc5
v6.13-rc6
v6.13-rc7
v6.13.1
v6.13.2
v6.13.3
v6.13.4
v6.13.5
v6.13.6
v6.14-rc1
v6.14-rc2
v6.14-rc3
v6.2
v6.3
v6.3-rc1
v6.3-rc2
v6.3-rc3
v6.3-rc4
v6.3-rc5
v6.3-rc6
v6.3-rc7
v6.4
v6.4-rc1
v6.4-rc2
v6.4-rc3
v6.4-rc4
v6.4-rc5
v6.4-rc6
v6.4-rc7
v6.5
v6.5-rc1
v6.5-rc2
v6.5-rc3
v6.5-rc4
v6.5-rc5
v6.5-rc6
v6.5-rc7
v6.6
v6.6-rc1
v6.6-rc2
v6.6-rc3
v6.6-rc4
v6.6-rc5
v6.6-rc6
v6.6-rc7
v6.6.1
v6.6.10
v6.6.11
v6.6.12
v6.6.13
v6.6.14
v6.6.15
v6.6.16
v6.6.17
v6.6.18
v6.6.19
v6.6.2
v6.6.20
v6.6.21
v6.6.22
v6.6.23
v6.6.24
v6.6.25
v6.6.26
v6.6.27
v6.6.28
v6.6.29
v6.6.3
v6.6.30
v6.6.31
v6.6.32
v6.6.33
v6.6.34
v6.6.35
v6.6.36
v6.6.37
v6.6.38
v6.6.39
v6.6.4
v6.6.40
v6.6.41
v6.6.42
v6.6.43
v6.6.44
v6.6.45
v6.6.46
v6.6.47
v6.6.48
v6.6.49
v6.6.5
v6.6.50
v6.6.51
v6.6.52
v6.6.53
v6.6.54
v6.6.55
v6.6.56
v6.6.57
v6.6.58
v6.6.59
v6.6.6
v6.6.60
v6.6.61
v6.6.62
v6.6.63
v6.6.64
v6.6.65
v6.6.66
v6.6.67
v6.6.68
v6.6.69
v6.6.7
v6.6.70
v6.6.71
v6.6.72
v6.6.73
v6.6.74
v6.6.75
v6.6.76
v6.6.77
v6.6.78
v6.6.79
v6.6.8
v6.6.80
v6.6.81
v6.6.82
v6.6.9
v6.7
v6.7-rc1
v6.7-rc2
v6.7-rc3
v6.7-rc4
v6.7-rc5
v6.7-rc6
v6.7-rc7
v6.7-rc8
v6.8
v6.8-rc1
v6.8-rc2
v6.8-rc3
v6.8-rc4
v6.8-rc5
v6.8-rc6
v6.8-rc7
v6.9
v6.9-rc1
v6.9-rc2
v6.9-rc3
v6.9-rc4
v6.9-rc5
v6.9-rc6
v6.9-rc7

Database specific

vanir_signatures

[
    {
        "signature_type": "Line",
        "target": {
            "file": "include/linux/compaction.h"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ce6d9c1c2b5cc785016faa11b48b6cd317eb367e",
        "deprecated": false,
        "id": "CVE-2025-21908-00b6d80d",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "80755937952123651937412674035628465080",
                "81197114409552857481894423699220814478",
                "136554759762420498244935210795369924859"
            ],
            "threshold": 0.9
        }
    },
    {
        "signature_type": "Line",
        "target": {
            "file": "include/linux/compaction.h"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ae31c54cff745832b9bd5b32e71f3d1b607cd1e",
        "deprecated": false,
        "id": "CVE-2025-21908-0c1c3799",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "80755937952123651937412674035628465080",
                "81197114409552857481894423699220814478",
                "136554759762420498244935210795369924859"
            ],
            "threshold": 0.9
        }
    },
    {
        "signature_type": "Line",
        "target": {
            "file": "fs/nfs/file.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8253ff29edcb429a9a6c75710941c6a16a9a34b1",
        "deprecated": false,
        "id": "CVE-2025-21908-177366a1",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "273922052892517088372478138086954509079",
                "262132701811206239789326646684606249833",
                "176473894606844144508235695009290838963",
                "307237484266719269231195641665085907148",
                "50847248554448417658550547163725540241",
                "112311110605227139751536923201133152090",
                "169989105588964603810560923559006983114",
                "246494224225883907464716707536348145556"
            ],
            "threshold": 0.9
        }
    },
    {
        "signature_type": "Function",
        "target": {
            "function": "kcompactd",
            "file": "mm/compaction.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ab0727d6e2196682351c25c1dd112136f6991f11",
        "deprecated": false,
        "id": "CVE-2025-21908-18a2c9c4",
        "signature_version": "v1",
        "digest": {
            "length": 1039.0,
            "function_hash": "43256935727564012825938826985236216565"
        }
    },
    {
        "signature_type": "Line",
        "target": {
            "file": "fs/nfs/file.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ab0727d6e2196682351c25c1dd112136f6991f11",
        "deprecated": false,
        "id": "CVE-2025-21908-18b2ec6e",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "273922052892517088372478138086954509079",
                "262132701811206239789326646684606249833",
                "176473894606844144508235695009290838963",
                "307237484266719269231195641665085907148",
                "50847248554448417658550547163725540241",
                "112311110605227139751536923201133152090",
                "188184766259896707822638510110837317823",
                "338927281443525297068340115431158970698"
            ],
            "threshold": 0.9
        }
    },
    {
        "signature_type": "Line",
        "target": {
            "file": "include/linux/compaction.h"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8253ff29edcb429a9a6c75710941c6a16a9a34b1",
        "deprecated": false,
        "id": "CVE-2025-21908-1ea1ecd2",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "80755937952123651937412674035628465080",
                "81197114409552857481894423699220814478",
                "136554759762420498244935210795369924859"
            ],
            "threshold": 0.9
        }
    },
    {
        "signature_type": "Line",
        "target": {
            "file": "mm/compaction.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ce6d9c1c2b5cc785016faa11b48b6cd317eb367e",
        "deprecated": false,
        "id": "CVE-2025-21908-20b024c3",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "58560164733864374159180756812722313160",
                "201729780354646732244201086443808602058",
                "205372712879801161440702734484661467981",
                "117462410939492734713383019952802773736",
                "273916523678220243240945626174722525843",
                "327164989066426007350784932508453294806"
            ],
            "threshold": 0.9
        }
    },
    {
        "signature_type": "Function",
        "target": {
            "function": "nfs_release_folio",
            "file": "fs/nfs/file.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8253ff29edcb429a9a6c75710941c6a16a9a34b1",
        "deprecated": false,
        "id": "CVE-2025-21908-3800e780",
        "signature_version": "v1",
        "digest": {
            "length": 345.0,
            "function_hash": "266270400002879865020092424565305187300"
        }
    },
    {
        "signature_type": "Function",
        "target": {
            "function": "kcompactd",
            "file": "mm/compaction.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8253ff29edcb429a9a6c75710941c6a16a9a34b1",
        "deprecated": false,
        "id": "CVE-2025-21908-3aacf3aa",
        "signature_version": "v1",
        "digest": {
            "length": 1046.0,
            "function_hash": "286713265233738167581064928131746310784"
        }
    },
    {
        "signature_type": "Line",
        "target": {
            "file": "include/linux/compaction.h"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ab0727d6e2196682351c25c1dd112136f6991f11",
        "deprecated": false,
        "id": "CVE-2025-21908-61e30f7b",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "80755937952123651937412674035628465080",
                "81197114409552857481894423699220814478",
                "136554759762420498244935210795369924859"
            ],
            "threshold": 0.9
        }
    },
    {
        "signature_type": "Function",
        "target": {
            "function": "kcompactd",
            "file": "mm/compaction.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ce6d9c1c2b5cc785016faa11b48b6cd317eb367e",
        "deprecated": false,
        "id": "CVE-2025-21908-659bb904",
        "signature_version": "v1",
        "digest": {
            "length": 921.0,
            "function_hash": "301743802388857522860608655520104410846"
        }
    },
    {
        "signature_type": "Line",
        "target": {
            "file": "mm/compaction.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ab0727d6e2196682351c25c1dd112136f6991f11",
        "deprecated": false,
        "id": "CVE-2025-21908-68a36d08",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "232531358303367251746693038027496391350",
                "156879544733729007776047025723455237330",
                "67295641018754503458065305093173306312",
                "117462410939492734713383019952802773736",
                "273916523678220243240945626174722525843",
                "327164989066426007350784932508453294806"
            ],
            "threshold": 0.9
        }
    },
    {
        "signature_type": "Function",
        "target": {
            "function": "nfs_release_folio",
            "file": "fs/nfs/file.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ab0727d6e2196682351c25c1dd112136f6991f11",
        "deprecated": false,
        "id": "CVE-2025-21908-6edbd2fe",
        "signature_version": "v1",
        "digest": {
            "length": 347.0,
            "function_hash": "110179070459946651037433592910113533772"
        }
    },
    {
        "signature_type": "Line",
        "target": {
            "file": "fs/nfs/file.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ae31c54cff745832b9bd5b32e71f3d1b607cd1e",
        "deprecated": false,
        "id": "CVE-2025-21908-7f440e85",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "273922052892517088372478138086954509079",
                "262132701811206239789326646684606249833",
                "176473894606844144508235695009290838963",
                "307237484266719269231195641665085907148",
                "50847248554448417658550547163725540241",
                "112311110605227139751536923201133152090",
                "169989105588964603810560923559006983114",
                "246494224225883907464716707536348145556"
            ],
            "threshold": 0.9
        }
    },
    {
        "signature_type": "Function",
        "target": {
            "function": "nfs_release_folio",
            "file": "fs/nfs/file.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ae31c54cff745832b9bd5b32e71f3d1b607cd1e",
        "deprecated": false,
        "id": "CVE-2025-21908-86110f7e",
        "signature_version": "v1",
        "digest": {
            "length": 345.0,
            "function_hash": "266270400002879865020092424565305187300"
        }
    },
    {
        "signature_type": "Function",
        "target": {
            "function": "kcompactd",
            "file": "mm/compaction.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ae31c54cff745832b9bd5b32e71f3d1b607cd1e",
        "deprecated": false,
        "id": "CVE-2025-21908-9a7d79c8",
        "signature_version": "v1",
        "digest": {
            "length": 1046.0,
            "function_hash": "286713265233738167581064928131746310784"
        }
    },
    {
        "signature_type": "Line",
        "target": {
            "file": "fs/nfs/file.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ce6d9c1c2b5cc785016faa11b48b6cd317eb367e",
        "deprecated": false,
        "id": "CVE-2025-21908-b585e9b7",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "273922052892517088372478138086954509079",
                "262132701811206239789326646684606249833",
                "176473894606844144508235695009290838963",
                "307237484266719269231195641665085907148",
                "50847248554448417658550547163725540241",
                "112311110605227139751536923201133152090",
                "169989105588964603810560923559006983114",
                "246494224225883907464716707536348145556"
            ],
            "threshold": 0.9
        }
    },
    {
        "signature_type": "Function",
        "target": {
            "function": "nfs_release_folio",
            "file": "fs/nfs/file.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ce6d9c1c2b5cc785016faa11b48b6cd317eb367e",
        "deprecated": false,
        "id": "CVE-2025-21908-c0143604",
        "signature_version": "v1",
        "digest": {
            "length": 345.0,
            "function_hash": "266270400002879865020092424565305187300"
        }
    },
    {
        "signature_type": "Line",
        "target": {
            "file": "mm/compaction.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8253ff29edcb429a9a6c75710941c6a16a9a34b1",
        "deprecated": false,
        "id": "CVE-2025-21908-ccc1075b",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "232531358303367251746693038027496391350",
                "156879544733729007776047025723455237330",
                "67295641018754503458065305093173306312",
                "117462410939492734713383019952802773736",
                "273916523678220243240945626174722525843",
                "327164989066426007350784932508453294806"
            ],
            "threshold": 0.9
        }
    },
    {
        "signature_type": "Line",
        "target": {
            "file": "mm/compaction.c"
        },
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5ae31c54cff745832b9bd5b32e71f3d1b607cd1e",
        "deprecated": false,
        "id": "CVE-2025-21908-f3126279",
        "signature_version": "v1",
        "digest": {
            "line_hashes": [
                "232531358303367251746693038027496391350",
                "156879544733729007776047025723455237330",
                "67295641018754503458065305093173306312",
                "117462410939492734713383019952802773736",
                "273916523678220243240945626174722525843",
                "327164989066426007350784932508453294806"
            ],
            "threshold": 0.9
        }
    }
]

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.3.0
Fixed
6.6.83
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.19
Type
ECOSYSTEM
Events
Introduced
6.13.0
Fixed
6.13.7