afs: Fix decoding of inline abort codes from version 1 status records
authorDavid Howells <dhowells@redhat.com>
Wed, 8 Apr 2020 16:32:10 +0000 (17:32 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Apr 2020 08:36:25 +0000 (10:36 +0200)
commit4eba6ec9644adb68f596ba0720a85fbd222d5a48
tree3b6194f13c1785e7744f87f9cf01a76c82ae3cf2
parent0604b60ef9d7493c275244944204ff7c2ac63991
afs: Fix decoding of inline abort codes from version 1 status records

commit 3e0d9892c0e7fa426ca6bf921cb4b543ca265714 upstream.

If we're decoding an AFSFetchStatus record and we see that the version is 1
and the abort code is set and we're expecting inline errors, then we store
the abort code and ignore the remaining status record (which is correct),
but we don't set the flag to say we got a valid abort code.

This can affect operation of YFS.RemoveFile2 when removing a file and the
operation of {,Y}FS.InlineBulkStatus when prospectively constructing or
updating of a set of inodes during a lookup.

Fix this to indicate the reception of a valid abort code.

Fixes: a38a75581e6e ("afs: Fix unlink to handle YFS.RemoveFile2 better")
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/afs/fsclient.c