diff options
author | David Howells <dhowells@redhat.com> | 2020-01-14 16:16:25 +0000 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2020-01-14 09:40:06 -0800 |
commit | 40a708bd622b78582ae3d280de29b09b50bd04c0 (patch) | |
tree | 2a359efe3c25cac13f68e7847925888fc160bc21 /fs/btrfs/dev-replace.c | |
parent | 8379bb84be757d5df2d818509faec5d66adb861d (diff) | |
download | linux-40a708bd622b78582ae3d280de29b09b50bd04c0.tar.bz2 |
afs: Fix use-after-loss-of-ref
afs_lookup() has a tracepoint to indicate the outcome of
d_splice_alias(), passing it the inode to retrieve the fid from.
However, the function gave up its ref on that inode when it called
d_splice_alias(), which may have failed and dropped the inode.
Fix this by caching the fid.
Fixes: 80548b03991f ("afs: Add more tracepoints")
Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/btrfs/dev-replace.c')
0 files changed, 0 insertions, 0 deletions