Hi, Youling,In this case, most of the code will be checked twice by unwind_done(),
[...]
These unwinder functions are exported by "EXPORT_SYMBOL_GPL".+unsigned long unwind_get_return_address(struct unwind_state *state)This judgment can be removed, because unwind_done() has been judged
+{
+ if (unwind_done(state))
+ return 0;
before entering this function, and unwind_get_return_address will not
be called if it is true.
What's more, new ways to use them will be added in the future possible.
Assuming has judged unwind_done is not reliable.