/* Check that the stack and regs on entry from user mode are sane. */ static __always_inline void arch_enter_from_user_mode(struct pt_regs *regs)
{ if (IS_ENABLED(CONFIG_DEBUG_ENTRY)) { /* *MakesurethattheentrycodegaveusasensibleEFLAGS *register.NativebecausewewanttochecktheactualCPU *state,nottheinterruptstateasimaginedbyXen.
*/ unsignedlong flags = native_save_fl(); unsignedlong mask = X86_EFLAGS_DF | X86_EFLAGS_NT;
/* *For!SMAPhardwarewepatchoutCLAConentry.
*/ if (cpu_feature_enabled(X86_FEATURE_SMAP) ||
cpu_feature_enabled(X86_FEATURE_XENPV))
mask |= X86_EFLAGS_AC;
WARN_ON_ONCE(flags & mask);
/* We think we came from user mode. Make sure pt_regs agrees. */
WARN_ON_ONCE(!user_mode(regs));
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.