aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2008-02-04 20:12:58 -0500
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-02-07 02:21:14 -0500
commit199037c598daf5f3602dace68c331665a4f4f0c1 (patch)
tree5a42444f8063eea365b75951441f2fdc709e8fbe /fs
parent9742bb93da27737fe490eab2af9fba1efa243dcb (diff)
[XFS] remove permission check from xfs_change_file_space
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. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30365a Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/xfs_vnodeops.c12
1 files changed, 0 insertions, 12 deletions
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c
index 6b71d9f763c7..076555e8763f 100644
--- a/fs/xfs/xfs_vnodeops.c
+++ b/fs/xfs/xfs_vnodeops.c
@@ -4317,21 +4317,9 @@ xfs_change_file_space(
4317 4317
4318 xfs_itrace_entry(ip); 4318 xfs_itrace_entry(ip);
4319 4319
4320 /*
4321 * must be a regular file and have write permission
4322 */
4323 if (!S_ISREG(ip->i_d.di_mode)) 4320 if (!S_ISREG(ip->i_d.di_mode))
4324 return XFS_ERROR(EINVAL); 4321 return XFS_ERROR(EINVAL);
4325 4322
4326 xfs_ilock(ip, XFS_ILOCK_SHARED);
4327
4328 if ((error = xfs_iaccess(ip, S_IWUSR, credp))) {
4329 xfs_iunlock(ip, XFS_ILOCK_SHARED);
4330 return error;
4331 }
4332
4333 xfs_iunlock(ip, XFS_ILOCK_SHARED);
4334
4335 switch (bf->l_whence) { 4323 switch (bf->l_whence) {
4336 case 0: /*SEEK_SET*/ 4324 case 0: /*SEEK_SET*/
4337 break; 4325 break;