On Wed, Jul 20, 2005 at 01:21:27PM +0200, J?rn Engel wrote:
> To my understanding, you can lseek to any "proper" offset inside a
> directory. Proper means that the offset marks the beginning of a
> new dirent (or end of file) in the interpretation of the filesystem.
But you can never tell where these are in general.
> Userspace doesn't have any means to figure out, which addresses are
> proper and which aren't. Except that getdents(2) moves the fd
> offset to a proper address, which likely will remain proper until
> the fd is closed.
I don't see why or how this can be true in general (it might be, but I
don't see how myself). If we are half way through scanning a
directory and people start messing with it we could end up somewhere
bogus (in which case f_op->readdir I guess is expected to try and do
something sane here?)
> Reopening the same directory may result in a formerly proper offset
> isn't anymore.
For that to be the case where is the state kept to ensure your current
offset is valid?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|