Remove glibc-rhbz1869030-faccessat2-eperm.patch workaround.

With the release of Fedora 33 the host systems affected by the
older systemd-nspawn have been updated and the workaround is no
longer required.

Resolve: #1869030
This commit is contained in:
Carlos O'Donell 2020-11-10 09:44:51 -05:00
parent 98f35706db
commit c626367cc1
2 changed files with 4 additions and 27 deletions

View File

@ -1,25 +0,0 @@
With older systemd-nspawn the faccessat2 syscall was denied but
instead of returning ENOSYS it returned EPERM. This has since
been corrected in upstream systemd-nsapwn, but with older builders
that may have older nspawn the Fedora Rawhide glibc should fall
back to faccessat when it sees ENOSYS *or* EPERM. This is a
Fedora Rawhide-only patch that should be removed before the next
release.
diff --git a/sysdeps/unix/sysv/linux/faccessat.c b/sysdeps/unix/sysv/linux/faccessat.c
index 56cb6dcc8b4d58d3..5de75032bbc93a2c 100644
--- a/sysdeps/unix/sysv/linux/faccessat.c
+++ b/sysdeps/unix/sysv/linux/faccessat.c
@@ -34,7 +34,11 @@ faccessat (int fd, const char *file, int mode, int flag)
#if __ASSUME_FACCESSAT2
return ret;
#else
- if (ret == 0 || errno != ENOSYS)
+ /* Fedora-specific workaround:
+ As a workround for a broken systemd-nspawn that returns
+ EPERM when a syscall is not allowed instead of ENOSYS
+ we must check for EPERM here and fall back to faccessat. */
+ if (ret == 0 || !(errno == ENOSYS || errno == EPERM))
return ret;
if (flag & ~(AT_SYMLINK_NOFOLLOW | AT_EACCESS))

View File

@ -100,7 +100,7 @@
Summary: The GNU libc libraries Summary: The GNU libc libraries
Name: glibc Name: glibc
Version: %{glibcversion} Version: %{glibcversion}
Release: 15%{?dist} Release: 16%{?dist}
# In general, GPLv2+ is used by programs, LGPLv2+ is used for # In general, GPLv2+ is used by programs, LGPLv2+ is used for
# libraries. # libraries.
@ -161,7 +161,6 @@ Patch23: glibc-python3.patch
Patch29: glibc-fedora-nsswitch.patch Patch29: glibc-fedora-nsswitch.patch
Patch30: glibc-deprecated-selinux-makedb.patch Patch30: glibc-deprecated-selinux-makedb.patch
Patch31: glibc-deprecated-selinux-nscd.patch Patch31: glibc-deprecated-selinux-nscd.patch
Patch32: glibc-rhbz1869030-faccessat2-eperm.patch
Patch33: glibc-revert-fxstat-compat.patch Patch33: glibc-revert-fxstat-compat.patch
Patch34: glibc-revert-mknod-compat.patch Patch34: glibc-revert-mknod-compat.patch
@ -2270,6 +2269,9 @@ fi
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared %files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
%changelog %changelog
* Tue Nov 10 2020 Carlos O'Donell <carlos@redhat.com> - 2.32.9000-16
- Remove the work around for systemd-nspawn (#1869030).
* Mon Nov 09 2020 DJ Delorie <dj@redhat.com> - 2.32.9000-15 * Mon Nov 09 2020 DJ Delorie <dj@redhat.com> - 2.32.9000-15
- Auto-sync with upstream branch master, - Auto-sync with upstream branch master,
commit 75a193b7611bade31a150dfcc528b973e3d46231. commit 75a193b7611bade31a150dfcc528b973e3d46231.