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 ion>
AgeCommit message (Expand)Author
2020-11-07Merge remote-tracking branch 'origin/staging-next' into stagingMarius Bakke
2020-11-07Merge branch 'master' into staging... Conflicts: gnu/local.mk gnu/packages/gdb.scm gnu/packages/lisp-xyz.scm gnu/packages/web-browsers.scm Marius Bakke
2020-11-05gnu: python-sphinx-intl: Update to 2.0.1....* gnu/packages/sphinx.scm (python-sphinx-intl): Update to 2.0.1. Tobias Geerinckx-Rice
2020-10-24gnu: python-breathe: Update to 4.22.1....* gnu/packages/sphinx.scm (python-breathe): Update to 4.22.1. Signed-off-by: Christopher Baines <mail@cbaines.net> Simon South
2020-10-24gnu: python-sphinx: Update to 3.2.1....* gnu/packages/sphinx.scm (python-sphinx): Update to 3.2.1. Signed-off-by: Christopher Baines <mail@cbaines.net> Simon South
2020-07-25gnu: Sphinx: Update to 3.1.2....* gnu/packages/sphinx.scm (python-sphinx): Update to 3.1.2. Marius Bakke
2020-07-25gnu: Remove python2-sphinx....* gnu/packages/sphinx.scm (python-sphinx)[properties]: Use self as python2 variant. (python2-sphinx): Remove variable. Marius Bakke