s390/dumpstack: get rid of return_address again
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 17 Oct 2016 11:07:46 +0000 (13:07 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 17 Oct 2016 12:44:33 +0000 (14:44 +0200)
With commit ef6000b4c670 ("Disable the __builtin_return_address()
warning globally after all)" the kernel does not warn at all again if
__builtin_return_address(n) is called with n > 0.

Besides the fact that this was a false warning on s390 anyway, due to
the always present backchain, we can now revert commit 5606330627ab
("s390/dumpstack: implement and use return_address()") again, to
simplify the code again.

After all I shouldn't have had return_address() implememted at all to
workaround this issue. So get rid of this again.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/ftrace.h
arch/s390/kernel/dumpstack.c

index 64053d9ac3f23b7cb1bf23aa42aa435b9f2ae0f8..836c56290499b84c0dad7785e9aa5979d68ed0bf 100644 (file)
@@ -12,9 +12,7 @@
 
 #ifndef __ASSEMBLY__
 
-unsigned long return_address(int depth);
-
-#define ftrace_return_address(n) return_address(n)
+#define ftrace_return_address(n) __builtin_return_address(n)
 
 void _mcount(void);
 void ftrace_caller(void);
index 4bebe72b77802c61e041e9af0ddcf6e12c037105..34345c0a3c468e2521c6bcecb8a08b27ca7f133d 100644 (file)
@@ -87,30 +87,6 @@ void dump_trace(dump_trace_func_t func, void *data, struct task_struct *task,
 }
 EXPORT_SYMBOL_GPL(dump_trace);
 
-struct return_address_data {
-       unsigned long address;
-       int depth;
-};
-
-static int __return_address(void *data, unsigned long address, int reliable)
-{
-       struct return_address_data *rd = data;
-
-       if (rd->depth--)
-               return 0;
-       rd->address = address;
-       return 1;
-}
-
-unsigned long return_address(int depth)
-{
-       struct return_address_data rd = { .depth = depth + 2 };
-
-       dump_trace(__return_address, &rd, NULL, current_stack_pointer());
-       return rd.address;
-}
-EXPORT_SYMBOL_GPL(return_address);
-
 static int show_address(void *data, unsigned long address, int reliable)
 {
        if (reliable)