diff options
author | Siddhesh Poyarekar <siddhesh@redhat.com> | 2013-04-03 10:56:45 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@redhat.com> | 2013-04-03 10:56:45 +0530 |
commit | d755bba40f880c01ced8740a26fecc85534454b9 (patch) | |
tree | b295c8cadaf81d7fedd5394f5aa358c25cf51dcb /ChangeLog | |
parent | 52ce486045074d0af0298082f94e385e6b2fe443 (diff) | |
download | glibc-d755bba40f880c01ced8740a26fecc85534454b9.tar.gz glibc-d755bba40f880c01ced8740a26fecc85534454b9.tar.xz glibc-d755bba40f880c01ced8740a26fecc85534454b9.zip |
Preserve errno across _PC_CHOWN_RESTRICTED call on XFS
Fix BZ #15305. On kernel versions earlier than 2.6.29, the Linux kernel exported a sysctl called restrict_chown for xfs, which could be used to allow chown to users other than the owner. 2.6.29 removed this support, causing the open_not_cancel_2 to fail and thus modify errno. The fix is to save and restore errno so that the caller sees it as unmodified. Additionally, since the code to check the sysctl is not useful on newer kernels, we add an ifdef so that in future the code block gets rmeoved completely.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 3d85c1da05..64e9c882c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2013-04-03 Siddhesh Poyarekar <siddhesh@redhat.com> + + [BZ #15305] + * sysdeps/unix/sysv/linux/kernel-features.h + [__LINUX_KERNEL_VERSION >= 0x02061d]: Define + __ASSUME_XFS_RESTRICTED_CHOWN. + * sysdeps/unix/sysv/linux/pathconf.c + (__statfs_chown_restricted) [!__ASSUME_XFS_RESTRICTED_CHOWN]: + Save and restore errno. + 2013-04-02 Joseph Myers <joseph@codesourcery.com> [BZ #15327] |