/* Are the current registers suitable for user mode? *(usedtomaintainsecurityinsignalhandlers)
*/ staticinlineint valid_user_regs(struct pt_regs *regs)
{ #ifndef CONFIG_CPU_V7M unsignedlong mode = regs->ARM_cpsr & MODE_MASK;
/* *UpdateITSTATEafternormalexecutionofanITblockinstruction. * *The8ITstatebitsaresplitintotwopartsinCPSR: *ITSTATE<1:0>areinCPSR<26:25> *ITSTATE<7:2>areinCPSR<15:10>
*/ staticinlineunsignedlong it_advance(unsignedlong cpsr)
{ if ((cpsr & 0x06000400) == 0) { /* ITSTATE<2:0> == 0 means end of IT block, so clear IT state */
cpsr &= ~PSR_IT_MASK;
} else { /* We need to shift left ITSTATE<4:0> */ constunsignedlong mask = 0x06001c00; /* Mask ITSTATE<4:0> */ unsignedlong it = cpsr & mask;
it <<= 1;
it |= it >> (27 - 10); /* Carry ITSTATE<2> to correct place */
it &= mask;
cpsr &= ~mask;
cpsr |= it;
} return cpsr;
}
int syscall_trace_enter(struct pt_regs *regs); void syscall_trace_exit(struct pt_regs *regs);
#endif/* __ASSEMBLY__ */ #endif
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-09-27)
¤
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.