|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] Fix the kunmap_atomic() change in 10529:4
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID cb9443bfdff811619a94bebb5346ee74e936eee8
# Parent 4b45f7f62dc77b7d4d4494fec10fed36070f5ae3
Fix the kunmap_atomic() change in
10529:4260eb8c08740de0000081c61a6237ffcb95b2d5.
Mustn't zap the PTE if the virtual address is not in kmap_atomic range!
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
linux-2.6-xen-sparse/arch/i386/mm/highmem-xen.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff -r 4b45f7f62dc7 -r cb9443bfdff8
linux-2.6-xen-sparse/arch/i386/mm/highmem-xen.c
--- a/linux-2.6-xen-sparse/arch/i386/mm/highmem-xen.c Wed Jun 28 21:51:01
2006 +0100
+++ b/linux-2.6-xen-sparse/arch/i386/mm/highmem-xen.c Thu Jun 29 10:48:07
2006 +0100
@@ -60,7 +60,7 @@ void *kmap_atomic_pte(struct page *page,
void kunmap_atomic(void *kvaddr, enum km_type type)
{
-#ifdef CONFIG_DEBUG_HIGHMEM
+#if defined(CONFIG_DEBUG_HIGHMEM) || defined(CONFIG_XEN)
unsigned long vaddr = (unsigned long) kvaddr & PAGE_MASK;
enum fixed_addresses idx = type + KM_TYPE_NR*smp_processor_id();
@@ -69,7 +69,9 @@ void kunmap_atomic(void *kvaddr, enum km
preempt_check_resched();
return;
}
+#endif
+#if defined(CONFIG_DEBUG_HIGHMEM)
if (vaddr != __fix_to_virt(FIX_KMAP_BEGIN+idx))
BUG();
@@ -86,8 +88,6 @@ void kunmap_atomic(void *kvaddr, enum km
* XXX TODO: We could make this faster by only zapping when
* kmap_flush_unused is called but that is trickier and more invasive.
*/
- unsigned long vaddr = (unsigned long) kvaddr & PAGE_MASK;
- enum fixed_addresses idx = type + KM_TYPE_NR*smp_processor_id();
pte_clear(&init_mm, vaddr, kmap_pte-idx);
#endif
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] Fix the kunmap_atomic() change in 10529:4260eb8c08740de0000081c61a6237ffcb95b2d5.,
Xen patchbot-unstable <=
|
|
|
|
|