[GIT PULL] afs: Fixes

From: David Howells
Date: Wed Aug 14 2019 - 10:18:43 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(-)