diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-06-25 16:39:33 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-06-25 16:39:33 +0000 |
commit | a4ccbc9b243926a9904624b387fb18583c3d4d4d (patch) | |
tree | 6763cdd9dc3430294c39fba0fce5016d68e27eb4 | |
parent | 9aea0cb842f02098d9c09b4855f883ddc8a8a97e (diff) | |
download | glibc-a4ccbc9b243926a9904624b387fb18583c3d4d4d.tar glibc-a4ccbc9b243926a9904624b387fb18583c3d4d4d.tar.gz glibc-a4ccbc9b243926a9904624b387fb18583c3d4d4d.tar.bz2 glibc-a4ccbc9b243926a9904624b387fb18583c3d4d4d.zip |
Remove __ASSUME_XFS_RESTRICTED_CHOWN.
This patch removes the __ASSUME_XFS_RESTRICTED_CHOWN macro, now it can
be presumed to be defined unconditionally. I'm not sure if what's
left of __statfs_chown_restricted is actually useful (if not, a
followup could remove it), but I left it there to keep the patch
conservative and avoid changing the code generated for glibc.
Tested x86_64 that the disassembly of installed shared libraries is
unchanged by the patch.
* sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_XFS_RESTRICTED_CHOWN): Remove macro.
* sysdeps/unix/sysv/linux/pathconf.c (__statfs_chown_restricted)
[__ASSUME_XFS_RESTRICTED_CHOWN]: Make code unconditional.
(__statfs_chown_restricted) [!__ASSUME_XFS_RESTRICTED_CHOWN]:
Remove conditional code.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/kernel-features.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/pathconf.c | 30 |
3 files changed, 9 insertions, 34 deletions
@@ -1,3 +1,12 @@ +2014-06-25 Joseph Myers <joseph@codesourcery.com> + + * sysdeps/unix/sysv/linux/kernel-features.h + (__ASSUME_XFS_RESTRICTED_CHOWN): Remove macro. + * sysdeps/unix/sysv/linux/pathconf.c (__statfs_chown_restricted) + [__ASSUME_XFS_RESTRICTED_CHOWN]: Make code unconditional. + (__statfs_chown_restricted) [!__ASSUME_XFS_RESTRICTED_CHOWN]: + Remove conditional code. + 2014-06-25 Will Newton <will.newton@linaro.org> * sysdeps/unix/sysv/linux/arm/dl-procinfo.c diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h index 3c8ea50f79..665c348829 100644 --- a/sysdeps/unix/sysv/linux/kernel-features.h +++ b/sysdeps/unix/sysv/linux/kernel-features.h @@ -228,7 +228,3 @@ #if defined __x86_64__ && __LINUX_KERNEL_VERSION >= 0x030100 # define __ASSUME_GETCPU_SYSCALL 1 #endif - -/* 2.6.29 removed the XFS restricted_chown sysctl, so it is pointless looking - for it in newer kernels. */ -#define __ASSUME_XFS_RESTRICTED_CHOWN 1 diff --git a/sysdeps/unix/sysv/linux/pathconf.c b/sysdeps/unix/sysv/linux/pathconf.c index 578b73654f..086b2dc6e0 100644 --- a/sysdeps/unix/sysv/linux/pathconf.c +++ b/sysdeps/unix/sysv/linux/pathconf.c @@ -289,35 +289,5 @@ __statfs_chown_restricted (int result, const struct statfs *fsbuf) return -1; } -#if __ASSUME_XFS_RESTRICTED_CHOWN return 1; -#else - int fd; - int save_errno; - long int retval = 1; - switch (fsbuf->f_type) - { - case XFS_SUPER_MAGIC: - save_errno = errno; - /* Read the value from /proc/sys/fs/xfs/restrict_chown. If we cannot - read it default to assume the restriction is in place. */ - fd = open_not_cancel_2 ("/proc/sys/fs/xfs/restrict_chown", O_RDONLY); - if (fd != -1) - { - char buf[2]; - if (TEMP_FAILURE_RETRY (read_not_cancel (fd, buf, 2)) == 2 - && buf[0] >= '0' && buf[0] <= '1') - retval = buf[0] - '0'; - - close_not_cancel_no_status (fd); - } - __set_errno (save_errno); - break; - - default: - break; - } - - return retval; -#endif } |