[PATCH 0/5] cachefiles, nfs: Fixes

From: David Howells
Date: Fri May 08 2020 - 18:16:50 EST



Hi Linus, Trond, Anna,

Can you pull these fixes for cachefiles and NFS's use of fscache? Should
they go through the NFS tree or directly upstream? The things fixed are:

(1) The reorganisation of bmap() use accidentally caused the return value
of cachefiles_read_or_alloc_pages() to get corrupted.

(2) The NFS superblock index key accidentally got changed to include a
number of kernel pointers - meaning that the key isn't matchable after
a reboot.

(3) A redundant check in nfs_fscache_get_super_cookie().

(4) The NFS change_attr sometimes set in the auxiliary data for the
caching of an file and sometimes not, which causes the cache to get
discarded when it shouldn't.

(5) There's a race between cachefiles_read_waiter() and
cachefiles_read_copier() that causes an occasional assertion failure.

The patches are tagged here:

git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
tag fscache-fixes-20200508-2

Thanks,
David
---
Dave Wysochanski (3):
NFS: Fix fscache super_cookie index_key from changing after umount
NFS: Fix fscache super_cookie allocation
NFSv4: Fix fscache cookie aux_data to ensure change_attr is included

David Howells (1):
cachefiles: Fix corruption of the return value in cachefiles_read_or_alloc_pages()

Lei Xue (1):
cachefiles: Fix race between read_waiter and read_copier involving op->to_do


fs/cachefiles/rdwr.c | 12 ++++++------
fs/nfs/fscache.c | 39 ++++++++++++++++++---------------------
fs/nfs/super.c | 1 -
3 files changed, 24 insertions(+), 28 deletions(-)