CVE-2025-37978 block: integrity: Do not call set_page_dirty_lock()
A Linux kernel bug in block integrity handling causes an oops when set_page_dirty_lock is called from interrupt context, leading to denial of service.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-37978?
CVE-2025-37978 is a medium-severity vulnerability in Linux kernel, published on 20 May 2025. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
In the Linux kernel, the following vulnerability has been resolved:
block: integrity: Do not call set_page_dirty_lock()
Placing multiple protection information buffers inside the same page can lead to oopses because set_page_dirty_lock() can't be called from interrupt context.
Since a protection information buffer is not backed by a file there is no point in setting its page dirty, there is nothing to synchronize. Drop the call to set_page_dirty_lock() and remove the last argument to bio_integrity_unpin_bvec().
Which versions are affected by CVE-2025-37978?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2025-37978?
Apply the vendor's patch.
Is CVE-2025-37978 being exploited?
There is no known exploitation of CVE-2025-37978 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as BELL-CVE-2025-37978, DEBIAN-CVE-2025-37978, GHSA-rvfv-rwmv-g73v, ROOT-OS-UBUNTU-2404-CVE-2025-37978, UBUNTU-CVE-2025-37978.