qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] linux-user: Assert stack used for auxvec, envp, arg


From: James Hogan
Subject: [Qemu-devel] [PATCH] linux-user: Assert stack used for auxvec, envp, argv
Date: Tue, 25 Mar 2014 23:21:50 +0000

Assert that the amount of stack space used for auxvec, envp & argv
exactly matches the amount allocated. This catches if DLINFO_ITEMS isn't
updated when another NEW_AUX_ENT is added.

Signed-off-by: James Hogan <address@hidden>
Cc: Riku Voipio <address@hidden>
Cc: Peter Maydell <address@hidden>
---
This should be applied after "linux-user: Correct DLINFO_ITEMS" or the
assert will fail.

Tested with linux-user-test-0.3 before and after fixing DLINFO_ITEMS.
---
 linux-user/elfload.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index d2380b6..ecf6f35 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -1455,6 +1455,8 @@ static abi_ulong create_elf_tables(abi_ulong p, int argc, 
int envc,
     info->auxv_len = sp_auxv - sp;
 
     sp = loader_build_argptr(envc, argc, sp, p, 0);
+    /* Check the right amount of stack was allocated for auxvec, envp & argv. 
*/
+    assert(sp_auxv - sp == size);
     return sp;
 }
 
-- 
1.8.3.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]