 /* * If the debuffer has set an invalid system call number, * we prepare to skip the system call restart handling. */ if (!entryexit && regs->gprs[2] >= NR_syscalls) regs->trap = -1; 
syscall_trace(struct pt_regs *regs, int entryexit){	if (unlikely(current->audit_context) && entryexit)		audit_syscall_exit(current, AUDITSC_RESULT(regs->gprs[2]), regs->gprs[2]);	if (!test_thread_flag(TIF_SYSCALL_TRACE))		goto out;	if (!(current->ptrace & PT_PTRACED))		goto out;	ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD)				 ? 0x80 : 0));	/*	 * this isn't the same as continuing with a signal, but it will do	 * for normal use.  strace only continues with a signal if the	 * stopping signal is not SIGTRAP.  -brl	 */	if (current->exit_code) {		send_sig(current->exit_code, current, 1);		current->exit_code = 0;	} out:	if (unlikely(current->audit_context) && !entryexit)		audit_syscall_entry(current, 				    test_thread_flag(TIF_31BIT)?AUDIT_ARCH_S390:AUDIT_ARCH_S390X,				    regs->gprs[2], regs->orig_gpr2, regs->gprs[3],				    regs->gprs[4], regs->gprs[5]);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/c5c3a6d8fe923b8780b9cd10e72344b8cf8518b5/ptrace.c/buggy/arch/s390/kernel/ptrace.c