aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2019-09-14 18:22:52 +0200
committerAndreas K. Hüttel <dilfridge@gentoo.org>2019-11-25 01:56:07 +0100
commit6a4ba283ef66021bf501e07e9d3578580e755da0 (patch)
treefab75d0657f680937b2a00a45f2d5fd22e923d2b
parentImprove performance of memmem (diff)
downloadglibc-6a4ba283ef66021bf501e07e9d3578580e755da0.tar.gz
glibc-6a4ba283ef66021bf501e07e9d3578580e755da0.tar.bz2
glibc-6a4ba283ef66021bf501e07e9d3578580e755da0.zip
alpha: force old OSF1 syscalls for getegid, geteuid and getppid [BZ #24986]
On alpha, Linux kernel 5.1 added the standard getegid, geteuid and getppid syscalls (commit ecf7e0a4ad15287). Up to now alpha was using the corresponding OSF1 syscalls through: - sysdeps/unix/alpha/getegid.S - sysdeps/unix/alpha/geteuid.S - sysdeps/unix/alpha/getppid.S When building against kernel headers >= 5.1, the glibc now use the new syscalls through sysdeps/unix/sysv/linux/syscalls.list. When it is then used with an older kernel, the corresponding 3 functions fail. A quick fix is to move the OSF1 wrappers under the sysdeps/unix/sysv/linux/alpha directory so they override the standard linux ones. A better fix would be to try the new syscalls and fallback to the old OSF1 in case the new ones fail. This can be implemented in a later commit. Changelog: [BZ #24986] * sysdeps/unix/alpha/getegid.S: Move to ... * sysdeps/unix/sysv/linux/alpha/getegid.S: ... here. * sysdeps/unix/alpha/geteuid.S: Move to ... * sysdeps/unix/sysv/linux/alpha/geteuid.S: ... here. * sysdeps/unix/alpha/getppid.S: Move to ... * sysdeps/unix/sysv/linux/alpha/getppid.S: ... here (cherry picked from commit a132a2c305f91e4f85de00566f308eae8d95d8bf)
-rw-r--r--ChangeLog10
-rw-r--r--NEWS2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/getegid.S (renamed from sysdeps/unix/alpha/getegid.S)0
-rw-r--r--sysdeps/unix/sysv/linux/alpha/geteuid.S (renamed from sysdeps/unix/alpha/geteuid.S)0
-rw-r--r--sysdeps/unix/sysv/linux/alpha/getppid.S (renamed from sysdeps/unix/alpha/getppid.S)0
5 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8ba3545e8c..1061c8c796 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2019-09-14 Aurelien Jarno <aurelien@aurel32.net>
+
+ [BZ #24986]
+ * sysdeps/unix/alpha/getegid.S: Move to ...
+ * sysdeps/unix/sysv/linux/alpha/getegid.S: ... here.
+ * sysdeps/unix/alpha/geteuid.S: Move to ...
+ * sysdeps/unix/sysv/linux/alpha/geteuid.S: ... here.
+ * sysdeps/unix/alpha/getppid.S: Move to ...
+ * sysdeps/unix/sysv/linux/alpha/getppid.S: ... here
+
2019-09-13 Wilco Dijkstra <wdijkstr@arm.com>
* string/memmem.c (__memmem): Rewrite to improve performance.
diff --git a/NEWS b/NEWS
index 21520414d7..5dc41ff3eb 100644
--- a/NEWS
+++ b/NEWS
@@ -33,6 +33,8 @@ The following bugs are resolved with this release:
[24228] old x86 applications that use legacy libio crash on exit
[24476] dlfcn: Guard __dlerror_main_freeres with __libc_once_get (once)
[24744] io: Remove the copy_file_range emulation
+ [24986] alpha: new getegid, geteuid and getppid syscalls used
+ unconditionally
Security related changes:
diff --git a/sysdeps/unix/alpha/getegid.S b/sysdeps/unix/sysv/linux/alpha/getegid.S
index 167009d17a..167009d17a 100644
--- a/sysdeps/unix/alpha/getegid.S
+++ b/sysdeps/unix/sysv/linux/alpha/getegid.S
diff --git a/sysdeps/unix/alpha/geteuid.S b/sysdeps/unix/sysv/linux/alpha/geteuid.S
index 39413779f7..39413779f7 100644
--- a/sysdeps/unix/alpha/geteuid.S
+++ b/sysdeps/unix/sysv/linux/alpha/geteuid.S
diff --git a/sysdeps/unix/alpha/getppid.S b/sysdeps/unix/sysv/linux/alpha/getppid.S
index 4d291181bd..4d291181bd 100644
--- a/sysdeps/unix/alpha/getppid.S
+++ b/sysdeps/unix/sysv/linux/alpha/getppid.S