mirror of https://github.com/torvalds/linux.git
For one thing, there's an ABBA deadlock on hpfs fs-wide lock and i_mutex in hpfs_dir_lseek() - there's a lot of methods that grab the former with the caller already holding the latter, so it must take i_mutex first. For another, locking the damn thing, carefully validating the offset, then dropping locks and assigning the offset is obviously racy. Moreover, we _must_ do hpfs_add_pos(), or the machinery in dnode.c won't modify the sucker on B-tree surgeries. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> |
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| alloc.c | ||
| anode.c | ||
| buffer.c | ||
| dentry.c | ||
| dir.c | ||
| dnode.c | ||
| ea.c | ||
| file.c | ||
| hpfs.h | ||
| hpfs_fn.h | ||
| inode.c | ||
| map.c | ||
| name.c | ||
| namei.c | ||
| super.c | ||