diff --git a/sortix/x64/syscall.s b/sortix/x64/syscall.s index 1ced8ae4..392683e5 100644 --- a/sortix/x64/syscall.s +++ b/sortix/x64/syscall.s @@ -35,15 +35,6 @@ syscall_handler: movl $0, global_errno # Reset errno pushq %rbp - # Grant ourselves kernel permissions to the data segment. - movl %ds, %ebp - pushq %rbp - movw $0x10, %bp - movl %ebp, %ds - movl %ebp, %es - movl %ebp, %fs - movl %ebp, %gs - # Make sure the requested system call is valid, if not, then fix it. cmp SYSCALL_MAX, %rax jae fix_syscall @@ -58,13 +49,6 @@ valid_syscall: # Call the system call. callq *%rax - # Restore the previous permissions to data segment. - popq %rbp - movl %ebp, %ds - movl %ebp, %es - movl %ebp, %fs - movl %ebp, %gs - # Return to user-space, system call result in %rax:%rdx, errno in %ecx. popq %rbp movl global_errno, %ecx