mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
linux-user: remove MAX_ARG_PAGES limit
Instead of creating a temporary copy for the whole environment and the arguments, directly copy everything to the target stack. For this to work, we have to change the order of stack creation and copying the arguments. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
This commit is contained in:
parent
84646ee25b
commit
59baae9a62
5 changed files with 55 additions and 75 deletions
|
@ -143,12 +143,6 @@ extern const char *qemu_uname_release;
|
|||
extern unsigned long mmap_min_addr;
|
||||
|
||||
/* ??? See if we can avoid exposing so much of the loader internals. */
|
||||
/*
|
||||
* MAX_ARG_PAGES defines the number of pages allocated for arguments
|
||||
* and envelope for the new program. 32 should suffice, this gives
|
||||
* a maximum env+arg of 128kB w/4KB pages!
|
||||
*/
|
||||
#define MAX_ARG_PAGES 33
|
||||
|
||||
/* Read a good amount of data initially, to hopefully get all the
|
||||
program headers loaded. */
|
||||
|
@ -160,7 +154,6 @@ extern unsigned long mmap_min_addr;
|
|||
*/
|
||||
struct linux_binprm {
|
||||
char buf[BPRM_BUF_SIZE] __attribute__((aligned));
|
||||
void *page[MAX_ARG_PAGES];
|
||||
abi_ulong p;
|
||||
int fd;
|
||||
int e_uid, e_gid;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue