diff options
Diffstat (limited to 'arch/x86/kernel/signal.c')
-rw-r--r-- | arch/x86/kernel/signal.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c index 7c08795073d2..f4b205686527 100644 --- a/arch/x86/kernel/signal.c +++ b/arch/x86/kernel/signal.c | |||
@@ -593,6 +593,22 @@ badframe: | |||
593 | return 0; | 593 | return 0; |
594 | } | 594 | } |
595 | 595 | ||
596 | static inline int is_ia32_compat_frame(void) | ||
597 | { | ||
598 | return config_enabled(CONFIG_IA32_EMULATION) && | ||
599 | test_thread_flag(TIF_IA32); | ||
600 | } | ||
601 | |||
602 | static inline int is_ia32_frame(void) | ||
603 | { | ||
604 | return config_enabled(CONFIG_X86_32) || is_ia32_compat_frame(); | ||
605 | } | ||
606 | |||
607 | static inline int is_x32_frame(void) | ||
608 | { | ||
609 | return config_enabled(CONFIG_X86_X32_ABI) && test_thread_flag(TIF_X32); | ||
610 | } | ||
611 | |||
596 | static int | 612 | static int |
597 | setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs) | 613 | setup_rt_frame(struct ksignal *ksig, struct pt_regs *regs) |
598 | { | 614 | { |