fanghuilin / rpms / kernel

Forked from rpms/kernel 3 years ago
Clone
e293be
diff -up ./arch/x86/kernel/unwind_frame.c.unwind ./arch/x86/kernel/unwind_frame.c
e293be
--- ./arch/x86/kernel/unwind_frame.c.unwind	2018-03-22 06:40:12.000000000 +0900
e293be
+++ ./arch/x86/kernel/unwind_frame.c	2018-04-17 21:03:45.000000000 +0900
e293be
@@ -43,6 +43,7 @@ static bool update_stack_state(struct un
e293be
 	return true;
e293be
 }
e293be
 
e293be
+#ifdef CONFIG_X86_64
e293be
 extern const unsigned long __start___unwind_unsafe_stack[],
e293be
 			   __stop___unwind_unsafe_stack[];
e293be
 
e293be
@@ -57,6 +58,7 @@ static bool unwind_unsafe(struct unwind_
e293be
 
e293be
 	return false;
e293be
 }
e293be
+
e293be
 extern const unsigned long __start___unwind_end_of_stack[],
e293be
 			   __stop___unwind_end_of_stack[],
e293be
 			   ret_from_fork_nospec_begin[],
e293be
@@ -82,6 +84,7 @@ static bool unwind_end(struct unwind_sta
e293be
 
e293be
 	return false;
e293be
 }
e293be
+#endif
e293be
 
e293be
 bool unwind_next_frame(struct unwind_state *state)
e293be
 {
e293be
@@ -90,11 +93,13 @@ bool unwind_next_frame(struct unwind_sta
e293be
 	if (unwind_done(state))
e293be
 		return false;
e293be
 
e293be
+#ifdef CONFIG_X86_64
e293be
 	if (unwind_unsafe(state))
e293be
 		state->error = true;
e293be
 
e293be
 	if (unwind_end(state))
e293be
 		goto the_end;
e293be
+#endif
e293be
 
e293be
 	next_bp = (unsigned long *)READ_ONCE(*state->bp);
e293be