31abdab9c1
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> |
||
---|---|---|
.. | ||
alloc.c | ||
anode.c | ||
buffer.c | ||
dentry.c | ||
dir.c | ||
dnode.c | ||
ea.c | ||
file.c | ||
hpfs_fn.h | ||
hpfs.h | ||
inode.c | ||
Kconfig | ||
Makefile | ||
map.c | ||
name.c | ||
namei.c | ||
super.c |