On Fri, May 4, 2018 at 7:21 AM, Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> wrote: > Hi Kees, > > > 2018-04-13 14:06 GMT+09:00 Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>: >> Since commit d677a4d60193 ("Makefile: support flag >> -fsanitizer-coverage=trace-cmp"), you miss to build the SANCOV >> plugin under some circumstances. >> >> CONFIG_KCOV=y >> CONFIG_KCOV_ENABLE_COMPARISONS=y >> Your compiler does not support -fsanitize-coverage=trace-pc >> Your compiler does not support -fsanitize-coverage=trace-cmp >> >> Under this condition, $(CFLAGS_KCOV) is not empty but contains a >> space, so the following ifeq-conditional is false. >> >> ifeq ($(CFLAGS_KCOV),) >> >> Then, scripts/Makefile.gcc-plugins misses to add sancov_plugin.so to >> gcc-plugin-y while the SANCOV plugin is necessary as an alternative >> means. >> >> Fixes: d677a4d60193 ("Makefile: support flag -fsanitizer-coverage=trace-cmp") >> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> >> --- > > > I am planning to queue this up to the fixes branch > since this is a bug fix. > > Do you have any comment on this? Looks fine to me; thanks! Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> -Kees > > > > > >> Changes in v3: >> - newly added >> >> Changes in v2: None >> >> scripts/Makefile.gcc-plugins | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/scripts/Makefile.gcc-plugins b/scripts/Makefile.gcc-plugins >> index b2a95af..7f5c862 100644 >> --- a/scripts/Makefile.gcc-plugins >> +++ b/scripts/Makefile.gcc-plugins >> @@ -14,7 +14,7 @@ ifdef CONFIG_GCC_PLUGINS >> endif >> >> ifdef CONFIG_GCC_PLUGIN_SANCOV >> - ifeq ($(CFLAGS_KCOV),) >> + ifeq ($(strip $(CFLAGS_KCOV)),) >> # It is needed because of the gcc-plugin.sh and gcc version checks. >> gcc-plugin-$(CONFIG_GCC_PLUGIN_SANCOV) += sancov_plugin.so >> >> -- >> 2.7.4 >> > > > > -- > Best Regards > Masahiro Yamada -- Kees Cook Pixel Security -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html