Messages in this thread | | | Subject | Re: [PATCH 09/10] VFS: Remove read-only checks from dentry_permission | From | Miklos Szeredi <> | Date | Mon, 06 Sep 2010 21:10:10 +0200 |
| |
On Mon, 06 Sep 2010, NeilBrown wrote: > It is not sufficient to depend on the the "filesystem is readonly" > tests in dentry_permission as it does not check if the vfsmnt is > readonly. > All call sites already call mnt_want_write or __mnt_is_readonly which > includes the test on MS_RDONLY.
Last time I checked I found some holes (in nfsd IIRC). That was a long time ago and things may have changed.
That check could be replaced with a
if (IS_RDONLY(inode) && (S_ISREG(mode) || S_ISDIR(mode) || S_ISLNK(mode))) BUG();
which would catch these cases but only if the superblock was marked r/o. Otherwise it's basically impossible to make sure the callers of the VFS play by the rules. That was one reason I advocated a path_... interface for the VFS instead of the current dentry based one, but Al didn't like it.
Thanks, Miklos
| |