Patchwork [1/6] ARM: linux-user: Correct size of padding in target_ucontext_v2

login
register
mail settings
Submitter Peter Maydell
Date Nov. 24, 2010, 3:20 p.m.
Message ID <1290612008-18693-2-git-send-email-peter.maydell@linaro.org>
Download mbox | patch
Permalink /patch/72900/
State New
Headers show

Comments

Peter Maydell - Nov. 24, 2010, 3:20 p.m.
The padding in the target_ucontext_v2 is defined by the size of
the target's sigset_t type, not the host's. (This bug only causes
problems when we start using the uc_regspace[] array to expose
VFP registers to userspace signal handlers.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 linux-user/signal.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Nathan Froyd - Nov. 29, 2010, 7:06 p.m.
On Wed, Nov 24, 2010 at 03:20:03PM +0000, Peter Maydell wrote:
> The padding in the target_ucontext_v2 is defined by the size of
> the target's sigset_t type, not the host's. (This bug only causes
> problems when we start using the uc_regspace[] array to expose
> VFP registers to userspace signal handlers.)
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Nathan Froyd <froydnj@codesourcery.com>

-Nathan

Patch

diff --git a/linux-user/signal.c b/linux-user/signal.c
index 77683f7..da0ba50 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -1108,7 +1108,7 @@  struct target_ucontext_v2 {
     target_stack_t tuc_stack;
     struct target_sigcontext tuc_mcontext;
     target_sigset_t  tuc_sigmask;	/* mask last for extensibility */
-    char __unused[128 - sizeof(sigset_t)];
+    char __unused[128 - sizeof(target_sigset_t)];
     abi_ulong tuc_regspace[128] __attribute__((__aligned__(8)));
 };