[GIT PULL] erofs fixes for 6.13-rc4

From: Gao Xiang
Date: Tue Dec 17 2024 - 09:25:28 EST


Hi Linus,

Could you consider these three fixes for 6.13-rc4?

The first one fixes a syzbot UAF report caused by a commit introduced
in this cycle, but it also addresses a longstanding memory leak. The
second one resolves a PSI memstall mis-accounting issue.

The remaining patches switch file-backed mounts to use buffered I/Os
by default instead of direct I/Os, since the page cache of underlay
files is typically valid and maybe even dirty. This change also aligns
with the default policy of loopback devices. A mount option has been
added to try to use direct I/Os explicitly.

All commits have been in -next and no potential merge conflict
is observed.

Thanks,
Gao Xiang

The following changes since commit 40384c840ea1944d7c5a392e8975ed088ecf0b37:

Linux 6.13-rc1 (2024-12-01 14:28:56 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git tags/erofs-for-6.13-rc4-fixes

for you to fetch changes up to 6422cde1b0d5a31b206b263417c1c2b3c80fe82c:

erofs: use buffered I/O for file-backed mounts by default (2024-12-16 21:02:07 +0800)

----------------------------------------------------------------
Changes since last update:

- Fix (pcluster) memory leak and (sbi) UAF after umounting;

- Fix a case of PSI memstall mis-accounting;

- Use buffered I/Os by default for file-backed mounts.

----------------------------------------------------------------
Gao Xiang (6):
erofs: fix rare pcluster memory leak after unmounting
erofs: fix PSI memstall accounting
erofs: add erofs_sb_free() helper
erofs: use `struct erofs_device_info` for the primary device
erofs: reference `struct erofs_device_info` for erofs_map_dev
erofs: use buffered I/O for file-backed mounts by default

Yue Hu (1):
MAINTAINERS: erofs: update Yue Hu's email address

MAINTAINERS | 2 +-
fs/erofs/data.c | 36 +++++++++----------------
fs/erofs/fileio.c | 9 ++++---
fs/erofs/fscache.c | 10 +++----
fs/erofs/internal.h | 15 ++++-------
fs/erofs/super.c | 78 +++++++++++++++++++++++++++++------------------------
fs/erofs/zdata.c | 4 +--
fs/erofs/zutil.c | 7 ++---
8 files changed, 79 insertions(+), 82 deletions(-)