Both callers of xfs_change_file_space alreaedy do the
file->f_mode & FMODE_WRITE check to ensure we have a file descriptor
that has been opened for write mode, so there is no need to re-check
that with xfs_iaccess. Especially as the later might wrongly deny it
for corner cases like file descriptor passing through unix domain
sockets.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
Index: linux-2.6-xfs/fs/xfs/xfs_vnodeops.c
===================================================================
--- linux-2.6-xfs.orig/fs/xfs/xfs_vnodeops.c 2007-12-19 16:07:57.000000000
+0100
+++ linux-2.6-xfs/fs/xfs/xfs_vnodeops.c 2007-12-19 16:08:19.000000000 +0100
@@ -4311,21 +4311,9 @@ xfs_change_file_space(
xfs_itrace_entry(ip);
- /*
- * must be a regular file and have write permission
- */
if (!S_ISREG(ip->i_d.di_mode))
return XFS_ERROR(EINVAL);
- xfs_ilock(ip, XFS_ILOCK_SHARED);
-
- if ((error = xfs_iaccess(ip, S_IWUSR, credp))) {
- xfs_iunlock(ip, XFS_ILOCK_SHARED);
- return error;
- }
-
- xfs_iunlock(ip, XFS_ILOCK_SHARED);
-
switch (bf->l_whence) {
case 0: /*SEEK_SET*/
break;
|