Where clone takes all parameters as arguments, clone3 accepts arguments packaged in a struct clone_args. As a result, handling differs from clone handling since we first need to unpack clone_args into mambo's struct sys_clone_args.
IMPORTANT: the child stack pointer passed to clone points to the bottom of the child stack. The child stack pointer passed to clone3 points to the top of the child stack and needs to be manually set to point to the bottom of the stack.
This commit adds handling for the clone3 syscall
Where clone takes all parameters as arguments, clone3 accepts arguments packaged in a struct clone_args. As a result, handling differs from clone handling since we first need to unpack clone_args into mambo's struct sys_clone_args.
IMPORTANT: the child stack pointer passed to clone points to the bottom of the child stack. The child stack pointer passed to clone3 points to the top of the child stack and needs to be manually set to point to the bottom of the stack.