OSDN Git Service

Improve FORTIFY failure diagnostics.
authorElliott Hughes <enh@google.com>
Fri, 26 Feb 2016 04:33:47 +0000 (20:33 -0800)
committerElliott Hughes <enh@google.com>
Sat, 27 Feb 2016 06:06:17 +0000 (22:06 -0800)
commitb83d6747facc5d819a0df0bcb8762477eecfd962
tree4f5b7589c2cfe21756a85327818a88a9becbc781
parente0959b4b164a26eb9931ed6925c71d7870c063fe
Improve FORTIFY failure diagnostics.

Our FORTIFY _chk functions' implementations were very repetitive and verbose
but not very helpful. We'd also screwed up and put the SSIZE_MAX checks where
they would never fire unless you actually had a buffer as large as half your
address space, which probably doesn't happen very often.

Factor out the duplication and take the opportunity to actually show details
like how big the overrun buffer was, or by how much it was overrun.

Also remove the obsolete FORTIFY event logging.

Also remove the unused __libc_fatal_no_abort.

This change doesn't improve the diagnostics from the optimized assembler
implementations.

Change-Id: I176a90701395404d50975b547a00bd2c654e1252
63 files changed:
libc/Android.mk
libc/arch-arm/cortex-a15/bionic/__strcat_chk_common.S
libc/arch-arm/cortex-a15/bionic/__strcpy_chk_common.S
libc/arch-arm/cortex-a15/bionic/memcpy_common.S
libc/arch-arm/cortex-a15/bionic/memset.S
libc/arch-arm/cortex-a7/bionic/memset.S
libc/arch-arm/cortex-a9/bionic/__strcat_chk.S
libc/arch-arm/cortex-a9/bionic/__strcpy_chk.S
libc/arch-arm/cortex-a9/bionic/memcpy.S
libc/arch-arm/cortex-a9/bionic/memset.S
libc/arch-arm/denver/bionic/__strcat_chk.S
libc/arch-arm/denver/bionic/__strcpy_chk.S
libc/arch-arm/denver/bionic/memcpy.S
libc/arch-arm/denver/bionic/memmove.S
libc/arch-arm/denver/bionic/memset.S
libc/arch-arm/generic/bionic/memcpy.S
libc/arch-arm/generic/bionic/memset.S
libc/arch-arm/krait/bionic/__strcat_chk.S
libc/arch-arm/krait/bionic/__strcpy_chk.S
libc/arch-arm/krait/bionic/memcpy.S
libc/arch-arm/krait/bionic/memset.S
libc/arch-arm64/denver64/bionic/memcpy.S
libc/arch-arm64/generic/bionic/memcpy.S
libc/bionic/__fgets_chk.cpp [deleted file]
libc/bionic/__fread_chk.cpp [deleted file]
libc/bionic/__fwrite_chk.cpp [deleted file]
libc/bionic/__getcwd_chk.cpp [deleted file]
libc/bionic/__memchr_chk.cpp [deleted file]
libc/bionic/__memcpy_chk.cpp
libc/bionic/__memmove_chk.cpp [deleted file]
libc/bionic/__memrchr_chk.cpp [deleted file]
libc/bionic/__memset_chk.cpp
libc/bionic/__poll_chk.cpp [deleted file]
libc/bionic/__pread64_chk.cpp [deleted file]
libc/bionic/__pread_chk.cpp [deleted file]
libc/bionic/__pwrite64_chk.cpp [deleted file]
libc/bionic/__pwrite_chk.cpp [deleted file]
libc/bionic/__read_chk.cpp [deleted file]
libc/bionic/__readlink_chk.cpp [deleted file]
libc/bionic/__readlinkat_chk.cpp [deleted file]
libc/bionic/__recvfrom_chk.cpp [deleted file]
libc/bionic/__stpcpy_chk.cpp [deleted file]
libc/bionic/__stpncpy_chk.cpp [deleted file]
libc/bionic/__strcat_chk.cpp
libc/bionic/__strchr_chk.cpp [deleted file]
libc/bionic/__strcpy_chk.cpp
libc/bionic/__strlcat_chk.cpp [deleted file]
libc/bionic/__strlcpy_chk.cpp [deleted file]
libc/bionic/__strlen_chk.cpp [deleted file]
libc/bionic/__strncat_chk.cpp [deleted file]
libc/bionic/__strncpy_chk.cpp [deleted file]
libc/bionic/__strrchr_chk.cpp [deleted file]
libc/bionic/__umask_chk.cpp [deleted file]
libc/bionic/__vsnprintf_chk.cpp [deleted file]
libc/bionic/__vsprintf_chk.cpp [deleted file]
libc/bionic/__write_chk.cpp [deleted file]
libc/bionic/fortify.cpp [new file with mode: 0644]
libc/bionic/libc_logging.cpp
libc/bionic/open.cpp
libc/dns/resolv/res_send.c
libc/private/bionic_fortify.h [moved from libc/bionic/__FD_chk.cpp with 54% similarity]
libc/private/libc_events.h [deleted file]
libc/private/libc_logging.h