mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	new helper: current_pt_regs()
Normally (and that's the default) it's just task_pt_regs(current). However, if an architecture can optimize that, it can do so by making a macro of its own available from asm/ptrace.h. More importantly, some architectures have task_pt_regs() working only for traced tasks blocked on signal delivery. current_pt_regs() needs to work for *all* processes, so before those architectures start using stuff relying on current_pt_regs() they'll need a properly working variant. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
		
							parent
							
								
									2aa3a7f866
								
							
						
					
					
						commit
						a3460a5974
					
				
					 1 changed files with 4 additions and 0 deletions
				
			
		| 
						 | 
					@ -403,6 +403,10 @@ static inline void user_single_step_siginfo(struct task_struct *tsk,
 | 
				
			||||||
#define arch_ptrace_stop(code, info)		do { } while (0)
 | 
					#define arch_ptrace_stop(code, info)		do { } while (0)
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef current_pt_regs
 | 
				
			||||||
 | 
					#define current_pt_regs() task_pt_regs(current)
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern int task_current_syscall(struct task_struct *target, long *callno,
 | 
					extern int task_current_syscall(struct task_struct *target, long *callno,
 | 
				
			||||||
				unsigned long args[6], unsigned int maxargs,
 | 
									unsigned long args[6], unsigned int maxargs,
 | 
				
			||||||
				unsigned long *sp, unsigned long *pc);
 | 
									unsigned long *sp, unsigned long *pc);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue