[GIT PULL] afs: Fixes
From: David Howells
Date: Wed Aug 14 2019 - 10:15:16 EST
Hi Linus,
Can you pull these afs fixes please?
(1) Fix the CB.ProbeUuid handler to generate its reply correctly.
(2) Fix a mix up in indices when parsing a Volume Location entry record.
(3) Fix a potential NULL-pointer deref when cleaning up a read request.
(4) Fix the expected data version of the destination directory in
afs_rename().
(5) Fix afs_d_revalidate() to only update d_fsdata if it's not the same as
the directory data version to reduce the likelihood of overwriting the
result of a competing operation. (d_fsdata carries the directory DV
or the least-significant word thereof).
(6) Fix the tracking of the data-version on a directory and make sure that
dentry objects get properly initialised, updated and revalidated.
Also fix rename to update d_fsdata to match the new directory's DV if
the dentry gets moved over and unhash the dentry to stop
afs_d_revalidate() from interfering.
David
---
The following changes since commit 2a11c76e5301dddefcb618dac04f74e6314df6bc:
Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost (2019-07-29 11:34:12 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/afs-fixes-20190814
for you to fetch changes up to 9dd0b82ef530cdfe805c9f7079c99e104be59a14:
afs: Fix missing dentry data version updating (2019-07-30 14:38:52 +0100)
----------------------------------------------------------------
AFS Fixes
Reviewed-by: Marc Dionne <marc.dionne@xxxxxxxxxxxx>
----------------------------------------------------------------
David Howells (4):
afs: Fix the CB.ProbeUuid service handler to reply correctly
afs: Fix off-by-one in afs_rename() expected data version calculation
afs: Only update d_fsdata if different in afs_d_revalidate()
afs: Fix missing dentry data version updating
Jia-Ju Bai (1):
fs: afs: Fix a possible null-pointer dereference in afs_put_read()
Marc Dionne (1):
afs: Fix loop index mixup in afs_deliver_vl_get_entry_by_name_u()
fs/afs/cmservice.c | 10 ++----
fs/afs/dir.c | 89 ++++++++++++++++++++++++++++++++++++++++++++----------
fs/afs/file.c | 12 +++++---
fs/afs/vlclient.c | 11 ++++---
4 files changed, 89 insertions(+), 33 deletions(-)