In the Linux kernel, the following vulnerability has been...
Moderate severity
Unreviewed
Published
Feb 28, 2024
to the GitHub Advisory Database
•
Updated Dec 24, 2024
Description
Published by the National Vulnerability Database
Feb 28, 2024
Published to the GitHub Advisory Database
Feb 28, 2024
Last updated
Dec 24, 2024
In the Linux kernel, the following vulnerability has been resolved:
userfaultfd: release page in error path to avoid BUG_ON
Consider the following sequence of events:
shmem_mfill_atomic_pte(). We successfully account the blocks, we
shmem_alloc_page(), but then the copy_from_user() fails. We return
-ENOENT. We don't release the page we allocated.
dropping the mmap_lock, and retries, calling back into
shmem_mfill_atomic_pte().
immediately returns - without releasing the page.
This triggers a BUG_ON in our caller, which asserts that the page
should always be consumed, unless -ENOENT is returned.
To fix this, detect if we have such a "dangling" page when accounting
fails, and if so, release it before returning.
References