diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-03-04 01:31:03 -0500 |
---|---|---|
committer | Bob Copeland <me@bobcopeland.com> | 2011-03-05 16:24:01 -0500 |
commit | d932805b3dc8c6d80d8948f7d7d0d8336d53b2ed (patch) | |
tree | 5024d697f1b3b6c8fcfe627718ece4020102df1b /fs/select.c | |
parent | cdb26496dba00d5c4375261be6518b3e94260444 (diff) | |
download | op-kernel-dev-d932805b3dc8c6d80d8948f7d7d0d8336d53b2ed.zip op-kernel-dev-d932805b3dc8c6d80d8948f7d7d0d8336d53b2ed.tar.gz |
omfs: merge unlink() and rmdir(), close leak in rename()
In case of directory-overwriting rename(), omfs forgot to mark the
victim doomed, so omfs_evict_inode() didn't free it.
We could fix that by calling omfs_rmdir() for directory victims
instead of doing omfs_unlink(), but it's easier to merge omfs_unlink()
and omfs_rmdir() instead. Note that we have no hardlinks here.
It also makes the checks in omfs_rename() go away - they fold into
what omfs_remove() does when it runs into a directory.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Diffstat (limited to 'fs/select.c')
0 files changed, 0 insertions, 0 deletions