powerpc fixes for 6.6 #3
- Fix arch_stack_walk_reliable(), used by live patching. - Fix powerpc selftests to work with run_kselftest.sh Thanks to: Joe Lawrence, Petr Mladek. -----BEGIN PGP SIGNATURE----- iQJHBAABCAAxFiEEJFGtCPCthwEv2Y/bUevqPMjhpYAFAmUYGLITHG1wZUBlbGxl cm1hbi5pZC5hdQAKCRBR6+o8yOGlgMJ3D/9UqgUm8f0vIGYu2jhvTYoR+b2Dqwls PFQKqiN78gWi/8njduY1j1U4EB8fJuFS972mDV04+mvUBM1Qj/jcCDKyO0lpYb9C ns+UUYFXF5QNBNrnSUSaItPRpXPceHEcIsVMolhRMBZHvKO1sl8D+kmpmnUML3Do qf/u508Xz3oB/+hPPPF/rOew9UHTroosD5/BPmaYzvjLx+8NTtJGuQI5spqyBI80 nerphmJoE7TjA08QgbtKd15xyYd+wciADJVPRzCnOJ2SNka8D+marmFG53c1LGLc j/5gbmogy7PtKYpCDOg8XAjqs1VMggZVGECC6VRAF2+IykdQP+6eV9rGluUafbQr 51bRClOe4dUIBqr0RIbNZGA80+hb9tqVEe5J2jyO4/f9XLd49prY2OSxAIgteCt8 Ak3W8TcSKcmzx45yPyg0Xac66HmvFzvCkj8oZTLT4m+11oPjWoxNSy3040anxJ8Y htYhl5T/tsEU8ZC96y4RfP1T20HQZW4PmXsJKLW/MADy5sN7YCzpMf9G2uj4id5J fizB7tRm2CmIfHsw6e8KGJ6NrD2uJcOwLR6Y7zb7QJ0PzwgYQWfjTCMXo2D1zEak RzyaKcY/ySkFZMb1sb867nc+VFCAG1UNJiNiZKNifZ0RElx+6U2KgZTUwYYs2aj2 jdudr2tl5BwhGQ== =gh/A -----END PGP SIGNATURE----- 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()
This commit is contained in:
commit
1c9d831221
|
@ -73,29 +73,12 @@ int __no_sanitize_address arch_stack_walk_reliable(stack_trace_consume_fn consum
|
|||
bool firstframe;
|
||||
|
||||
stack_end = stack_page + THREAD_SIZE;
|
||||
if (!is_idle_task(task)) {
|
||||
/*
|
||||
* For user tasks, this is the SP value loaded on
|
||||
* kernel entry, see "PACAKSAVE(r13)" in _switch() and
|
||||
* system_call_common().
|
||||
*
|
||||
* Likewise for non-swapper kernel threads,
|
||||
* this also happens to be the top of the stack
|
||||
* as setup by copy_thread().
|
||||
*
|
||||
* Note that stack backlinks are not properly setup by
|
||||
* copy_thread() and thus, a forked task() will have
|
||||
* an unreliable stack trace until it's been
|
||||
* _switch()'ed to for the first time.
|
||||
*/
|
||||
stack_end -= STACK_USER_INT_FRAME_SIZE;
|
||||
} else {
|
||||
/*
|
||||
* idle tasks have a custom stack layout,
|
||||
* c.f. cpu_idle_thread_init().
|
||||
*/
|
||||
|
||||
// See copy_thread() for details.
|
||||
if (task->flags & PF_KTHREAD)
|
||||
stack_end -= STACK_FRAME_MIN_SIZE;
|
||||
}
|
||||
else
|
||||
stack_end -= STACK_USER_INT_FRAME_SIZE;
|
||||
|
||||
if (task == current)
|
||||
sp = current_stack_frame();
|
||||
|
|
|
@ -59,12 +59,11 @@ override define INSTALL_RULE
|
|||
done;
|
||||
endef
|
||||
|
||||
override define EMIT_TESTS
|
||||
emit_tests:
|
||||
+@for TARGET in $(SUB_DIRS); do \
|
||||
BUILD_TARGET=$(OUTPUT)/$$TARGET; \
|
||||
$(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests;\
|
||||
$(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET $@;\
|
||||
done;
|
||||
endef
|
||||
|
||||
override define CLEAN
|
||||
+@for TARGET in $(SUB_DIRS); do \
|
||||
|
@ -77,4 +76,4 @@ endef
|
|||
tags:
|
||||
find . -name '*.c' -o -name '*.h' | xargs ctags
|
||||
|
||||
.PHONY: tags $(SUB_DIRS)
|
||||
.PHONY: tags $(SUB_DIRS) emit_tests
|
||||
|
|
|
@ -30,13 +30,14 @@ override define RUN_TESTS
|
|||
+TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -C $$TARGET run_tests
|
||||
endef
|
||||
|
||||
DEFAULT_EMIT_TESTS := $(EMIT_TESTS)
|
||||
override define EMIT_TESTS
|
||||
$(DEFAULT_EMIT_TESTS)
|
||||
emit_tests:
|
||||
for TEST in $(TEST_GEN_PROGS); do \
|
||||
BASENAME_TEST=`basename $$TEST`; \
|
||||
echo "$(COLLECTION):$$BASENAME_TEST"; \
|
||||
done
|
||||
+TARGET=ebb; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
|
||||
+TARGET=sampling_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
|
||||
+TARGET=event_code_tests; BUILD_TARGET=$$OUTPUT/$$TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -s -C $$TARGET emit_tests
|
||||
endef
|
||||
|
||||
DEFAULT_INSTALL_RULE := $(INSTALL_RULE)
|
||||
override define INSTALL_RULE
|
||||
|
@ -64,4 +65,4 @@ sampling_tests:
|
|||
event_code_tests:
|
||||
TARGET=$@; BUILD_TARGET=$$OUTPUT/$$TARGET; mkdir -p $$BUILD_TARGET; $(MAKE) OUTPUT=$$BUILD_TARGET -k -C $$TARGET all
|
||||
|
||||
.PHONY: all run_tests ebb sampling_tests event_code_tests
|
||||
.PHONY: all run_tests ebb sampling_tests event_code_tests emit_tests
|
||||
|
|
Loading…
Reference in New Issue