[PW_SID:959200] stackleak: Support Clang stack depth tracking#368
[PW_SID:959200] stackleak: Support Clang stack depth tracking#368linux-riscv-bot wants to merge 5 commits into
Conversation
In preparation for adding Clang sanitizer coverage stack depth tracking that can support stack depth callbacks, remove "GCC_PLUGIN" from "CONFIG_GCC_PLUGIN_STACKLEAK" and remove "PLUGIN" from "DISABLE_STACKLEAK_PLUGIN". Rearrange the Kconfig to have a top-level CONFIG_STACKLEAK that will depend on either GCC plugins or Clang soon. While here, also split "prev_lowest_stack" into CONFIG_STACKLEAK_METRICS, since that's the only place it is referenced from. Signed-off-by: Kees Cook <kees@kernel.org> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
The Clang stack depth tracking implementation has a fixed name for the stack depth tracking callback, "__sanitizer_cov_stack_depth", so rename the GCC plugin function to match. Signed-off-by: Kees Cook <kees@kernel.org> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
In preparation for Clang stack depth tracking for stackleak, split the stackleak-specific cflags out of GCC_PLUGINS_CFLAGS into STACKLEAK_CFLAGS. Signed-off-by: Kees Cook <kees@kernel.org> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Wire up stackleak to Clang's proposed[1] stack depth tracking callback option. While __noinstr already contained __no_sanitize_coverage, it was still needed for __init and __head section markings. This is needed to make sure the callback is not executed in unsupported contexts. Link: llvm/llvm-project#138323 [1] Signed-off-by: Kees Cook <kees@kernel.org> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[RFC,1/4] stackleak: Rename CONFIG_GCC_PLUGIN_STACKLEAK to CONFIG_STACKLEAK" |
|
Patch 1: "[RFC,1/4] stackleak: Rename CONFIG_GCC_PLUGIN_STACKLEAK to CONFIG_STACKLEAK" |
|
Patch 1: "[RFC,1/4] stackleak: Rename CONFIG_GCC_PLUGIN_STACKLEAK to CONFIG_STACKLEAK" |
|
Patch 1: "[RFC,1/4] stackleak: Rename CONFIG_GCC_PLUGIN_STACKLEAK to CONFIG_STACKLEAK" |
|
Patch 1: "[RFC,1/4] stackleak: Rename CONFIG_GCC_PLUGIN_STACKLEAK to CONFIG_STACKLEAK" |
|
Patch 1: "[RFC,1/4] stackleak: Rename CONFIG_GCC_PLUGIN_STACKLEAK to CONFIG_STACKLEAK" |
|
Patch 1: "[RFC,1/4] stackleak: Rename CONFIG_GCC_PLUGIN_STACKLEAK to CONFIG_STACKLEAK" |
|
Patch 1: "[RFC,1/4] stackleak: Rename CONFIG_GCC_PLUGIN_STACKLEAK to CONFIG_STACKLEAK" |
|
Patch 1: "[RFC,1/4] stackleak: Rename CONFIG_GCC_PLUGIN_STACKLEAK to CONFIG_STACKLEAK" |
|
Patch 1: "[RFC,1/4] stackleak: Rename CONFIG_GCC_PLUGIN_STACKLEAK to CONFIG_STACKLEAK" |
|
Patch 1: "[RFC,1/4] stackleak: Rename CONFIG_GCC_PLUGIN_STACKLEAK to CONFIG_STACKLEAK" |
|
Patch 1: "[RFC,1/4] stackleak: Rename CONFIG_GCC_PLUGIN_STACKLEAK to CONFIG_STACKLEAK" |
|
Patch 2: "[RFC,2/4] stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth" |
|
Patch 2: "[RFC,2/4] stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth" |
|
Patch 2: "[RFC,2/4] stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth" |
|
Patch 2: "[RFC,2/4] stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth" |
|
Patch 2: "[RFC,2/4] stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth" |
|
Patch 2: "[RFC,2/4] stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth" |
|
Patch 2: "[RFC,2/4] stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth" |
|
Patch 2: "[RFC,2/4] stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth" |
|
Patch 2: "[RFC,2/4] stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth" |
|
Patch 2: "[RFC,2/4] stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth" |
|
Patch 2: "[RFC,2/4] stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth" |
|
Patch 2: "[RFC,2/4] stackleak: Rename stackleak_track_stack to __sanitizer_cov_stack_depth" |
|
Patch 3: "[RFC,3/4] stackleak: Split STACKLEAK_CFLAGS from GCC_PLUGINS_CFLAGS" |
|
Patch 3: "[RFC,3/4] stackleak: Split STACKLEAK_CFLAGS from GCC_PLUGINS_CFLAGS" |
|
Patch 3: "[RFC,3/4] stackleak: Split STACKLEAK_CFLAGS from GCC_PLUGINS_CFLAGS" |
|
Patch 3: "[RFC,3/4] stackleak: Split STACKLEAK_CFLAGS from GCC_PLUGINS_CFLAGS" |
|
Patch 3: "[RFC,3/4] stackleak: Split STACKLEAK_CFLAGS from GCC_PLUGINS_CFLAGS" |
|
Patch 3: "[RFC,3/4] stackleak: Split STACKLEAK_CFLAGS from GCC_PLUGINS_CFLAGS" |
|
Patch 3: "[RFC,3/4] stackleak: Split STACKLEAK_CFLAGS from GCC_PLUGINS_CFLAGS" |
|
Patch 3: "[RFC,3/4] stackleak: Split STACKLEAK_CFLAGS from GCC_PLUGINS_CFLAGS" |
|
Patch 3: "[RFC,3/4] stackleak: Split STACKLEAK_CFLAGS from GCC_PLUGINS_CFLAGS" |
|
Patch 3: "[RFC,3/4] stackleak: Split STACKLEAK_CFLAGS from GCC_PLUGINS_CFLAGS" |
|
Patch 3: "[RFC,3/4] stackleak: Split STACKLEAK_CFLAGS from GCC_PLUGINS_CFLAGS" |
|
Patch 3: "[RFC,3/4] stackleak: Split STACKLEAK_CFLAGS from GCC_PLUGINS_CFLAGS" |
|
Patch 4: "[RFC,4/4] stackleak: Support Clang stack depth tracking" |
|
Patch 4: "[RFC,4/4] stackleak: Support Clang stack depth tracking" |
|
Patch 4: "[RFC,4/4] stackleak: Support Clang stack depth tracking" |
|
Patch 4: "[RFC,4/4] stackleak: Support Clang stack depth tracking" |
|
Patch 4: "[RFC,4/4] stackleak: Support Clang stack depth tracking" |
|
Patch 4: "[RFC,4/4] stackleak: Support Clang stack depth tracking" |
|
Patch 4: "[RFC,4/4] stackleak: Support Clang stack depth tracking" |
|
Patch 4: "[RFC,4/4] stackleak: Support Clang stack depth tracking" |
|
Patch 4: "[RFC,4/4] stackleak: Support Clang stack depth tracking" |
|
Patch 4: "[RFC,4/4] stackleak: Support Clang stack depth tracking" |
|
Patch 4: "[RFC,4/4] stackleak: Support Clang stack depth tracking" |
|
Patch 4: "[RFC,4/4] stackleak: Support Clang stack depth tracking" |
4d9ad71 to
625be03
Compare
PR for series 959200 applied to workflow__riscv__fixes
Name: stackleak: Support Clang stack depth tracking
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=959200
Version: 1