glibc/sysdeps
Stefan Liebler 5c46e6b666 s390x: Fix segfault in wcsncmp [BZ #31934]
The z13/vector-optimized wcsncmp implementation segfaults if n=1
and there is only one character (equal on both strings) before
the page end.  Then it loads and compares one character and misses
to check n again.  The following load fails.

This patch removes the extra load and compare of the first character
and just start with the loop which uses vector-load-to-block-boundary.
This code-path also checks n.

With this patch both tests are passing:
- the simplified one mentioned in the bugzilla 31934
- the full one in Florian Weimer's patch:
"manual: Document a GNU extension for strncmp/wcsncmp"
(https://patchwork.sourceware.org/project/glibc/patch/874j9eml6y.fsf@oldenburg.str.redhat.com/):
On s390x-linux-gnu (z16), the new wcsncmp test fails due to bug 31934.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>

(cherry picked from commit 9b76514103)
2024-07-16 10:25:35 +02:00
..
aarch64 elf: Only process multiple tunable once (BZ 31686) 2024-05-07 14:06:56 -03:00
alpha Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
arc login: Check default sizes of structs utmp, utmpx, lastlog 2024-05-02 13:20:27 +02:00
arm login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701) 2024-05-02 13:20:27 +02:00
csky login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701) 2024-05-02 13:20:27 +02:00
generic Reinstate generic features-time64.h 2024-05-28 07:30:07 +02:00
gnu Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
hppa login: Check default sizes of structs utmp, utmpx, lastlog 2024-05-02 13:20:27 +02:00
htl Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
hurd Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
i386 math: Fix i386 and m68k exp10 on static build (BZ 31775) 2024-07-02 14:25:56 +02:00
ieee754 math: Provide missing math symbols on libc.a (BZ 31781) 2024-07-02 14:37:44 +02:00
loongarch LoongArch: Fix undefined __memset_aligned reference in ld.so linking. 2024-05-15 09:08:10 +08:00
m68k math: Fix i386 and m68k exp10 on static build (BZ 31775) 2024-07-02 14:25:56 +02:00
mach socket: Use may_alias on sockaddr structs (bug 19622) 2024-05-27 17:25:13 +02:00
microblaze login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701) 2024-05-02 13:20:27 +02:00
mips login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701) 2024-05-02 13:20:27 +02:00
nios2 login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701) 2024-05-02 13:20:27 +02:00
nptl Always define __USE_TIME_BITS64 when 64 bit time_t is used 2024-05-28 07:30:07 +02:00
or1k login: Check default sizes of structs utmp, utmpx, lastlog 2024-05-02 13:20:27 +02:00
posix Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
powerpc login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701) 2024-05-02 13:20:27 +02:00
pthread Always define __USE_TIME_BITS64 when 64 bit time_t is used 2024-05-28 07:30:07 +02:00
riscv login: Check default sizes of structs utmp, utmpx, lastlog 2024-05-02 13:20:27 +02:00
s390 s390x: Fix segfault in wcsncmp [BZ #31934] 2024-07-16 10:25:35 +02:00
sh login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701) 2024-05-02 13:20:27 +02:00
sparc elf: Only process multiple tunable once (BZ 31686) 2024-05-07 14:06:56 -03:00
unix posix: Fix pidfd_spawn/pidfd_spawnp leak if execve fails (BZ 31695) 2024-06-25 13:51:16 -03:00
wordsize-32 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
wordsize-64 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
x86 x86: Properly set x86 minimum ISA level [BZ #31883] 2024-06-15 11:13:10 +01:00
x86_64 x86/cet: fix shadow stack test scripts 2024-06-09 15:59:49 +01:00