https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=patch;h=9aaaab7c6e4176e61c59b0a63c6ba906d875dc0e with the ChangeLog removed From 9aaaab7c6e4176e61c59b0a63c6ba906d875dc0e Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Tue, 22 May 2018 10:37:59 +0200 Subject: [PATCH] Don't write beyond destination in __mempcpy_avx512_no_vzeroupper (bug 23196) When compiled as mempcpy, the return value is the end of the destination buffer, thus it cannot be used to refer to the start of it. --- ChangeLog | 9 +++++++++ string/test-mempcpy.c | 1 + sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S | 5 +++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/string/test-mempcpy.c b/string/test-mempcpy.c index c08fba8..d98ecdd 100644 --- a/string/test-mempcpy.c +++ b/string/test-mempcpy.c @@ -18,6 +18,7 @@ . */ #define MEMCPY_RESULT(dst, len) (dst) + (len) +#define MIN_PAGE_SIZE 131072 #define TEST_MAIN #define TEST_NAME "mempcpy" #include "test-string.h" diff --git a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S index 23c0f7a..effc3ac 100644 --- a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S +++ b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S @@ -336,6 +336,7 @@ L(preloop_large): vmovups (%rsi), %zmm4 vmovups 0x40(%rsi), %zmm5 + mov %rdi, %r11 /* Align destination for access with non-temporal stores in the loop. */ mov %rdi, %r8 and $-0x80, %rdi @@ -366,8 +367,8 @@ L(gobble_256bytes_nt_loop): cmp $256, %rdx ja L(gobble_256bytes_nt_loop) sfence - vmovups %zmm4, (%rax) - vmovups %zmm5, 0x40(%rax) + vmovups %zmm4, (%r11) + vmovups %zmm5, 0x40(%r11) jmp L(check) L(preloop_large_bkw): -- 2.9.3 on value='committer'>committer
AgeCommit message (Collapse)Author
2022-10-07tests: xvnc: Do not use specification->package in OS definition.Maxim Cournoyer
Doing so would cause the extra package dependencies to not be correctly registered as dependencies, which would lead to a silent failure when attempting to load or byte compile the module at the time guix build itself (e.g., when running 'guix pull'). * gnu/tests/vnc.scm (%xvnc-os) [packages]: Turn the the specification->package declaration into a list of package objects.
2022-10-07Revert "Revert "services: Add xvnc-service-type.""Maxim Cournoyer
This reverts commit 0c4966160054bc50e6ab3a4ac9c9a6a1826ab5a0. The fix appears in the subsequent commit, for clarity.
2022-10-07Revert "services: Add xvnc-service-type."Maxim Cournoyer
This reverts commit 1c528a95cb92b7808e6603d7956185005583629f. This broke 'guix pull', for (yet) unknown reasons.
2022-10-07services: Add xvnc-service-type.Maxim Cournoyer
* gnu/services/vnc.scm: New file. * gnu/tests/vnc.scm: Likewise. * gnu/local.mk: Register them.