summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2019-10-09 11:05:38 -0400
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2019-10-12 20:49:33 -0400
commit7f8557b88d6aa5bf31f25f6013d81355a1b1d48d (patch)
treebe090a9734dde6117e3777e18637586fe8a2c7e9
parentbf8e602186ec402ed937b2cbd6c39a34c0029757 (diff)
downloadlinux-stable-7f8557b88d6aa5bf31f25f6013d81355a1b1d48d.tar.gz
linux-stable-7f8557b88d6aa5bf31f25f6013d81355a1b1d48d.tar.bz2
linux-stable-7f8557b88d6aa5bf31f25f6013d81355a1b1d48d.zip
recordmcount: Fix nop_mcount() function
The removal of the longjmp code in recordmcount.c mistakenly made the return of make_nop() being negative an exit of nop_mcount(). It should not exit the routine, but instead just not process that part of the code. By exiting with an error code, it would cause the update of recordmcount to fail some files which would fail the build if ftrace function tracing was enabled. Link: http://lkml.kernel.org/r/20191009110538.5909fec6@gandalf.local.home Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Tested-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Fixes: 3f1df12019f3 ("recordmcount: Rewrite error/success handling") Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r--scripts/recordmcount.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/scripts/recordmcount.h b/scripts/recordmcount.h
index 8f0a278ce0af..74eab03e31d4 100644
--- a/scripts/recordmcount.h
+++ b/scripts/recordmcount.h
@@ -389,11 +389,8 @@ static int nop_mcount(Elf_Shdr const *const relhdr,
mcountsym = get_mcountsym(sym0, relp, str0);
if (mcountsym == Elf_r_sym(relp) && !is_fake_mcount(relp)) {
- if (make_nop) {
+ if (make_nop)
ret = make_nop((void *)ehdr, _w(shdr->sh_offset) + _w(relp->r_offset));
- if (ret < 0)
- return -1;
- }
if (warn_on_notrace_sect && !once) {
printf("Section %s has mcount callers being ignored\n",
txtname);