From: Aurelien Jarno Date: Sat, 14 Sep 2019 16:22:52 +0000 (+0200) Subject: alpha: force old OSF1 syscalls for getegid, geteuid and getppid [BZ #24986] X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a132a2c305f91e4f85de00566f308eae8d95d8bf;p=thirdparty%2Fglibc.git 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 --- diff --git a/ChangeLog b/ChangeLog index 8ba3545e8c2..1061c8c796f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2019-09-14 Aurelien Jarno + + [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 * string/memmem.c (__memmem): Rewrite to improve performance. diff --git a/NEWS b/NEWS index 21520414d71..5dc41ff3eb0 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 similarity index 100% rename from sysdeps/unix/alpha/getegid.S rename to sysdeps/unix/sysv/linux/alpha/getegid.S diff --git a/sysdeps/unix/alpha/geteuid.S b/sysdeps/unix/sysv/linux/alpha/geteuid.S similarity index 100% rename from sysdeps/unix/alpha/geteuid.S rename to sysdeps/unix/sysv/linux/alpha/geteuid.S diff --git a/sysdeps/unix/alpha/getppid.S b/sysdeps/unix/sysv/linux/alpha/getppid.S similarity index 100% rename from sysdeps/unix/alpha/getppid.S rename to sysdeps/unix/sysv/linux/alpha/getppid.S