CVE-2024-57942 Information

Description

In the Linux kernel the following vulnerability has been resolved:

netfs: Fix ceph copy to cache on write-begin

At the end of netfs_unlock_read_folio() in which folios are marked appropriately for copying to the cache (either with by being marked dirty and having their private data set or by having PG_private_2 set) and then unlocked the folio_queue struct has the entry pointing to the folio cleared. This presents a problem for netfs_pgpriv2_write_to_the_cache() which is used to write folios marked with PG_private_2 to the cache as it expects to be able to trawl the folio_queue list thereafter to find the relevant folios leading to a hang.

Fix this by not clearing the folio_queue entry if we’re going to do the deprecated copy-to-cache. The clearance will be done instead as the folios are written to the cache.

This can be reproduced by starting cachefiles mounting a ceph filesystem with -o fsc\ and writing to it.

Reference

https://git.kernel.org/stable/c/38cf8e945721ffe708fa675507465da7f4f2a9f7 https://git.kernel.org/stable/c/43b8d3249b0b71bad239d42dbe08ce6c938ba000

Share on: