diff options
| author | David Howells <dhowells@redhat.com> | 2020-01-14 16:16:25 +0000 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-01-17 19:48:41 +0100 |
| commit | 6f262298328f1d13e7563586b41f1f6dcba5072f (patch) | |
| tree | 03a4607c605e7691dc8f67484faf0229fc52ad98 /mm | |
| parent | 01a107542bc3dca213bd59b20a7e8daa9751fde2 (diff) | |
afs: Fix use-after-loss-of-ref
commit 40a708bd622b78582ae3d280de29b09b50bd04c0 upstream.
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions
