mm/userfaultfd: fix hugetlb fault mutex hash calculation
Summary
| CVE | CVE-2026-31575 |
|---|---|
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-04-24 15:16:32 UTC |
| Updated | 2026-04-27 23:15:42 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved: mm/userfaultfd: fix hugetlb fault mutex hash calculation In mfill_atomic_hugetlb(), linear_page_index() is used to calculate the page index for hugetlb_fault_mutex_hash(). However, linear_page_index() returns the index in PAGE_SIZE units, while hugetlb_fault_mutex_hash() expects the index in huge page units. This mismatch means that different addresses within the same huge page can produce different hash values, leading to the use of different mutexes for the same huge page. This can cause races between faulting threads, which can corrupt the reservation map and trigger the BUG_ON in resv_map_release(). Fix this by introducing hugetlb_linear_page_index(), which returns the page index in huge page granularity, and using it in place of linear_page_index(). |
Risk And Classification
Primary CVSS: v3.1 5.5 MEDIUM from [email protected]
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
EPSS: 0.000180000 probability, percentile 0.046080000 (date 2026-04-27)
Problem Types: NVD-CWE-noinfo
CVSS v3.1 Breakdown
Attack Vector
LocalAttack Complexity
LowPrivileges Required
LowUser Interaction
NoneScope
UnchangedConfidentiality
NoneIntegrity
NoneAvailability
HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
NVD Known Affected Configurations (CPE 2.3)
| Type | Vendor | Product | Version | Update | Edition | Language |
|---|---|---|---|---|---|---|
| Operating System | Linux | Linux Kernel | All | All | All | All |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Linux | Linux | affected a08c7193e4f18dc8508f2d07d0de2c5b94cb39a3 5a525c43baaba0bf3063f86996ca3623b71e4172 git | Not specified |
| CNA | Linux | Linux | affected a08c7193e4f18dc8508f2d07d0de2c5b94cb39a3 574501ede47ac439afd67ba9812bc66722d500ba git | Not specified |
| CNA | Linux | Linux | affected a08c7193e4f18dc8508f2d07d0de2c5b94cb39a3 08282b1bf74c69fc8ecd25493e7fdb5460f01290 git | Not specified |
| CNA | Linux | Linux | affected a08c7193e4f18dc8508f2d07d0de2c5b94cb39a3 f4689fc089765d36c026063fb22d23533e883eb6 git | Not specified |
| CNA | Linux | Linux | affected a08c7193e4f18dc8508f2d07d0de2c5b94cb39a3 0217c7fb4de4a40cee667eb21901f3204effe5ac git | Not specified |
| CNA | Linux | Linux | affected 6.7 | Not specified |
| CNA | Linux | Linux | unaffected 6.7 semver | Not specified |
| CNA | Linux | Linux | unaffected 6.12.84 6.12.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.18.24 6.18.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.19.14 6.19.* semver | Not specified |
| CNA | Linux | Linux | unaffected 7.0.1 7.0.* semver | Not specified |
| CNA | Linux | Linux | unaffected 7.1-rc1 * original_commit_for_fix | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| git.kernel.org/stable/c/0217c7fb4de4a40cee667eb21901f3204effe5ac | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | Patch |
| git.kernel.org/stable/c/574501ede47ac439afd67ba9812bc66722d500ba | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | Patch |
| git.kernel.org/stable/c/08282b1bf74c69fc8ecd25493e7fdb5460f01290 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | Patch |
| git.kernel.org/stable/c/5a525c43baaba0bf3063f86996ca3623b71e4172 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | Patch |
| git.kernel.org/stable/c/f4689fc089765d36c026063fb22d23533e883eb6 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | git.kernel.org | Patch |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.