Displaying 2 results from an estimated 2 matches for "mask_rpl".
2007 Apr 18
1
[PATCH 2/2] Transparent privilege levels in entry.S
...e_kernel
+ andl $(VM_MASK | 3), %eax
+ cmpl $3, %eax
+ jb resume_kernel
ENTRY(resume_userspace)
CLI # make sure we don't miss an interrupt
# setting need_resched or sigpending
@@ -399,10 +400,11 @@ syscall_badsys:
#define UNWIND_ESPFIX_STACK \
pushl %eax; \
movl %ss, %eax; \
+ MASK_RPL(%ax); \
/* see if on 16bit stack */ \
cmpw $__ESPFIX_SS, %ax; \
jne 28f; \
- movl $__KERNEL_DS, %edx; \
+ movl $__USER_DS, %edx; \
movl %edx, %ds; \
movl %edx, %es; \
/* switch to 32bit stack */ \
@@ -500,7 +502,7 @@ ENTRY(simd_coprocessor_error)
ENTRY(device_not_available)
pushl $-1...
2007 Apr 18
1
[PATCH 2/2] Transparent privilege levels in entry.S
...e_kernel
+ andl $(VM_MASK | 3), %eax
+ cmpl $3, %eax
+ jb resume_kernel
ENTRY(resume_userspace)
CLI # make sure we don't miss an interrupt
# setting need_resched or sigpending
@@ -399,10 +400,11 @@ syscall_badsys:
#define UNWIND_ESPFIX_STACK \
pushl %eax; \
movl %ss, %eax; \
+ MASK_RPL(%ax); \
/* see if on 16bit stack */ \
cmpw $__ESPFIX_SS, %ax; \
jne 28f; \
- movl $__KERNEL_DS, %edx; \
+ movl $__USER_DS, %edx; \
movl %edx, %ds; \
movl %edx, %es; \
/* switch to 32bit stack */ \
@@ -500,7 +502,7 @@ ENTRY(simd_coprocessor_error)
ENTRY(device_not_available)
pushl $-1...