Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1581572

Re: [PATCH] objtool: fix CONFIG_STACK_VALIDATION warning for out-of-tree modules

From Jessica Yu <jeyu@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCH] objtool: fix CONFIG_STACK_VALIDATION warning for out-of-tree modules
Date 2017-02-15 20:00 +0100
Message-ID <tbcY2-3Ds-27@gated-at.bofh.it> (permalink)
References <tbcv0-3sf-17@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


+++ Josh Poimboeuf [15/02/17 12:21 -0600]:
>When building a CONFIG_STACK_VALIDATION enabled kernel without the
>libelf devel package installed, the Makefile prints a warning:
>
>  "Cannot use CONFIG_STACK_VALIDATION, please install libelf-dev, libelf-devel or elfutils-libelf-devel"
>
>But when building an out-of-tree module, the warning doesn't show.
>Instead it tries to use objtool, and the build fails with:
>
>  /bin/sh: ./tools/objtool/objtool: No such file or directory
>
>Make sure the warning and the disabling of objtool occur in all cases,
>by moving the CONFIG_STACK_VALIDATION checks outside the 'ifeq
>($(KBUILD_EXTMOD),)' block in the Makefile.
>
>Reported-by: Marc MERLIN <marc@merlins.org>
>Suggested-by: Jessica Yu <jeyu@redhat.com>
>Fixes: 3b27a0c85d70 ("objtool: Detect and warn if libelf is missing and don't break the build")
>Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>

With this patch the warning now prints for OOT modules, and more
importantly, the build no longer breaks for them, so:

Reviewed-by: Jessica Yu <jeyu@redhat.com>

>---
> Makefile | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
>
>diff --git a/Makefile b/Makefile
>index 8e223e0..bcf7036 100644
>--- a/Makefile
>+++ b/Makefile
>@@ -908,6 +908,18 @@ mod_sign_cmd = true
> endif
> export mod_sign_cmd
>
>+ifdef CONFIG_STACK_VALIDATION
>+  has_libelf := $(call try-run,\
>+		echo "int main() {}" | $(HOSTCC) -xc -o /dev/null -lelf -,1,0)
>+  ifeq ($(has_libelf),1)
>+    objtool_target := tools/objtool FORCE
>+  else
>+    $(warning "Cannot use CONFIG_STACK_VALIDATION, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
>+    SKIP_STACK_VALIDATION := 1
>+    export SKIP_STACK_VALIDATION
>+  endif
>+endif
>+
>
> ifeq ($(KBUILD_EXTMOD),)
> core-y		+= kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ block/
>@@ -1035,18 +1047,6 @@ prepare0: archprepare gcc-plugins
> # All the preparing..
> prepare: prepare0 prepare-objtool
>
>-ifdef CONFIG_STACK_VALIDATION
>-  has_libelf := $(call try-run,\
>-		echo "int main() {}" | $(HOSTCC) -xc -o /dev/null -lelf -,1,0)
>-  ifeq ($(has_libelf),1)
>-    objtool_target := tools/objtool FORCE
>-  else
>-    $(warning "Cannot use CONFIG_STACK_VALIDATION, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
>-    SKIP_STACK_VALIDATION := 1
>-    export SKIP_STACK_VALIDATION
>-  endif
>-endif
>-
> PHONY += prepare-objtool
> prepare-objtool: $(objtool_target)
>
>-- 
>2.7.4
>

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] objtool: fix CONFIG_STACK_VALIDATION warning for out-of-tree modules Josh Poimboeuf <jpoimboe@redhat.com> - 2017-02-15 19:30 +0100
  Re: [PATCH] objtool: fix CONFIG_STACK_VALIDATION warning for  out-of-tree modules Marc MERLIN <marc@merlins.org> - 2017-02-15 20:00 +0100
  Re: [PATCH] objtool: fix CONFIG_STACK_VALIDATION warning for  out-of-tree modules Jessica Yu <jeyu@redhat.com> - 2017-02-15 20:00 +0100
  [tip:core/urgent] objtool: Fix CONFIG_STACK_VALIDATION=y warning  for out-of-tree modules tip-bot for Josh Poimboeuf <tipbot@zytor.com> - 2017-02-20 10:50 +0100

csiph-web