H. Peter Anvin wrote:Hiroshi Shimamoto wrote:From: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx>Where did this come from? First of all, this is in a 64-bit-only file, so CONFIG_X86_32 will never be set; second of all, it seems a bit fishy that these should be different.
Make and use macro FIX_EFLAGS, instead of immediate value 0x40DD5 in
ia32_restore_sigcontext().
+
+#ifdef CONFIG_X86_32
+# define FIX_EFLAGS (__FIX_EFLAGS | X86_EFLAGS_RF)
+#else
+# define FIX_EFLAGS __FIX_EFLAGS
+#endif
+
It came from arch/x86/kernel/signal_64.c. (And signal_32.c has the same one.)
And yes, CONFIG_X86_32 is not set, I compiled and compare the results,
the macro was replaced by 0x40dd5, no RF.
I guess, someone made it same on signal_32.c and signal_64.c.