diff options
Diffstat (limited to 'kernel/stacktrace.c')
| -rw-r--r-- | kernel/stacktrace.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/stacktrace.c b/kernel/stacktrace.c index 6d1f68b7e528..c9ea7eb2cb1a 100644 --- a/kernel/stacktrace.c +++ b/kernel/stacktrace.c @@ -141,7 +141,8 @@ unsigned int stack_trace_save_tsk(struct task_struct *tsk, unsigned long *store,  	struct stacktrace_cookie c = {  		.store	= store,  		.size	= size, -		.skip	= skipnr + 1, +		/* skip this function if they are tracing us */ +		.skip	= skipnr + !!(current == tsk),  	};  	if (!try_get_task_stack(tsk)) @@ -298,7 +299,8 @@ unsigned int stack_trace_save_tsk(struct task_struct *task,  	struct stack_trace trace = {  		.entries	= store,  		.max_entries	= size, -		.skip		= skipnr + 1, +		/* skip this function if they are tracing us */ +		.skip	= skipnr + !!(current == task),  	};  	save_stack_trace_tsk(task, &trace);  | 
