]> www.infradead.org Git - users/willy/xarray.git/commitdiff
x86/ptrace: Provide pt_regs helper for entry/exit
authorThomas Gleixner <tglx@linutronix.de>
Wed, 22 Jul 2020 22:00:03 +0000 (00:00 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 24 Jul 2020 13:04:58 +0000 (15:04 +0200)
As a preparatory step for moving the syscall and interrupt entry/exit
handling into generic code, provide a pt_regs helper which retrieves the
interrupt state from pt_regs. This is required to check whether interrupts
are reenabled by return from interrupt/exception.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lkml.kernel.org/r/20200722220520.258511584@linutronix.de
arch/x86/include/asm/ptrace.h

index 255b2dde2c1b7799e469eb5e75560b7f5e0a782b..40aa69d04862e1d00d82a2dd2fd5f3e7b7f495f3 100644 (file)
@@ -209,6 +209,11 @@ static inline void user_stack_pointer_set(struct pt_regs *regs,
        regs->sp = val;
 }
 
+static __always_inline bool regs_irqs_disabled(struct pt_regs *regs)
+{
+       return !(regs->flags & X86_EFLAGS_IF);
+}
+
 /* Query offset/name of register from its name/offset */
 extern int regs_query_register_offset(const char *name);
 extern const char *regs_query_register_name(unsigned int offset);