summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2022-02-08 14:53:49 -0800
committerKees Cook <keescook@chromium.org>2022-02-13 16:50:07 -0800
commit67ebc3ab446230c77fe3b545a9d8a11cac1cfb6e (patch)
tree712643fdda5c0f50442eb4d9238daaa2035be71f /security
parent92df138a8d663cefebc3124041253677a53c92cf (diff)
fortify: Make sure strlen() may still be used as a constant expression
In preparation for enabling Clang FORTIFY_SOURCE support, redefine strlen() as a macro that tests for being a constant expression so that strlen() can still be used in static initializers, which is lost when adding __pass_object_size and __overloadable. An example of this usage can be seen here: https://lore.kernel.org/all/202201252321.dRmWZ8wW-lkp@intel.com/ Notably, this constant expression feature of strlen() is not available for architectures that build with -ffreestanding. This means the kernel currently does not universally expect strlen() to be used this way, but since there _are_ some build configurations that depend on it, retain the characteristic for Clang FORTIFY_SOURCE builds too. Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Link: https://lore.kernel.org/r/20220208225350.1331628-8-keescook@chromium.org
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions