Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'powerpc-6.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

Pull powerpc fixes from Michael Ellerman:

- Fix arch_stack_walk_reliable(), used by live patching

- Fix powerpc selftests to work with run_kselftest.sh

Thanks to Joe Lawrence and Petr Mladek.

* tag 'powerpc-6.6-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
selftests/powerpc: Fix emit_tests to work with run_kselftest.sh
powerpc/stacktrace: Fix arch_stack_walk_reliable()

+14 -31
+5 -22
arch/powerpc/kernel/stacktrace.c
··· 73 73 bool firstframe; 74 74 75 75 stack_end = stack_page + THREAD_SIZE; 76 - if (!is_idle_task(task)) { 77 - /* 78 - * For user tasks, this is the SP value loaded on 79 - * kernel entry, see "PACAKSAVE(r13)" in _switch() and 80 - * system_call_common(). 81 - * 82 - * Likewise for non-swapper kernel threads, 83 - * this also happens to be the top of the stack 84 - * as setup by copy_thread(). 85 - * 86 - * Note that stack backlinks are not properly setup by 87 - * copy_thread() and thus, a forked task() will have 88 - * an unreliable stack trace until it's been 89 - * _switch()'ed to for the first time. 90 - */ 91 - stack_end -= STACK_USER_INT_FRAME_SIZE; 92 - } else { 93 - /* 94 - * idle tasks have a custom stack layout, 95 - * c.f. cpu_idle_thread_init(). 96 - */ 76 + 77 + // See copy_thread() for details. 78 + if (task->flags & PF_KTHREAD) 97 79 stack_end -= STACK_FRAME_MIN_SIZE; 98 - } 80 + else 81 + stack_end -= STACK_USER_INT_FRAME_SIZE; 99 82 100 83 if (task == current) 101 84 sp = current_stack_frame();
+3 -4
tools/testing/selftests/powerpc/Makefile
··· 59 59 done; 60 60 endef 61 61 62 - override define EMIT_TESTS 62 + emit_tests: 63 63 +@for TARGET in $(SUB_DIRS); do \ 64 64 BUILD_TARGET=$(OUTPUT)/$$TARGET; \ 65 - $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests;\ 65 + $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET $@;\ 66 66 done; 67 - endef 68 67 69 68 override define CLEAN 70 69 +@for TARGET in $(SUB_DIRS); do \ ··· 76 77 tags: 77 78 find . -name '*.c' -o -name '*.h' | xargs ctags 78 79 79 - .PHONY: tags $(SUB_DIRS) 80 + .PHONY: tags $(SUB_DIRS) emit_tests
+6 -5
tools/testing/selftests/powerpc/pmu/Makefile
··· 30 30 +TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests 31 31 endef 32 32 33 - DEFAULT_EMIT_TESTS := $(EMIT_TESTS) 34 - override define EMIT_TESTS 35 - $(DEFAULT_EMIT_TESTS) 33 + emit_tests: 34 + for TEST in $(TEST_GEN_PROGS); do \ 35 + BASENAME_TEST=`basename $$TEST`; \ 36 + echo "$(COLLECTION):$$BASENAME_TEST"; \ 37 + done 36 38 +TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests 37 39 +TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests 38 40 +TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests 39 - endef 40 41 41 42 DEFAULT_INSTALL_RULE := $(INSTALL_RULE) 42 43 override define INSTALL_RULE ··· 65 64 event_code_tests: 66 65 TARGET=$@; BUILD_TARGET=$$OUTPUT/$$TARGET; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $$TARGET all 67 66 68 - .PHONY: all run_tests ebb sampling_tests event_code_tests 67 + .PHONY: all run_tests ebb sampling_tests event_code_tests emit_tests