diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2012-02-25 01:33:39 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2012-02-25 01:33:39 +0000 |
commit | aa10345311f71942189d0c203095172bc6c809cb (patch) | |
tree | a469e89d04f0ad36973224205f219b774b9de574 /sys/i386/linux | |
parent | 4fd3565a35475b4703734d4f9e22f362d99c5289 (diff) | |
download | src-aa10345311f71942189d0c203095172bc6c809cb.tar.gz src-aa10345311f71942189d0c203095172bc6c809cb.zip |
Do not write to the user address directly, use suword().
Reported by: Bengt Ahlgren <bengta sics se>
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=232143
Diffstat (limited to 'sys/i386/linux')
-rw-r--r-- | sys/i386/linux/linux_sysvec.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index 7634138cbd10..d4e23e18d36e 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -227,11 +227,11 @@ linux_fixup(register_t **stack_base, struct image_params *imgp) argv = *stack_base; envp = *stack_base + (imgp->args->argc + 1); (*stack_base)--; - **stack_base = (intptr_t)(void *)envp; + suword(*stack_base, (intptr_t)(void *)envp); (*stack_base)--; - **stack_base = (intptr_t)(void *)argv; + suword(*stack_base, (intptr_t)(void *)argv); (*stack_base)--; - **stack_base = imgp->args->argc; + suword(*stack_base, imgp->args->argc); return (0); } @@ -286,7 +286,7 @@ elf_linux_fixup(register_t **stack_base, struct image_params *imgp) imgp->auxargs = NULL; (*stack_base)--; - **stack_base = (register_t)imgp->args->argc; + suword(*stack_base, (register_t)imgp->args->argc); return (0); } |