x86: ia32_signal: introduce GET_SEG() macro
authorHiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Sat, 21 Feb 2009 03:00:13 +0000 (19:00 -0800)
committerIngo Molnar <mingo@elte.hu>
Sun, 22 Feb 2009 16:54:47 +0000 (17:54 +0100)
Impact: cleanup

introduce GET_SEG() macro like arch/x86/kernel/signal.c.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/ia32/ia32_signal.c

index adc63f8..8dd0903 100644 (file)
@@ -192,11 +192,15 @@ asmlinkage long sys32_sigaltstack(const stack_ia32_t __user *uss_ptr,
        get_user_ex(regs->x, &sc->x);           \
 }
 
-#define COPY_SEG_CPL3(seg)     {                       \
-               unsigned short tmp;                     \
-               get_user_ex(tmp, &sc->seg);             \
-               regs->seg = tmp | 3;                    \
-}
+#define GET_SEG(seg)           ({                      \
+       unsigned short tmp;                             \
+       get_user_ex(tmp, &sc->seg);                     \
+       tmp;                                            \
+})
+
+#define COPY_SEG_CPL3(seg)     do {                    \
+       regs->seg = GET_SEG(seg) | 3;                   \
+} while (0)
 
 #define RELOAD_SEG(seg)                {               \
        unsigned int cur, pre;                  \