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(-)