mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	stacktrace: Don't skip first entry on noncurrent tasks
When doing cat /proc/<PID>/stack, the output is missing the first entry. When the current code walks the stack starting in stack_trace_save_tsk, it skips all scheduler functions (that's OK) plus one more function. But this one function should be skipped only for the 'current' task as it is stack_trace_save_tsk proper. The original code (before the common infrastructure) skipped one function only for the 'current' task -- see save_stack_trace_tsk before3599fe12a1. So do so also in the new infrastructure now. Fixes:214d8ca6ee("stacktrace: Provide common infrastructure") Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Michal Suchanek <msuchanek@suse.de> Acked-by: Josh Poimboeuf <jpoimboe@redhat.com> Link: https://lkml.kernel.org/r/20191030072545.19462-1-jslaby@suse.cz
This commit is contained in:
		
							parent
							
								
									a99d8080aa
								
							
						
					
					
						commit
						b0c51f1584
					
				
					 1 changed files with 4 additions and 2 deletions
				
			
		|  | @ -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); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Jiri Slaby
						Jiri Slaby