diff options
author | Kees Cook <keescook@chromium.org> | 2021-06-18 19:57:38 +0200 |
---|---|---|
committer | Kees Cook <keescook@chromium.org> | 2021-09-25 17:20:49 +0200 |
commit | cfecea6ead5f15880fc1fb31fc655f8be5cf7424 (patch) | |
tree | 331af507e9084ca106a9a225aa3b166bde9605a9 /arch/x86/lib | |
parent | compiler_types.h: Remove __compiletime_object_size() (diff) | |
download | linux-cfecea6ead5f15880fc1fb31fc655f8be5cf7424.tar.xz linux-cfecea6ead5f15880fc1fb31fc655f8be5cf7424.zip |
lib/string: Move helper functions out of string.c
The core functions of string.c are those that may be implemented by
per-architecture functions, or overloaded by FORTIFY_SOURCE. As a
result, it needs to be built with __NO_FORTIFY. Without this, macros
will collide with function declarations. This was accidentally working
due to -ffreestanding (on some architectures). Make this deterministic
by explicitly setting __NO_FORTIFY and move all the helper functions
into string_helpers.c so that they gain the fortification coverage they
had been missing.
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Cc: Andy Lavr <andy.lavr@gmail.com>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'arch/x86/lib')
-rw-r--r-- | arch/x86/lib/string_32.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/lib/string_32.c b/arch/x86/lib/string_32.c index d15fdae9656e..53b3f202267c 100644 --- a/arch/x86/lib/string_32.c +++ b/arch/x86/lib/string_32.c @@ -11,6 +11,7 @@ * strings. */ +#define __NO_FORTIFY #include <linux/string.h> #include <linux/export.h> |