]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/patches/suse-2.6.27.25/patches.xen/xen3-patch-2.6.27.4-5
Updated xen patches taken from suse.
[people/teissler/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.xen / xen3-patch-2.6.27.4-5
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