From: Greg Kroah-Hartman Date: Tue, 3 May 2022 14:21:59 +0000 (+0200) Subject: 5.10-stable patches X-Git-Tag: v5.4.192~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=92fadac8eadce9072b08eba42752c0b18e76e803;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: perf-symbol-remove-arch__symbols__fixup_end.patch --- diff --git a/queue-5.10/perf-symbol-remove-arch__symbols__fixup_end.patch b/queue-5.10/perf-symbol-remove-arch__symbols__fixup_end.patch new file mode 100644 index 00000000000..2560019b211 --- /dev/null +++ b/queue-5.10/perf-symbol-remove-arch__symbols__fixup_end.patch @@ -0,0 +1,126 @@ +From a5d20d42a2f2dc2b2f9e9361912062732414090d Mon Sep 17 00:00:00 2001 +From: Namhyung Kim +Date: Fri, 15 Apr 2022 17:40:48 -0700 +Subject: perf symbol: Remove arch__symbols__fixup_end() + +From: Namhyung Kim + +commit a5d20d42a2f2dc2b2f9e9361912062732414090d upstream. + +Now the generic code can handle kallsyms fixup properly so no need to +keep the arch-functions anymore. + +Fixes: 3cf6a32f3f2a4594 ("perf symbols: Fix symbol size calculation condition") +Signed-off-by: Namhyung Kim +Acked-by: Ian Rogers +Cc: Heiko Carstens +Cc: Ingo Molnar +Cc: Jiri Olsa +Cc: John Garry +Cc: Leo Yan +Cc: Mark Rutland +Cc: Masami Hiramatsu +Cc: Mathieu Poirier +Cc: Michael Ellerman +Cc: Michael Petlan +Cc: Peter Zijlstra +Cc: Song Liu +Cc: Will Deacon +Cc: linux-s390@vger.kernel.org +Cc: linuxppc-dev@lists.ozlabs.org +Link: https://lore.kernel.org/r/20220416004048.1514900-4-namhyung@kernel.org +Signed-off-by: Arnaldo Carvalho de Melo +Signed-off-by: Greg Kroah-Hartman +--- + tools/perf/arch/arm64/util/Build | 1 - + tools/perf/arch/arm64/util/machine.c | 27 --------------------------- + tools/perf/arch/s390/util/machine.c | 16 ---------------- + tools/perf/util/symbol.c | 5 ----- + tools/perf/util/symbol.h | 1 - + 5 files changed, 50 deletions(-) + delete mode 100644 tools/perf/arch/powerpc/util/machine.c + +--- a/tools/perf/arch/arm64/util/Build ++++ b/tools/perf/arch/arm64/util/Build +@@ -1,5 +1,4 @@ + perf-y += header.o +-perf-y += machine.o + perf-y += perf_regs.o + perf-y += tsc.o + perf-$(CONFIG_DWARF) += dwarf-regs.o +--- a/tools/perf/arch/arm64/util/machine.c ++++ /dev/null +@@ -1,27 +0,0 @@ +-// SPDX-License-Identifier: GPL-2.0 +- +-#include +-#include +-#include "debug.h" +-#include "symbol.h" +- +-/* On arm64, kernel text segment start at high memory address, +- * for example 0xffff 0000 8xxx xxxx. Modules start at a low memory +- * address, like 0xffff 0000 00ax xxxx. When only samll amount of +- * memory is used by modules, gap between end of module's text segment +- * and start of kernel text segment may be reach 2G. +- * Therefore do not fill this gap and do not assign it to the kernel dso map. +- */ +- +-#define SYMBOL_LIMIT (1 << 12) /* 4K */ +- +-void arch__symbols__fixup_end(struct symbol *p, struct symbol *c) +-{ +- if ((strchr(p->name, '[') && strchr(c->name, '[') == NULL) || +- (strchr(p->name, '[') == NULL && strchr(c->name, '['))) +- /* Limit range of last symbol in module and kernel */ +- p->end += SYMBOL_LIMIT; +- else +- p->end = c->start; +- pr_debug4("%s sym:%s end:%#lx\n", __func__, p->name, p->end); +-} +--- a/tools/perf/arch/s390/util/machine.c ++++ b/tools/perf/arch/s390/util/machine.c +@@ -34,19 +34,3 @@ int arch__fix_module_text_start(u64 *sta + + return 0; + } +- +-/* On s390 kernel text segment start is located at very low memory addresses, +- * for example 0x10000. Modules are located at very high memory addresses, +- * for example 0x3ff xxxx xxxx. The gap between end of kernel text segment +- * and beginning of first module's text segment is very big. +- * Therefore do not fill this gap and do not assign it to the kernel dso map. +- */ +-void arch__symbols__fixup_end(struct symbol *p, struct symbol *c) +-{ +- if (strchr(p->name, '[') == NULL && strchr(c->name, '[')) +- /* Last kernel symbol mapped to end of page */ +- p->end = roundup(p->end, page_size); +- else +- p->end = c->start; +- pr_debug4("%s sym:%s end:%#lx\n", __func__, p->name, p->end); +-} +--- a/tools/perf/util/symbol.c ++++ b/tools/perf/util/symbol.c +@@ -101,11 +101,6 @@ static int prefix_underscores_count(cons + return tail - str; + } + +-void __weak arch__symbols__fixup_end(struct symbol *p, struct symbol *c) +-{ +- p->end = c->start; +-} +- + const char * __weak arch__normalize_symbol_name(const char *name) + { + return name; +--- a/tools/perf/util/symbol.h ++++ b/tools/perf/util/symbol.h +@@ -230,7 +230,6 @@ const char *arch__normalize_symbol_name( + #define SYMBOL_A 0 + #define SYMBOL_B 1 + +-void arch__symbols__fixup_end(struct symbol *p, struct symbol *c); + int arch__compare_symbol_names(const char *namea, const char *nameb); + int arch__compare_symbol_names_n(const char *namea, const char *nameb, + unsigned int n); diff --git a/queue-5.10/series b/queue-5.10/series index 00638a24c07..a7dbf2ea46d 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -126,3 +126,4 @@ tty-n_gsm-fix-wrong-command-frame-length-field-encoding.patch tty-n_gsm-fix-reset-fifo-race-condition.patch tty-n_gsm-fix-incorrect-ua-handling.patch tty-n_gsm-fix-software-flow-control-handling.patch +perf-symbol-remove-arch__symbols__fixup_end.patch