linux/arch/x86/kernel/stacktrace.c
/*
 * This function returns an error if it detects any unreliable features of the
 * stack.  Otherwise it guarantees that the stack trace is reliable.
 *
 * If the task is not 'current', the caller *must* ensure the task is inactive.
 */
This function returns an error if it detects any unreliable features of the
stack.  Otherwise it guarantees that the stack trace is reliable.

If the task is not 'current', the caller *must* ensure the task is inactive.
This function returns an error if it detects any unreliable features of the stack . Otherwise it guarantees that the stack trace is reliable . If the task is not ' current ' the caller * must * ensure the task is inactive .
int save_stack_trace_tsk_reliable(struct task_struct *tsk,
				  struct stack_trace *trace)
{
	int ret;
	if (!try_get_task_stack(tsk))
		return 0;
	ret = __save_stack_trace_reliable(trace, tsk);
	put_task_stack(tsk);
	return ret;
}
int save_stack_trace_tsk_reliable ( struct task_struct * tsk , struct stack_trace * trace ) { int ret ; if ( ! try_get_task_stack ( tsk ) ) return 0 ; ret = __save_stack_trace_reliable ( trace , tsk ) ; put_task_stack ( tsk ) ; return ret ; }
This function returns an error if it detects any unreliable features of the
 stack.
This function returns an error if it detects any unreliable features of the stack .
/*
	 * If the task doesn't have a stack (e.g., a zombie), the stack is
	 * "reliably" empty.
	 */