I am writing `execv(char *program, char **args)` call in [Os/161](http://www.eecs.harvard.edu/~syrah/os161/).

So, I get a copy of data user provided in program and in args in kernel space.
Then I create brand new address space to which program with args is loaded.

The question is how to find appropriate pointer to user space virtual memory in order to copyout data from kernel space to user space before doing switching into user space?