Minor update to getrandom vDSO handshake
This commit is contained in:
parent
308f336d61
commit
6440988290
32
glibc-RHEL-12867-3.patch
Normal file
32
glibc-RHEL-12867-3.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
commit b933e5cef63a6c136fe57de29eba7abc51b678de
|
||||||
|
Author: Florian Weimer <fweimer@redhat.com>
|
||||||
|
Date: Sun Dec 15 17:05:25 2024 +0100
|
||||||
|
|
||||||
|
Linux: Check for 0 return value from vDSO getrandom probe
|
||||||
|
|
||||||
|
As of Linux 6.13, there is no code in the vDSO that declines this
|
||||||
|
initialization request with the special ~0UL state size. If the vDSO
|
||||||
|
has the function, the call succeeds and returns 0. It's expected
|
||||||
|
that the code would follow the “a negative value indicating an error”
|
||||||
|
convention, as indicated in the __cvdso_getrandom_data function
|
||||||
|
comment, so that INTERNAL_SYSCALL_ERROR_P on glibc's side would return
|
||||||
|
true. This commit changes the commit to check for zero to indicate
|
||||||
|
success instead, which covers potential future non-zero success
|
||||||
|
return values and error returns.
|
||||||
|
|
||||||
|
Fixes commit 4f5704ea347e52ac3f272d1341da10aed6e9973e ("powerpc: Use
|
||||||
|
correct procedure call standard for getrandom vDSO call (bug 32440)").
|
||||||
|
|
||||||
|
diff --git a/sysdeps/unix/sysv/linux/getrandom.c b/sysdeps/unix/sysv/linux/getrandom.c
|
||||||
|
index 0dc8fa6e65b9ef6a..d3eab66a1af6229e 100644
|
||||||
|
--- a/sysdeps/unix/sysv/linux/getrandom.c
|
||||||
|
+++ b/sysdeps/unix/sysv/linux/getrandom.c
|
||||||
|
@@ -246,7 +246,7 @@ __getrandom_early_init (_Bool initial)
|
||||||
|
} params;
|
||||||
|
long int ret = INTERNAL_VSYSCALL_CALL (GLRO(dl_vdso_getrandom),
|
||||||
|
5, NULL, 0, 0, ¶ms, ~0UL);
|
||||||
|
- if (! INTERNAL_SYSCALL_ERROR_P (ret))
|
||||||
|
+ if (ret == 0)
|
||||||
|
{
|
||||||
|
/* Align each opaque state to L1 data cache size to avoid false
|
||||||
|
sharing. If the size can not be obtained, use the kernel
|
@ -145,7 +145,7 @@ Version: %{glibcversion}
|
|||||||
# - It allows using the Release number without the %%dist tag in the dependency
|
# - It allows using the Release number without the %%dist tag in the dependency
|
||||||
# generator to make the generated requires interchangeable between Rawhide
|
# generator to make the generated requires interchangeable between Rawhide
|
||||||
# and ELN (.elnYY < .fcXX).
|
# and ELN (.elnYY < .fcXX).
|
||||||
%global baserelease 30
|
%global baserelease 31
|
||||||
Release: %{baserelease}%{?dist}
|
Release: %{baserelease}%{?dist}
|
||||||
|
|
||||||
# Licenses:
|
# Licenses:
|
||||||
@ -483,6 +483,7 @@ Patch165: glibc-upstream-2.39-135.patch
|
|||||||
Patch166: glibc-upstream-2.39-136.patch
|
Patch166: glibc-upstream-2.39-136.patch
|
||||||
Patch167: glibc-upstream-2.39-137.patch
|
Patch167: glibc-upstream-2.39-137.patch
|
||||||
Patch168: glibc-RHEL-12867-2.patch
|
Patch168: glibc-RHEL-12867-2.patch
|
||||||
|
Patch169: glibc-RHEL-12867-3.patch
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Continued list of core "glibc" package information:
|
# Continued list of core "glibc" package information:
|
||||||
@ -2478,6 +2479,9 @@ update_gconv_modules_cache ()
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Dec 15 2024 Florian Weimer <fweimer@redhat.com> - 2.39-31
|
||||||
|
- Minor update to getrandom vDSO handshake
|
||||||
|
|
||||||
* Wed Dec 11 2024 Florian Weimer <fweimer@redhat.com> - 2.39-30
|
* Wed Dec 11 2024 Florian Weimer <fweimer@redhat.com> - 2.39-30
|
||||||
- CVE-2024-12455: Incorrect getrandom return value on ppc64le
|
- CVE-2024-12455: Incorrect getrandom return value on ppc64le
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user