From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 82648 invoked by alias); 8 Dec 2016 14:56:11 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 81762 invoked by uid 89); 8 Dec 2016 14:56:10 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.7 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=town X-HELO: mailbackend.panix.com From: Zack Weinberg To: libc-alpha@sourceware.org Subject: [PATCH 0/3] explicit_bzero v6 Date: Thu, 08 Dec 2016 14:56:00 -0000 Message-Id: <20161208145606.3568-1-zackw@panix.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SW-Source: 2016-12/txt/msg00273.txt.bz2 This contains the revised documentation discussed earlier, and an improved test that doesn't use signal stacks (it uses swapcontext instead, and does no printing on the alternate stack, so we don't need a printf wrapper anymore) (I thought about using pthreads instead of the POSIX-obsolesced swapcontext, but then I'd have had to figure out how to get random tests in string/ linked with libpthread). There is no mangling of the public symbol name. As with getentropy/getrandom, I'm OK with adding mangling if archive rebuilds indicate a problem. I'm going to be out of town for the last two weeks of December, so I would like a go/no-go decision on the inclusion of explicit_bzero for 2.25 as soon as possible. zw Zack Weinberg (3): New string function explicit_bzero (from OpenBSD). Add fortification and inline optimization of explicit_bzero. Use explicit_bzero where appropriate NEWS | 6 + crypt/crypt-entry.c | 11 + crypt/md5-crypt.c | 8 +- crypt/sha256-crypt.c | 14 +- crypt/sha512-crypt.c | 14 +- debug/tst-chk1.c | 28 ++ include/string.h | 12 + manual/string.texi | 101 +++++++ string/Makefile | 12 +- string/Versions | 10 + string/bits/string2.h | 11 + string/bits/string3.h | 8 + string/explicit_bzero.c | 33 +++ string/read_memory.c | 41 +++ string/string.h | 9 + string/test-explicit_bzero.c | 20 ++ string/test-memset.c | 10 +- string/tst-xbzero-opt.c | 289 +++++++++++++++++++++ sysdeps/arm/nacl/libc.abilist | 3 + sysdeps/unix/sysv/linux/aarch64/libc.abilist | 3 + sysdeps/unix/sysv/linux/alpha/libc.abilist | 3 + sysdeps/unix/sysv/linux/arm/libc.abilist | 3 + sysdeps/unix/sysv/linux/hppa/libc.abilist | 3 + sysdeps/unix/sysv/linux/i386/libc.abilist | 3 + sysdeps/unix/sysv/linux/ia64/libc.abilist | 3 + sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist | 3 + sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 3 + sysdeps/unix/sysv/linux/microblaze/libc.abilist | 3 + .../unix/sysv/linux/mips/mips32/fpu/libc.abilist | 3 + .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist | 3 + .../unix/sysv/linux/mips/mips64/n32/libc.abilist | 3 + .../unix/sysv/linux/mips/mips64/n64/libc.abilist | 3 + sysdeps/unix/sysv/linux/nios2/libc.abilist | 3 + .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 3 + .../linux/powerpc/powerpc32/nofpu/libc.abilist | 3 + .../sysv/linux/powerpc/powerpc64/libc-le.abilist | 3 + .../unix/sysv/linux/powerpc/powerpc64/libc.abilist | 3 + sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 3 + sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist | 3 + sysdeps/unix/sysv/linux/sh/libc.abilist | 3 + sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist | 3 + sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist | 3 + .../sysv/linux/tile/tilegx/tilegx32/libc.abilist | 3 + .../sysv/linux/tile/tilegx/tilegx64/libc.abilist | 3 + sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist | 3 + sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 3 + sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 3 + 47 files changed, 702 insertions(+), 22 deletions(-) create mode 100644 string/explicit_bzero.c create mode 100644 string/read_memory.c create mode 100644 string/test-explicit_bzero.c create mode 100644 string/tst-xbzero-opt.c -- 2.11.0