/* * ..but if TF is changed by the instruction we will trace, * don't mark it as being "us" that set it, so that we * won't clear it by hand later. * * AK: this is not enough, LAHF and IRET can change TF in user space too. */ if (is_at_popf(child, regs)) return;  
static void set_singlestep(struct task_struct *child){	struct pt_regs *regs = get_child_regs(child);	/*	 * Always set TIF_SINGLESTEP - this guarantees that	 * we single-step system calls etc..  This will also	 * cause us to set TF when returning to user mode.	 */	set_tsk_thread_flag(child, TIF_SINGLESTEP);	/*	 * If TF was already set, don't do anything else	 */	if (regs->eflags & TRAP_FLAG)		return;	/* Set TF on the kernel stack.. */	regs->eflags |= TRAP_FLAG;	child->ptrace |= PT_DTRACE;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/e502cdd63de666832b3b65017bb607c22d2868de/ptrace.c/clean/arch/x86_64/kernel/ptrace.c