Remove __ASSUME_XFS_RESTRICTED_CHOWN
Joseph S. Myers
joseph@codesourcery.com
Fri Jun 20 20:27:00 GMT 2014
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.
2014-06-20 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.
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index b39b295..8db841d 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -237,7 +237,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 578b736..086b2dc 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
}
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list