CVE-2022-49077

mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0)

published February 26, 2025

CVSS
—
EPSS
0%
Percentile
15.8
In the wild
Unconfirmed
What it is

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

mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0)

If an mremap() syscall with old_size=0 ends up in move_page_tables(), it

will call invalidate_range_start()/invalidate_range_end() unnecessarily,

i.e. with an empty range.

This causes a WARN in KVM's mmu_notifier. In the past, empty ranges

have been diagnosed to be off-by-one bugs, hence the WARNing. Given the

low (so far) number of unique reports, the benefits of detecting more

buggy callers seem to outweigh the cost of having to fix cases such as

this one, where userspace is doing something silly. In this particular

case, an early return from move_page_tables() is enough to fix the

issue.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00253 · 15.8th percentile
Published
2025-02-26T01:54Z
EPSS history
Timeline
  • 26 FEB 01:54Z
    mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0)
    cvelistv5