aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_rtalloc.c
diff options
context:
space:
mode:
authorsandeen@sandeen.net <sandeen@sandeen.net>2008-11-25 21:20:06 -0600
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-12-02 17:08:01 +1100
commit743bb4650da9e2595d6cedd01c680b5b9398c74a (patch)
treed0bf4740672bdd77a7cd2dde0af7a564fcfe62d6 /fs/xfs/xfs_rtalloc.c
parent0e446673a15a4e9c336b67c1a638eb12c21d0993 (diff)
downloadkernel_samsung_smdk4412-743bb4650da9e2595d6cedd01c680b5b9398c74a.zip
kernel_samsung_smdk4412-743bb4650da9e2595d6cedd01c680b5b9398c74a.tar.gz
kernel_samsung_smdk4412-743bb4650da9e2595d6cedd01c680b5b9398c74a.tar.bz2
[XFS] Move copy_from_user calls out of ioctl helpers into ioctl switch.
Moving the copy_from_user out of some of the ioctl helpers will make it easier for the compat ioctl switch to copy in the right struct, then just pass to the underlying helper. Also, move common access checks into the helpers themselves, and out of the native ioctl switch code, to reduce code duplication between native & compat ioctl callers. Signed-off-by: Eric Sandeen <sandeen@sandeen.net> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_rtalloc.c')
-rw-r--r--fs/xfs/xfs_rtalloc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c
index f18b9b2..edf12c7 100644
--- a/fs/xfs/xfs_rtalloc.c
+++ b/fs/xfs/xfs_rtalloc.c
@@ -1876,6 +1876,8 @@ xfs_growfs_rt(
/*
* Initial error checking.
*/
+ if (!capable(CAP_SYS_ADMIN))
+ return XFS_ERROR(EPERM);
if (mp->m_rtdev_targp == NULL || mp->m_rbmip == NULL ||
(nrblocks = in->newblocks) <= sbp->sb_rblocks ||
(sbp->sb_rblocks && (in->extsize != sbp->sb_rextsize)))