Commit b8a1c9f4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull s390 fixes from Alexander Gordeev:

 - Architecutre-specific ftrace recursion trylock tests were removed in
   favour of the generic function_graph_enter(), but s390 got missed.

   Remove this test for s390 as well.

 - Add ftrace_get_symaddr() for s390, which returns the symbol address
   from ftrace 'ip' parameter

* tag 's390-6.14-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/tracing: Define ftrace_get_symaddr() for s390
  s390/fgraph: Fix to remove ftrace_test_recursion_trylock()
parents b731bc5f b9995899
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ static inline unsigned long ftrace_call_adjust(unsigned long addr)
{
	return addr;
}
#define ftrace_get_symaddr(fentry_ip) ((unsigned long)(fentry_ip))

#include <linux/ftrace_regs.h>

+0 −5
Original line number Diff line number Diff line
@@ -266,18 +266,13 @@ void ftrace_graph_func(unsigned long ip, unsigned long parent_ip,
		       struct ftrace_ops *op, struct ftrace_regs *fregs)
{
	unsigned long *parent = &arch_ftrace_regs(fregs)->regs.gprs[14];
	int bit;

	if (unlikely(ftrace_graph_is_dead()))
		return;
	if (unlikely(atomic_read(&current->tracing_graph_pause)))
		return;
	bit = ftrace_test_recursion_trylock(ip, *parent);
	if (bit < 0)
		return;
	if (!function_graph_enter_regs(*parent, ip, 0, parent, fregs))
		*parent = (unsigned long)&return_to_handler;
	ftrace_test_recursion_unlock(bit);
}

#endif /* CONFIG_FUNCTION_GRAPH_TRACER */