diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_globals.c | 1 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_ioctl.c | 4 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_linux.h | 1 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_sysctl.c | 11 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_sysctl.h | 3 | ||||
-rw-r--r-- | fs/xfs/xfs_vnodeops.c | 13 |
6 files changed, 3 insertions, 30 deletions
diff --git a/fs/xfs/linux-2.6/xfs_globals.c b/fs/xfs/linux-2.6/xfs_globals.c index 46e862b004e6..2ae8b1ccb02e 100644 --- a/fs/xfs/linux-2.6/xfs_globals.c +++ b/fs/xfs/linux-2.6/xfs_globals.c | |||
@@ -26,7 +26,6 @@ | |||
26 | */ | 26 | */ |
27 | xfs_param_t xfs_params = { | 27 | xfs_param_t xfs_params = { |
28 | /* MIN DFLT MAX */ | 28 | /* MIN DFLT MAX */ |
29 | .restrict_chown = { 0, 1, 1 }, | ||
30 | .sgid_inherit = { 0, 0, 1 }, | 29 | .sgid_inherit = { 0, 0, 1 }, |
31 | .symlink_mode = { 0, 0, 1 }, | 30 | .symlink_mode = { 0, 0, 1 }, |
32 | .panic_mask = { 0, 0, 255 }, | 31 | .panic_mask = { 0, 0, 255 }, |
diff --git a/fs/xfs/linux-2.6/xfs_ioctl.c b/fs/xfs/linux-2.6/xfs_ioctl.c index b5ea3f2afdcb..d25694e8cd62 100644 --- a/fs/xfs/linux-2.6/xfs_ioctl.c +++ b/fs/xfs/linux-2.6/xfs_ioctl.c | |||
@@ -1103,10 +1103,6 @@ xfs_ioctl_setattr( | |||
1103 | 1103 | ||
1104 | /* | 1104 | /* |
1105 | * Change file ownership. Must be the owner or privileged. | 1105 | * Change file ownership. Must be the owner or privileged. |
1106 | * If the system was configured with the "restricted_chown" | ||
1107 | * option, the owner is not permitted to give away the file, | ||
1108 | * and can change the group id only to a group of which he | ||
1109 | * or she is a member. | ||
1110 | */ | 1106 | */ |
1111 | if (mask & FSX_PROJID) { | 1107 | if (mask & FSX_PROJID) { |
1112 | /* | 1108 | /* |
diff --git a/fs/xfs/linux-2.6/xfs_linux.h b/fs/xfs/linux-2.6/xfs_linux.h index cc0f7b3a9795..214717650b23 100644 --- a/fs/xfs/linux-2.6/xfs_linux.h +++ b/fs/xfs/linux-2.6/xfs_linux.h | |||
@@ -107,7 +107,6 @@ | |||
107 | #undef HAVE_PERCPU_SB /* per cpu superblock counters are a 2.6 feature */ | 107 | #undef HAVE_PERCPU_SB /* per cpu superblock counters are a 2.6 feature */ |
108 | #endif | 108 | #endif |
109 | 109 | ||
110 | #define restricted_chown xfs_params.restrict_chown.val | ||
111 | #define irix_sgid_inherit xfs_params.sgid_inherit.val | 110 | #define irix_sgid_inherit xfs_params.sgid_inherit.val |
112 | #define irix_symlink_mode xfs_params.symlink_mode.val | 111 | #define irix_symlink_mode xfs_params.symlink_mode.val |
113 | #define xfs_panic_mask xfs_params.panic_mask.val | 112 | #define xfs_panic_mask xfs_params.panic_mask.val |
diff --git a/fs/xfs/linux-2.6/xfs_sysctl.c b/fs/xfs/linux-2.6/xfs_sysctl.c index 7dacb5bbde3f..916c0ffb6083 100644 --- a/fs/xfs/linux-2.6/xfs_sysctl.c +++ b/fs/xfs/linux-2.6/xfs_sysctl.c | |||
@@ -56,17 +56,6 @@ xfs_stats_clear_proc_handler( | |||
56 | 56 | ||
57 | static ctl_table xfs_table[] = { | 57 | static ctl_table xfs_table[] = { |
58 | { | 58 | { |
59 | .ctl_name = XFS_RESTRICT_CHOWN, | ||
60 | .procname = "restrict_chown", | ||
61 | .data = &xfs_params.restrict_chown.val, | ||
62 | .maxlen = sizeof(int), | ||
63 | .mode = 0644, | ||
64 | .proc_handler = &proc_dointvec_minmax, | ||
65 | .strategy = &sysctl_intvec, | ||
66 | .extra1 = &xfs_params.restrict_chown.min, | ||
67 | .extra2 = &xfs_params.restrict_chown.max | ||
68 | }, | ||
69 | { | ||
70 | .ctl_name = XFS_SGID_INHERIT, | 59 | .ctl_name = XFS_SGID_INHERIT, |
71 | .procname = "irix_sgid_inherit", | 60 | .procname = "irix_sgid_inherit", |
72 | .data = &xfs_params.sgid_inherit.val, | 61 | .data = &xfs_params.sgid_inherit.val, |
diff --git a/fs/xfs/linux-2.6/xfs_sysctl.h b/fs/xfs/linux-2.6/xfs_sysctl.h index 4aadb8056c37..b9937d450f8e 100644 --- a/fs/xfs/linux-2.6/xfs_sysctl.h +++ b/fs/xfs/linux-2.6/xfs_sysctl.h | |||
@@ -31,7 +31,6 @@ typedef struct xfs_sysctl_val { | |||
31 | } xfs_sysctl_val_t; | 31 | } xfs_sysctl_val_t; |
32 | 32 | ||
33 | typedef struct xfs_param { | 33 | typedef struct xfs_param { |
34 | xfs_sysctl_val_t restrict_chown;/* Root/non-root can give away files.*/ | ||
35 | xfs_sysctl_val_t sgid_inherit; /* Inherit S_ISGID if process' GID is | 34 | xfs_sysctl_val_t sgid_inherit; /* Inherit S_ISGID if process' GID is |
36 | * not a member of parent dir GID. */ | 35 | * not a member of parent dir GID. */ |
37 | xfs_sysctl_val_t symlink_mode; /* Link creat mode affected by umask */ | 36 | xfs_sysctl_val_t symlink_mode; /* Link creat mode affected by umask */ |
@@ -68,7 +67,7 @@ typedef struct xfs_param { | |||
68 | enum { | 67 | enum { |
69 | /* XFS_REFCACHE_SIZE = 1 */ | 68 | /* XFS_REFCACHE_SIZE = 1 */ |
70 | /* XFS_REFCACHE_PURGE = 2 */ | 69 | /* XFS_REFCACHE_PURGE = 2 */ |
71 | XFS_RESTRICT_CHOWN = 3, | 70 | /* XFS_RESTRICT_CHOWN = 3 */ |
72 | XFS_SGID_INHERIT = 4, | 71 | XFS_SGID_INHERIT = 4, |
73 | XFS_SYMLINK_MODE = 5, | 72 | XFS_SYMLINK_MODE = 5, |
74 | XFS_PANIC_MASK = 6, | 73 | XFS_PANIC_MASK = 6, |
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c index 34a1982ed6dc..c45ea278ef41 100644 --- a/fs/xfs/xfs_vnodeops.c +++ b/fs/xfs/xfs_vnodeops.c | |||
@@ -232,10 +232,6 @@ xfs_setattr( | |||
232 | 232 | ||
233 | /* | 233 | /* |
234 | * Change file ownership. Must be the owner or privileged. | 234 | * Change file ownership. Must be the owner or privileged. |
235 | * If the system was configured with the "restricted_chown" | ||
236 | * option, the owner is not permitted to give away the file, | ||
237 | * and can change the group id only to a group of which he | ||
238 | * or she is a member. | ||
239 | */ | 235 | */ |
240 | if (mask & (ATTR_UID|ATTR_GID)) { | 236 | if (mask & (ATTR_UID|ATTR_GID)) { |
241 | /* | 237 | /* |
@@ -259,9 +255,8 @@ xfs_setattr( | |||
259 | * shall be equal to either the group ID or one of the | 255 | * shall be equal to either the group ID or one of the |
260 | * supplementary group IDs of the calling process. | 256 | * supplementary group IDs of the calling process. |
261 | */ | 257 | */ |
262 | if (restricted_chown && | 258 | if ((iuid != uid || |
263 | (iuid != uid || (igid != gid && | 259 | (igid != gid && !in_group_p((gid_t)gid))) && |
264 | !in_group_p((gid_t)gid))) && | ||
265 | !capable(CAP_CHOWN)) { | 260 | !capable(CAP_CHOWN)) { |
266 | code = XFS_ERROR(EPERM); | 261 | code = XFS_ERROR(EPERM); |
267 | goto error_return; | 262 | goto error_return; |
@@ -455,10 +450,6 @@ xfs_setattr( | |||
455 | 450 | ||
456 | /* | 451 | /* |
457 | * Change file ownership. Must be the owner or privileged. | 452 | * Change file ownership. Must be the owner or privileged. |
458 | * If the system was configured with the "restricted_chown" | ||
459 | * option, the owner is not permitted to give away the file, | ||
460 | * and can change the group id only to a group of which he | ||
461 | * or she is a member. | ||
462 | */ | 453 | */ |
463 | if (mask & (ATTR_UID|ATTR_GID)) { | 454 | if (mask & (ATTR_UID|ATTR_GID)) { |
464 | /* | 455 | /* |