projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
dd2384a
)
x86/ldt: Correct LDT access in single stepping logic
author
Juergen Gross
<
[email protected]
>
Thu, 6 Aug 2015 08:04:38 +0000
(10:04 +0200)
committer
Ingo Molnar
<
[email protected]
>
Sat, 8 Aug 2015 08:20:45 +0000
(10:20 +0200)
Commit
37868fe113ff
("x86/ldt: Make modify_ldt synchronous")
introduced a new struct ldt_struct anchored at mm->context.ldt.
convert_ip_to_linear() was changed to reflect this, but indexing
into the ldt has to be changed as the pointer is no longer void *.
Signed-off-by: Juergen Gross <
[email protected]
>
Reviewed-by: Andy Lutomirski <
[email protected]
>
Cc: <
[email protected]
> # On top of: 37868fe113ff: x86/ldt: Make modify_ldt synchronous
Cc: Linus Torvalds <
[email protected]
>
Cc: Peter Zijlstra <
[email protected]
>
Cc: Thomas Gleixner <
[email protected]
>
Cc:
[email protected]
Link:
http://lkml.kernel.org/r/
[email protected]
Signed-off-by: Ingo Molnar <
[email protected]
>
arch/x86/kernel/step.c
patch
|
blob
|
history
diff --git
a/arch/x86/kernel/step.c
b/arch/x86/kernel/step.c
index 6273324186ac5ca7adba69be5ded69f23d8882f7..0ccb53a9fcd9361b83c7acd26e1f64601816a3d1 100644
(file)
--- a/
arch/x86/kernel/step.c
+++ b/
arch/x86/kernel/step.c
@@
-28,11
+28,11
@@
unsigned long convert_ip_to_linear(struct task_struct *child, struct pt_regs *re
struct desc_struct *desc;
unsigned long base;
- seg
&= ~7UL
;
+ seg
>>= 3
;
mutex_lock(&child->mm->context.lock);
if (unlikely(!child->mm->context.ldt ||
-
(seg >> 3)
>= child->mm->context.ldt->size))
+
seg
>= child->mm->context.ldt->size))
addr = -1L; /* bogus selector, access would fault */
else {
desc = &child->mm->context.ldt->entries[seg];