Hi! I'm a senior at Sognag University.
I'm trying to study OS by your project.
When I make code in my project referencing yours. There is a big problem in syscall.c.
void user_addr_check(const void *vaddr) function makes a big error when I run it. I think.... child process ended time is a little bit different... compare to the parent process. And it makes crashes.
So, I have changed this to below
case SYS_EXIT:
if(!is_user_vaddr(f->esp+4)) syscall_exit(-1);
//user_addr_check(f->esp+4);
syscall_exit((int)(f->esp+4));
break;
thank you for sharing. you are one of my best alumni.
Hi! I'm a senior at Sognag University.
I'm trying to study OS by your project.
When I make code in my project referencing yours. There is a big problem in syscall.c.
void user_addr_check(const void *vaddr) function makes a big error when I run it. I think.... child process ended time is a little bit different... compare to the parent process. And it makes crashes.
So, I have changed this to below
case SYS_EXIT:
if(!is_user_vaddr(f->esp+4)) syscall_exit(-1);
//user_addr_check(f->esp+4);
syscall_exit((int)(f->esp+4));
break;
thank you for sharing. you are one of my best alumni.