mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-09-20 18:15:29 +00:00
v9fs_insert uses v9fs_fid_lookup (which also locks the fid) to get the primary fid associated with the dentry and destroys the v9fs_fid struct after removing the file. If another process called v9fs_fid_lookup on the same dentry, it may wait undefinitely for the fid's lock (as the struct is freed). This patch changes v9fs_remove to use a cloned fid, so the primary fid is not locked and freed. Signed-off-by: Latchesar Ionkov <lucho@ionkov.net> Cc: Eric Van Hensbergen <ericvh@hera.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
History
|
|
|---|---|---|
| .. | ||
| 9p.h | ||
| conv.c | ||
| conv.h | ||
| debug.h | ||
| error.c | ||
| error.h | ||
| fcall.c | ||
| fcprint.c | ||
| fid.c | ||
| fid.h | ||
| Makefile | ||
| mux.c | ||
| mux.h | ||
| trans_fd.c | ||
| transport.h | ||
| v9fs.c | ||
| v9fs.h | ||
| v9fs_vfs.h | ||
| vfs_addr.c | ||
| vfs_dentry.c | ||
| vfs_dir.c | ||
| vfs_file.c | ||
| vfs_inode.c | ||
| vfs_super.c | ||