mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-07 10:00:07 +00:00
x86: Avoid integer truncation with large cache sizes (bug 32470)
Some hypervisors report 1 TiB L3 cache size. This results
in some variables incorrectly getting zeroed, causing crashes
in memcpy/memmove because invariants are violated.
(cherry picked from commit 61c3450db9
)
This commit is contained in:
parent
b2ab6ce0f5
commit
71fca07505
1
NEWS
1
NEWS
@ -72,6 +72,7 @@ The following bugs are resolved with this release:
|
||||
[32052] Name space violation in fortify wrappers
|
||||
[32137] libio: Attempt wide backup free only for non-legacy code
|
||||
[32231] elf: Change ldconfig auxcache magic number
|
||||
[32470] x86: Avoid integer truncation with large cache sizes
|
||||
|
||||
Version 2.37
|
||||
|
||||
|
@ -952,12 +952,12 @@ dl_init_cacheinfo (struct cpu_features *cpu_features)
|
||||
|
||||
#if HAVE_TUNABLES
|
||||
/* NB: The REP MOVSB threshold must be greater than VEC_SIZE * 8. */
|
||||
unsigned int minimum_rep_movsb_threshold;
|
||||
unsigned long int minimum_rep_movsb_threshold;
|
||||
#endif
|
||||
/* NB: The default REP MOVSB threshold is 4096 * (VEC_SIZE / 16) for
|
||||
VEC_SIZE == 64 or 32. For VEC_SIZE == 16, the default REP MOVSB
|
||||
threshold is 2048 * (VEC_SIZE / 16). */
|
||||
unsigned int rep_movsb_threshold;
|
||||
unsigned long int rep_movsb_threshold;
|
||||
if (CPU_FEATURE_USABLE_P (cpu_features, AVX512F)
|
||||
&& !CPU_FEATURE_PREFERRED_P (cpu_features, Prefer_No_AVX512))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user