cregit-Linux how code gets into the kernel

Release 4.14 arch/x86/include/uapi/asm/ptrace.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_ASM_X86_PTRACE_H

#define _UAPI_ASM_X86_PTRACE_H

#include <linux/compiler.h>	/* For __user */
#include <asm/ptrace-abi.h>
#include <asm/processor-flags.h>


#ifndef __ASSEMBLY__

#ifdef __i386__
/* this struct defines the way the registers are stored on the
   stack during a system call. */

#ifndef __KERNEL__


struct pt_regs {
	
long ebx;
	
long ecx;
	
long edx;
	
long esi;
	
long edi;
	
long ebp;
	
long eax;
	
int  xds;
	
int  xes;
	
int  xfs;
	
int  xgs;
	
long orig_eax;
	
long eip;
	
int  xcs;
	
long eflags;
	
long esp;
	
int  xss;
};

#endif /* __KERNEL__ */

#else /* __i386__ */

#ifndef __KERNEL__


struct pt_regs {
/*
 * C ABI says these regs are callee-preserved. They aren't saved on kernel entry
 * unless syscall needs a complete, fully filled "struct pt_regs".
 */
	
unsigned long r15;
	
unsigned long r14;
	
unsigned long r13;
	
unsigned long r12;
	
unsigned long rbp;
	
unsigned long rbx;
/* These regs are callee-clobbered. Always saved on kernel entry. */
	
unsigned long r11;
	
unsigned long r10;
	
unsigned long r9;
	
unsigned long r8;
	
unsigned long rax;
	
unsigned long rcx;
	
unsigned long rdx;
	
unsigned long rsi;
	
unsigned long rdi;
/*
 * On syscall entry, this is syscall#. On CPU exception, this is error code.
 * On hw interrupt, it's IRQ number:
 */
	
unsigned long orig_rax;
/* Return frame for iretq */
	
unsigned long rip;
	
unsigned long cs;
	
unsigned long eflags;
	
unsigned long rsp;
	
unsigned long ss;
/* top of stack page */
};

#endif /* __KERNEL__ */
#endif /* !__i386__ */



#endif /* !__ASSEMBLY__ */

#endif /* _UAPI_ASM_X86_PTRACE_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
David Howells19397.47%133.33%
Denys Vlasenko42.02%133.33%
Greg Kroah-Hartman10.51%133.33%
Total198100.00%3100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.