CVE-2024-36000
Assigner: Linux
Published: 2024-05-20T09:48:02.318Z
State: PUBLISHED
descriptions: value: In the Linux kernel, the following vulnerability has been resolved:

mm/hugetlb: fix missing hugetlb_lock for resv uncharge

There is a recent report on UFFDIO_COPY over hugetlb:

https://lore.kernel.org/all/000000000000ee06de0616177560@google.com/

350:	lockdep_assert_held(&hugetlb_lock);

Should be an issue in hugetlb but triggered in an userfault context, where
it goes into the unlikely path where two threads modifying the resv map
together.  Mike has a fix in that path for resv uncharge but it looks like
the locking criteria was overlooked: hugetlb_cgroup_uncharge_folio_rsvd()
will update the cgroup pointer, so it requires to be called with the lock
held.
affected: product: Linux
vendor: Linux
defaultStatus: unaffected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions: version: 79aa925bf239
lessThan: 4c806333efea
status: affected
versionType: git
version: 79aa925bf239
lessThan: f6c5d21db16a
status: affected
versionType: git
version: 79aa925bf239
lessThan: 538faabf31e9
status: affected
versionType: git
version: 79aa925bf239
lessThan: b76b46902c2d
status: affected
versionType: git
product: Linux
vendor: Linux
defaultStatus: affected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions: version: 5.10
status: affected
version: 0
lessThan: 5.10
status: unaffected
versionType: custom
version: 6.1.91
lessThanOrEqual: 6.1.*
status: unaffected
versionType: custom
version: 6.6.30
lessThanOrEqual: 6.6.*
status: unaffected
versionType: custom
version: 6.8.9
lessThanOrEqual: 6.8.*
status: unaffected
versionType: custom
version: 6.9
lessThanOrEqual: *
status: unaffected
versionType: original_commit_for_fix
title: mm/hugetlb: fix missing hugetlb_lock for resv uncharge
x_generator: engine: bippy-d175d3acf727