diff options
author | Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> | 2009-02-20 22:00:13 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-02-22 11:54:47 -0500 |
commit | 8801ead40caa8ba9c7d47a06ff1247c166cbfd5a (patch) | |
tree | b26597ea01f5402a6a410ce73dbe06ea73d95f6a /arch/x86/ia32 | |
parent | a47e3ec197f515e25c77805f02d26f9e86456f65 (diff) |
x86: ia32_signal: introduce GET_SEG() macro
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>
Diffstat (limited to 'arch/x86/ia32')
-rw-r--r-- | arch/x86/ia32/ia32_signal.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/arch/x86/ia32/ia32_signal.c b/arch/x86/ia32/ia32_signal.c index adc63f81cb8e..8dd0903da08b 100644 --- a/arch/x86/ia32/ia32_signal.c +++ b/arch/x86/ia32/ia32_signal.c | |||
@@ -192,11 +192,15 @@ asmlinkage long sys32_sigaltstack(const stack_ia32_t __user *uss_ptr, | |||
192 | get_user_ex(regs->x, &sc->x); \ | 192 | get_user_ex(regs->x, &sc->x); \ |
193 | } | 193 | } |
194 | 194 | ||
195 | #define COPY_SEG_CPL3(seg) { \ | 195 | #define GET_SEG(seg) ({ \ |
196 | unsigned short tmp; \ | 196 | unsigned short tmp; \ |
197 | get_user_ex(tmp, &sc->seg); \ | 197 | get_user_ex(tmp, &sc->seg); \ |
198 | regs->seg = tmp | 3; \ | 198 | tmp; \ |
199 | } | 199 | }) |
200 | |||
201 | #define COPY_SEG_CPL3(seg) do { \ | ||
202 | regs->seg = GET_SEG(seg) | 3; \ | ||
203 | } while (0) | ||
200 | 204 | ||
201 | #define RELOAD_SEG(seg) { \ | 205 | #define RELOAD_SEG(seg) { \ |
202 | unsigned int cur, pre; \ | 206 | unsigned int cur, pre; \ |