summaryrefslogtreecommitdiffstats
path: root/lib/test_fortify/read_overflow-memchr.c
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2021-04-20 23:22:52 -0700
committerKees Cook <keescook@chromium.org>2021-10-18 12:28:52 -0700
commitbe58f7103700a68d5c7ca60a2bc0b309907599ab (patch)
treed9caaca50a2c98c6458372fac636bee254b1da9e /lib/test_fortify/read_overflow-memchr.c
parent3009f891bb9f328945ebd5b71e12df7e2467f3dd (diff)
downloadlinux-stable-be58f7103700a68d5c7ca60a2bc0b309907599ab.tar.gz
linux-stable-be58f7103700a68d5c7ca60a2bc0b309907599ab.tar.bz2
linux-stable-be58f7103700a68d5c7ca60a2bc0b309907599ab.zip
fortify: Add compile-time FORTIFY_SOURCE tests
While the run-time testing of FORTIFY_SOURCE is already present in LKDTM, there is no testing of the expected compile-time detections. In preparation for correctly supporting FORTIFY_SOURCE under Clang, adding additional FORTIFY_SOURCE defenses, and making sure FORTIFY_SOURCE doesn't silently regress with GCC, introduce a build-time test suite that checks each expected compile-time failure condition. As this is relatively backwards from standard build rules in the sense that a successful test is actually a compile _failure_, create a wrapper script to check for the correct errors, and wire it up as a dummy dependency to lib/string.o, collecting the results into a log file artifact. Signed-off-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'lib/test_fortify/read_overflow-memchr.c')
-rw-r--r--lib/test_fortify/read_overflow-memchr.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/test_fortify/read_overflow-memchr.c b/lib/test_fortify/read_overflow-memchr.c
new file mode 100644
index 000000000000..2743084b32af
--- /dev/null
+++ b/lib/test_fortify/read_overflow-memchr.c
@@ -0,0 +1,5 @@
+// SPDX-License-Identifier: GPL-2.0-only
+#define TEST \
+ memchr(small, 0x7A, sizeof(small) + 1)
+
+#include "test_fortify.h"