Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 39021
b: refs/heads/master
c: 0a5ace2
h: refs/heads/master
i:
  39019: 0eb4fd0
v: v3
  • Loading branch information
Andi Kleen authored and Andi Kleen committed Oct 5, 2006
1 parent d6ca8c9 commit 4e50aa8
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 51ec28e1b2cb267a09a0b8eac1ccf8d61b7268bf
refs/heads/master: 0a5ace2ab08d45cd78d7ef0067cdcd5c812ac54f
7 changes: 3 additions & 4 deletions trunk/arch/x86_64/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -615,17 +615,16 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
prev->gsindex = gsindex;
}

/* Must be after DS reload */
unlazy_fpu(prev_p);

/*
* Switch the PDA and FPU contexts.
*/
prev->userrsp = read_pda(oldrsp);
write_pda(oldrsp, next->userrsp);
write_pda(pcurrent, next_p);

/* This must be here to ensure both math_state_restore() and
kernel_fpu_begin() work consistently.
And the AMD workaround requires it to be after DS reload. */
unlazy_fpu(prev_p);
write_pda(kernelstack,
(unsigned long)task_stack_page(next_p) + THREAD_SIZE - PDA_STACKOFFSET);
#ifdef CONFIG_CC_STACKPROTECTOR
Expand Down

0 comments on commit 4e50aa8

Please sign in to comment.