[PATCH 3/5] x86: signal: use 16 bytes boundary for rt_sigframe

From: Hiroshi Shimamoto
Date: Fri Feb 27 2009 - 13:29:23 EST


From: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx>

Impact: cleanup

Supporting xsave/xrestore introduces 64 bytes boundary for save_i387_xstate().
16 bytes boundary is OK for rt_sigframe.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@xxxxxxxxxxxxx>
---
arch/x86/kernel/signal.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c
index 5ed4533..951aa60 100644
--- a/arch/x86/kernel/signal.c
+++ b/arch/x86/kernel/signal.c
@@ -409,15 +409,13 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, size_t frame_size,
if (used_math()) {
sp -= sig_xstate_size;
*fpstate = (void __user *)round_down(sp, 64);
+
if (save_i387_xstate(*fpstate) < 0)
return (void __user *) -1L;
-
- sp -= frame_size;
- return (void __user *)round_down(sp, 16) - 8;
}

sp -= frame_size;
- return (void __user *)round_down(sp, 64) - 8;
+ return (void __user *)round_down(sp, 16) - 8;
}

static int __setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
--
1.6.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/