CVE-2025-37978 block: integrity: Do not call set_page_dirty_lock()

Medium 5.5 Published Updated

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.

All Linux kernel vulnerabilities

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.

Is CVE-2025-37978 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free