Re: [for-linus][PATCH 08/11] recordmcount: Fix nop_mcount() function

From: Steven Rostedt
Date: Sun Oct 13 2019 - 14:57:50 EST


One problem with quilt, is that it doesn't like non-ASCII characters
(I'm looking at you Kleine-KÃnig!)

From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx>

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@xxxxxxxxxxxxxxxxxx

Reported-by: Uwe Kleine-Ãnig <u.kleine-koenig@xxxxxxxxxxxxxx>
Tested-by: Uwe Kleine-KÃnig <u.kleine-koenig@xxxxxxxxxxxxxx>
Fixes: 3f1df12019f3 ("recordmcount: Rewrite error/success handling")
Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>
---
scripts/recordmcount.h | 5 +----
1 file changed, 1 insertion(+), 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);
--
2.23.0