]>
Commit | Line | Data |
---|---|---|
2cb7cef9 BS |
1 | From: Greg Kroah-Hartman <gregkh@suse.de> |
2 | Subject: Linux 2.6.27.5 | |
3 | ||
4 | Upstream 2.6.27.5 release from kernel.org | |
5 | ||
6 | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | |
7 | ||
8 | Automatically created from "patches.kernel.org/patch-2.6.27.4-5" by xen-port-patches.py | |
9 | ||
10 | Index: head-2008-11-25/arch/x86/kernel/process_64-xen.c | |
11 | =================================================================== | |
12 | --- head-2008-11-25.orig/arch/x86/kernel/process_64-xen.c 2008-11-25 13:34:32.000000000 +0100 | |
13 | +++ head-2008-11-25/arch/x86/kernel/process_64-xen.c 2008-11-10 12:12:28.000000000 +0100 | |
14 | @@ -786,12 +786,12 @@ unsigned long get_wchan(struct task_stru | |
15 | if (!p || p == current || p->state==TASK_RUNNING) | |
16 | return 0; | |
17 | stack = (unsigned long)task_stack_page(p); | |
18 | - if (p->thread.sp < stack || p->thread.sp > stack+THREAD_SIZE) | |
19 | + if (p->thread.sp < stack || p->thread.sp >= stack+THREAD_SIZE) | |
20 | return 0; | |
21 | fp = *(u64 *)(p->thread.sp); | |
22 | do { | |
23 | if (fp < (unsigned long)stack || | |
24 | - fp > (unsigned long)stack+THREAD_SIZE) | |
25 | + fp >= (unsigned long)stack+THREAD_SIZE) | |
26 | return 0; | |
27 | ip = *(u64 *)(fp+8); | |
28 | if (!in_sched_functions(ip)) | |
29 | Index: head-2008-11-25/arch/x86/mm/pat-xen.c | |
30 | =================================================================== | |
31 | --- head-2008-11-25.orig/arch/x86/mm/pat-xen.c 2008-11-27 09:35:47.000000000 +0100 | |
32 | +++ head-2008-11-25/arch/x86/mm/pat-xen.c 2008-11-27 09:36:36.000000000 +0100 | |
33 | @@ -415,12 +415,16 @@ static inline int range_is_allowed(unsig | |
34 | return 1; | |
35 | } | |
36 | #else | |
37 | +/* This check is needed to avoid cache aliasing when PAT is enabled */ | |
38 | static inline int range_is_allowed(unsigned long mfn, unsigned long size) | |
39 | { | |
40 | u64 from = ((u64)mfn) << PAGE_SHIFT; | |
41 | u64 to = from + size; | |
42 | u64 cursor = from; | |
43 | ||
44 | + if (!pat_enabled) | |
45 | + return 1; | |
46 | + | |
47 | while (cursor < to) { | |
48 | if (!devmem_is_allowed(mfn)) { | |
49 | printk(KERN_INFO |