diff options
Diffstat (limited to 'sys/compat/cloudabi64/cloudabi64_module.c')
-rw-r--r-- | sys/compat/cloudabi64/cloudabi64_module.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/compat/cloudabi64/cloudabi64_module.c b/sys/compat/cloudabi64/cloudabi64_module.c index de890bc5c652..246a887105cb 100644 --- a/sys/compat/cloudabi64/cloudabi64_module.c +++ b/sys/compat/cloudabi64/cloudabi64_module.c @@ -112,7 +112,13 @@ cloudabi64_fixup(register_t **stack_base, struct image_params *imgp) { .a_type = CLOUDABI_AT_NULL }, }; *stack_base -= howmany(sizeof(auxv), sizeof(register_t)); - return (copyout(auxv, *stack_base, sizeof(auxv))); + error = copyout(auxv, *stack_base, sizeof(auxv)); + if (error != 0) + return (error); + + /* Reserve space for storing the TCB. */ + *stack_base -= howmany(sizeof(cloudabi64_tcb_t), sizeof(register_t)); + return (0); } static int |